End-to-end policy CSIT
[integration/csit.git] / plans / policy / drools-applications / setup.sh
index 24422a6..1a1dc33 100755 (executable)
@@ -1,7 +1,8 @@
 #!/bin/bash
-# ============LICENSE_START=======================================================
-#  Copyright (C) 2019 AT&T Intellectual Property. All rights reserved.
-# ================================================================================
+#
+# ===========LICENSE_START====================================================
+#  Copyright (C) 2019-2020 AT&T Intellectual Property. All rights reserved.
+# ============================================================================
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
 # You may obtain a copy of the License at
 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 # See the License for the specific language governing permissions and
 # limitations under the License.
+# ============LICENSE_END=====================================================
 #
-# SPDX-License-Identifier: Apache-2.0
-# ============LICENSE_END=========================================================
+
+# OS upgrades
+
+source ${SCRIPTS}/policy/config/policy-csit.conf
+export POLICY_MARIADB_VER
+echo ${GERRIT_BRANCH}
+echo ${POLICY_MARIADB_VER}
+
+SCR2=${WORKSPACE}/scripts/policy/drools-apps
 
 echo "Uninstall docker-py and reinstall docker."
 pip uninstall -y docker-py
 pip uninstall -y docker
 pip install -U docker==2.7.0
 
-docker login -u docker -p docker nexus3.onap.org:10001
+sudo apt-get -y install libxml2-utils
+${SCRIPTS}/policy/policy-models-simulators.sh
+
+POLICY_API_VERSION_EXTRACT="$(curl -q --silent https://git.onap.org/policy/api/plain/pom.xml?h=${GERRIT_BRANCH} | xmllint --xpath '/*[local-name()="project"]/*[local-name()="version"]/text()' -)"
+export POLICY_API_VERSION="${POLICY_API_VERSION_EXTRACT:0:3}-SNAPSHOT-latest"
+POLICY_PAP_VERSION_EXTRACT="$(curl -q --silent https://git.onap.org/policy/pap/plain/pom.xml?h=${GERRIT_BRANCH} | xmllint --xpath '/*[local-name()="project"]/*[local-name()="version"]/text()' -)"
+export POLICY_PAP_VERSION="${POLICY_PAP_VERSION_EXTRACT:0:3}-SNAPSHOT-latest"
+POLICY_XACML_PDP_VERSION_EXTRACT="$(curl -q --silent https://git.onap.org/policy/xacml-pdp/plain/pom.xml?h=${GERRIT_BRANCH} | xmllint --xpath '/*[local-name()="project"]/*[local-name()="version"]/text()' -)"
+export POLICY_XACML_PDP_VERSION="${POLICY_XACML_PDP_VERSION_EXTRACT:0:3}-SNAPSHOT-latest"
+POLICY_DROOLS_APPS_VERSION_EXTRACT="$(curl -q --silent https://git.onap.org/policy/drools-applications/plain/pom.xml?h=${GERRIT_BRANCH} | xmllint --xpath '/*[local-name()="project"]/*[local-name()="version"]/text()' -)"
+echo ${POLICY_DROOLS_APPS_VERSION_EXTRACT}
+export POLICY_DROOLS_APPS_VERSION="${POLICY_DROOLS_APPS_VERSION_EXTRACT:0:3}-SNAPSHOT-latest"
+
+echo ${POLICY_XACML_PDP_VERSION}
+echo ${POLICY_DROOLS_APPS_VERSION}
+
+echo "user information: $(id)"
+echo "docker and docker-compose versions:"
+docker -v && docker-compose -v
+
+# Adding this waiting container due to race condition between drools and mariadb
+docker-compose -f ${SCR2}/docker-compose-drools-apps.yml run --rm start_dependencies
 
-# Adding this waiting container to avoid race condition between api and mariadb containers.
-docker-compose -f ${WORKSPACE}/scripts/policy/docker-compose-drools-apps.yml run --rm start_dependencies
-docker logs mariadb
-docker container ls -a
+# Adding this waiting container due to race condition between pap and xacml
+docker-compose -f ${SCR2}/docker-compose-drools-apps.yml run --rm start_pap
 
-docker-compose -f ${WORKSPACE}/scripts/policy/docker-compose-drools-apps.yml up -d
-sleep 1m
+# now bring everything else up
+docker-compose -f ${SCR2}/docker-compose-drools-apps.yml run --rm start_all
 
-docker logs mariadb
-docker logs drools
-docker container ls -a
+unset http_proxy https_proxy
 
-POLICY_DROOLS_IP=`get-instance-ip.sh drools`
-MARIADB_IP=`get-instance-ip.sh mariadb`
+DROOLS_IP=`get-instance-ip.sh drools`
+API_IP=`get-instance-ip.sh policy-api`
+PAP_IP=`get-instance-ip.sh policy-pap`
+XACML_IP=`get-instance-ip.sh policy-xacml-pdp`
+SIM_IP=`get-instance-ip.sh policy.api.simpledemo.onap.org`
+export SIM_IP
 
-echo DROOLS IP IS ${POLICY_DROOLS_IP}
-echo MARIADB IP IS ${MARIADB_IP}
+echo DROOLS IP IS ${DROOLS_IP}
+echo API IP IS ${API_IP}
+echo PAP IP IS ${PAP_IP}
+echo XACML IP IS ${XACML_IP}
+echo SIMULATORS IP IS ${SIM_IP}
 
-# Wait for initialization
-for i in {1..10}; do
-   curl -sS ${MARIADB_IP}:3306 && break
-   echo sleep $i
-   sleep $i
-done
+# give enough time for the controllers to come up
+sleep 15
 
-for i in {1..10}; do
-   curl -sS ${POLICY_DROOLS_IP}:6969 && break
-   echo sleep $i
-   sleep $i
-done
+DATA=${WORKSPACE}/simulators/models/models-examples/src/main/resources/policies
 
-ROBOT_VARIABLES="-v POLICY_DROOLS_IP:${POLICY_DROOLS_IP}"
+ROBOT_VARIABLES=""
+ROBOT_VARIABLES="${ROBOT_VARIABLES} -v SCR2:${SCR2}"
+ROBOT_VARIABLES="${ROBOT_VARIABLES} -v DATA:${DATA}"
+ROBOT_VARIABLES="${ROBOT_VARIABLES} -v DROOLS_IP:${DROOLS_IP}"
+ROBOT_VARIABLES="${ROBOT_VARIABLES} -v API_IP:${API_IP}"
+ROBOT_VARIABLES="${ROBOT_VARIABLES} -v PAP_IP:${PAP_IP}"
+ROBOT_VARIABLES="${ROBOT_VARIABLES} -v XACML_IP:${XACML_IP}"
+ROBOT_VARIABLES="${ROBOT_VARIABLES} -v SIM_IP:${SIM_IP}"