Finish drools CSIT infra
Basic health check for now. Need to have ci-management
jobs enabled for this to work on every merge.
Cleaning out unused scripts and mock server. Renaming
policy engine script so its obvious that is what it is for.
Issue-ID: POLICY-1651
Change-Id: I469823795d4a9f5531d150610ba2ed0b75585677
Signed-off-by: pdragosh <pdragosh@research.att.com>
Signed-off-by: Pamela Dragosh <pdragosh@research.att.com>
Signed-off-by: pdragosh <pdragosh@research.att.com>
Signed-off-by: jhh <jorge.hernandez-herrero@att.com>
diff --git a/scripts/policy/engine.sh b/scripts/policy/engine.sh
new file mode 100755
index 0000000..b806cec
--- /dev/null
+++ b/scripts/policy/engine.sh
@@ -0,0 +1,208 @@
+#!/bin/bash
+#
+# Copyright 2017-2018 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
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# 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.
+#
+echo "This is ${WORKSPACE}/scripts/policy/engine.sh"
+
+
+# the directory of the script
+DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
+echo ${DIR}
+
+# the temp directory used, within $DIR
+# omit the -p parameter to create a temporal directory in the default location
+WORK_DIR=`mktemp -d -p "$DIR"`
+echo ${WORK_DIR}
+
+cd ${WORK_DIR}
+
+# check if tmp dir was created
+if [[ ! "$WORK_DIR" || ! -d "$WORK_DIR" ]]; then
+ echo "Could not create temp dir"
+ exit 1
+fi
+
+# bring down maven
+mkdir maven
+cd maven
+curl -O http://apache.claz.org/maven/maven-3/3.3.9/binaries/apache-maven-3.3.9-bin.tar.gz
+tar -xzvf apache-maven-3.3.9-bin.tar.gz
+ls -l
+export PATH=${PATH}:${WORK_DIR}/maven/apache-maven-3.3.9/bin
+${WORK_DIR}/maven/apache-maven-3.3.9/bin/mvn -v
+cd ..
+
+ifconfig
+
+export IP=`ip route get 8.8.8.8 | awk '/8.8.8.8/ {print $NF}'`
+if [ -z "$IP" ]; then
+ echo "Could not determine IP address"
+ exit 1
+fi
+echo $IP
+
+if ! ifconfig docker0; then
+ export DOCKER_IP="$IP"
+else
+ export DOCKER_IP=`ifconfig docker0 | awk -F: '/inet addr/ {gsub(/ .*/,"",$2); print $2}'`
+fi
+echo $DOCKER_IP
+
+git clone http://gerrit.onap.org/r/oparent
+
+git clone http://gerrit.onap.org/r/policy/engine
+cd engine/packages/docker
+${WORK_DIR}/maven/apache-maven-3.3.9/bin/mvn prepare-package --settings ${WORK_DIR}/oparent/settings.xml
+docker build -t onap/policy-pe target/policy-pe
+
+cd ${WORK_DIR}
+git clone http://gerrit.onap.org/r/policy/drools-pdp
+cd drools-pdp/packages/docker
+${WORK_DIR}/maven/apache-maven-3.3.9/bin/mvn prepare-package --settings ${WORK_DIR}/oparent/settings.xml
+docker build -t onap/policy-drools target/policy-drools
+
+cd ${WORK_DIR}
+git clone http://gerrit.onap.org/r/policy/docker
+cd docker
+
+chmod +x config/drools/drools-tweaks.sh
+
+echo $IP > config/pe/ip_addr.txt
+ls -l config/pe/ip_addr.txt
+cat config/pe/ip_addr.txt
+
+export MTU=9126
+
+export PRELOAD_POLICIES=false
+docker-compose -f docker-compose-integration.yml up -d
+
+if [ ! $? -eq 0 ]; then
+ echo "Docker compose failed"
+ exit 1
+fi
+
+docker ps
+
+POLICY_IP=`docker inspect --format '{{ .NetworkSettings.Networks.docker_default.IPAddress}}' drools`
+echo ${POLICY_IP}
+
+PDP_IP=`docker inspect --format '{{ .NetworkSettings.Networks.docker_default.IPAddress}}' pdp`
+echo ${PDP_IP}
+
+PAP_IP=`docker inspect --format '{{ .NetworkSettings.Networks.docker_default.IPAddress}}' pap`
+echo ${PAP_IP}
+
+BRMS_IP=`docker inspect --format '{{ .NetworkSettings.Networks.docker_default.IPAddress}}' brmsgw`
+echo ${BRMS_IP}
+
+NEXUS_IP=`docker inspect --format '{{ .NetworkSettings.Networks.docker_default.IPAddress}}' nexus`
+echo ${NEXUS_IP}
+
+MARIADB_IP=`docker inspect --format '{{ .NetworkSettings.Networks.docker_default.IPAddress}}' mariadb`
+echo ${MARIADB_IP}
+
+sleep 3m
+
+docker logs mariadb 2>&1 | grep -q "mysqld: ready for connections"
+if [ $? -eq 0 ]; then
+ # mariadb is ok - sleep a little longer for others
+ sleep 2m
+
+else
+ echo mariadb is not ready
+ echo Restarting...
+
+ docker kill drools pdp pap brmsgw nexus mariadb
+ docker rm -f drools pdp pap brmsgw nexus mariadb
+
+ docker-compose -f docker-compose-integration.yml up -d
+
+ if [ ! $? -eq 0 ]; then
+ echo "Docker compose failed"
+ exit 1
+ fi
+
+ docker ps
+
+ POLICY_IP=`docker inspect --format '{{ .NetworkSettings.Networks.docker_default.IPAddress}}' drools`
+ echo ${POLICY_IP}
+
+ PDP_IP=`docker inspect --format '{{ .NetworkSettings.Networks.docker_default.IPAddress}}' pdp`
+ echo ${PDP_IP}
+
+ PAP_IP=`docker inspect --format '{{ .NetworkSettings.Networks.docker_default.IPAddress}}' pap`
+ echo ${PAP_IP}
+
+ BRMS_IP=`docker inspect --format '{{ .NetworkSettings.Networks.docker_default.IPAddress}}' brmsgw`
+ echo ${BRMS_IP}
+
+ NEXUS_IP=`docker inspect --format '{{ .NetworkSettings.Networks.docker_default.IPAddress}}' nexus`
+ echo ${NEXUS_IP}
+
+ MARIADB_IP=`docker inspect --format '{{ .NetworkSettings.Networks.docker_default.IPAddress}}' mariadb`
+ echo ${MARIADB_IP}
+
+ sleep 5m
+fi
+
+netstat -tnl
+
+docker logs mariadb
+${DIR}/wait_for_port.sh ${MARIADB_IP} 3306
+
+docker logs pap
+${DIR}/wait_for_port.sh ${PAP_IP} 9091
+
+docker logs pdp
+${DIR}/wait_for_port.sh ${PDP_IP} 8081
+
+docker logs brmsgw
+${DIR}/wait_for_port.sh ${BRMS_IP} 9989
+
+docker logs nexus
+${DIR}/wait_for_port.sh ${NEXUS_IP} 8081
+
+docker logs drools
+${DIR}/wait_for_port.sh ${POLICY_IP} 6969
+
+TIME_OUT=600
+INTERVAL=20
+TIME=0
+while [ "$TIME" -lt "$TIME_OUT" ]; do
+ curl -k -i --user "demo@people.osaaf.org:demo123456!" -H "ContentType: application/json" -H "Accept: application/json" https://${POLICY_IP}:6969/healthcheck && break
+
+ echo Sleep: $INTERVAL seconds before testing if Policy is up. Total wait time up now is: $TIME seconds. Timeout is: $TIME_OUT seconds
+ sleep $INTERVAL
+ TIME=$(($TIME+$INTERVAL))
+
+done
+
+TIME_OUT=600
+INTERVAL=20
+TIME=0
+while [ "$TIME" -lt "$TIME_OUT" ]; do
+
+ curl -k -i -v -H 'Content-Type: application/json' -H 'Accept: application/json' -H 'ClientAuth: cHl0aG9uOnRlc3Q=' -H 'Authorization: Basic dGVzdHBkcDphbHBoYTEyMw==' -H 'Environment: TEST' -d '{"policyName": ".*"}' https://${PDP_IP}:8081/pdp/api/getConfig && break
+
+echo Sleep: $INTERVAL seconds before testing if Policy is up. Total wait time up now is: $TIME seconds. Timeout is: $TIME_OUT seconds
+ sleep $INTERVAL
+ TIME=$(($TIME+$INTERVAL))
+
+done
+
+#
+# Add more sleep for everything to settle
+#
+sleep 3m