From 6eebdba780e945a2c8b318897dca9b4f09fa132d Mon Sep 17 00:00:00 2001 From: kishore Date: Tue, 3 Oct 2017 11:12:57 -0500 Subject: Add updated scripts Issue-ID:PORTAL-53 Signed-off-by: kishore Change-Id: I8a6d65877bbdeee196b187d60af3d0600ea4209f --- test/csit/plans/portal/testsuite/setup.sh | 176 ++++++++++++++++++++++++++---- 1 file changed, 154 insertions(+), 22 deletions(-) (limited to 'test/csit/plans/portal/testsuite/setup.sh') diff --git a/test/csit/plans/portal/testsuite/setup.sh b/test/csit/plans/portal/testsuite/setup.sh index a6c1ba483..c3e9e5160 100644 --- a/test/csit/plans/portal/testsuite/setup.sh +++ b/test/csit/plans/portal/testsuite/setup.sh @@ -1,40 +1,172 @@ #!/bin/bash -# Starts docker containers for ONAP Portal in Rackspace. -# Version for Amsterdam/R1 uses docker-compose. +# Starts docker containers for ONAP Portal +# This version for Amsterdam/R1 of Portal, uses docker-compose. +# Temporarily maintained in portal/deliveries area; +# replicated from the ONAP demo/boot area due to release concerns. + +# Start Xvfb +echo -e "Starting Xvfb on display ${DISPLAY} with res ${RES}" +Xvfb ${DISPLAY} -ac -screen 0 ${RES} +extension RANDR & +XVFBPID=$! +# Get pid of this spawned process to make sure we kill the correct process later + +#Get current IP of VM +HOST_IP=$(ip route get 8.8.8.8 | awk '/8.8.8.8/ {print $NF}') +export HOST_IP=${HOST_IP} + +if ! ifconfig docker0; then +if ! ifconfig ens3; then +echo "Could not determine IP address" +exit 1 +fi +export DOCKER_IP_IP=`ifconfig ens3 | awk -F: '/inet addr/ {gsub(/ .*/,"",$2); print $2}'` +else +export DOCKER_IP=`ifconfig docker0 | awk -F: '/inet addr/ {gsub(/ .*/,"",$2); print $2}'` +fi +echo $DOCKER_IP + + +# Pass any variables required by Robot test suites in ROBOT_VARIABLES +#ROBOT_VARIABLES="-v MOCK_IP:${MOCK_IP} -v IP:${IP} -v POLICY_IP:${POLICY_IP} -v DOCKER_IP:${DOCKER_IP}" +#export PORTAL_IP=${PORTAL_IP} +ROBOT_VARIABLES="-v MOCK_IP:${MOCK_IP} -v IP:${IP} -v DOCKER_IP:${DOCKER_IP}" +export DOCKER_IP=${DOCKER_IP} + + + + + + + # be verbose set -x # Establish environment variables -NEXUS_USERNAME=$(cat /opt/config/nexus_username.txt) -NEXUS_PASSWD=$(cat /opt/config/nexus_password.txt) -NEXUS_DOCKER_REPO=$(cat /opt/config/nexus_docker_repo.txt) -DOCKER_IMAGE_VERSION=$(cat /opt/config/docker_version.txt) +NEXUS_USERNAME=docker +NEXUS_PASSWD=docker +NEXUS_DOCKER_REPO=nexus3.onap.org:10003 + + + +CURR="$(pwd)" +git clone http://gerrit.onap.org/r/portal # Refresh configuration and scripts -cd /opt/portal +cd portal git pull cd deliveries - +rm .env +rm docker-compose.yml +cp $CURR/.env . +cp $CURR/docker-compose.yml . +#cd properties_rackspace/ECOMPPORTALAPP +#rm system.properties +#cp $CURR/system.properties . +#cd ../.. # Get image names used below from docker-compose environment file -source .env +source $CURR/.env + +# Copy property files to new directory +mkdir -p $PROPS_DIR +cp -r properties_rackspace/* $PROPS_DIR +# Also create logs directory +mkdir -p $LOGS_DIR -# Copy property files -ETC=/PROJECT/OpenSource/UbuntuEP/etc -mkdir -p $ETC -cp -r properties_rackspace/* $ETC # Refresh images docker login -u $NEXUS_USERNAME -p $NEXUS_PASSWD $NEXUS_DOCKER_REPO -docker pull $NEXUS_DOCKER_REPO/openecomp/${DB_IMG_NAME}:$DOCKER_IMAGE_VERSION -docker pull $NEXUS_DOCKER_REPO/openecomp/${EP_IMG_NAME}:$DOCKER_IMAGE_VERSION -docker pull $NEXUS_DOCKER_REPO/openecomp/${WMS_IMG_NAME}:$DOCKER_IMAGE_VERSION +docker pull $NEXUS_DOCKER_REPO/onap/${DB_IMG_NAME}:$DOCKER_IMAGE_VERSION +docker pull $NEXUS_DOCKER_REPO/onap/${EP_IMG_NAME}:$DOCKER_IMAGE_VERSION +docker pull $NEXUS_DOCKER_REPO/onap/${WMS_IMG_NAME}:$DOCKER_IMAGE_VERSION +docker pull $NEXUS_DOCKER_REPO/$CLI_IMG_NAME:$CLI_DOCKER_VERSION # Tag them as expected by docker-compose file -docker tag $NEXUS_DOCKER_REPO/openecomp/${DB_IMG_NAME}:$DOCKER_IMAGE_VERSION $DB_IMG_NAME:$PORTAL_TAG -docker tag $NEXUS_DOCKER_REPO/openecomp/${EP_IMG_NAME}:$DOCKER_IMAGE_VERSION $EP_IMG_NAME:$PORTAL_TAG -docker tag $NEXUS_DOCKER_REPO/openecomp/${WMS_IMG_NAME}:$DOCKER_IMAGE_VERSION $WMS_IMG_NAME:$PORTAL_TAG +docker tag $NEXUS_DOCKER_REPO/onap/${DB_IMG_NAME}:$DOCKER_IMAGE_VERSION $DB_IMG_NAME:$PORTAL_TAG +docker tag $NEXUS_DOCKER_REPO/onap/${EP_IMG_NAME}:$DOCKER_IMAGE_VERSION $EP_IMG_NAME:$PORTAL_TAG +docker tag $NEXUS_DOCKER_REPO/onap/${WMS_IMG_NAME}:$DOCKER_IMAGE_VERSION $WMS_IMG_NAME:$PORTAL_TAG +docker tag $NEXUS_DOCKER_REPO/$CLI_IMG_NAME:$CLI_DOCKER_VERSION $CLI_IMG_NAME:$PORTAL_TAG + +# compose is not in /usr/bin +docker-compose down +docker-compose up -d + + +#${HOSTNAME}="portal.api.simpledemo.openecomp.org" +#echo "$HOST_IP ${HOSTNAME}" >> /etc/hosts + +#echo "$HOST_IP portal.api.simpledemo.openecomp.org" >> /etc/hosts +#sudo sed -i "2i$HOST_IP portal.api.simpledemo.openecomp.org" /etc/hosts + +#HOST="portal.api.simpledemo.openecomp.org" +#sudo sed -i "/$HOST/ s/.*/$HOST_IP\t$HOST/g" /etc/hosts + +# insert/update hosts entry +ip_address=$HOST_IP +host_name="portal.api.simpledemo.openecomp.org" +# find existing instances in the host file and save the line numbers +matches_in_hosts="$(grep -n $host_name /etc/hosts | cut -f1 -d:)" +host_entry="${ip_address} ${host_name}" + +echo "$host_entry" + +if [ ! -z "$matches_in_hosts" ] +then +echo "Updating existing hosts entry." +# iterate over the line numbers on which matches were found +while read -r line_number; do +# replace the text of each line with the desired host entry +sudo sed -i '' "${line_number}s/.*/${host_entry} /" /etc/hosts +echo "${line_number} ${host_entry}" +done <<< "$matches_in_hosts" +else +echo "Adding new hosts entry." +echo "$host_entry" | sudo tee -a /etc/hosts > /dev/null +fi + + + +# WAIT 5 minutes maximum and test every 5 seconds if Portal up using HealthCheck API +TIME_OUT=460 +INTERVAL=20 +TIME=0 +while [ "$TIME" -lt "$TIME_OUT" ]; do + response=$(curl --write-out '%{http_code}' --silent --output /dev/null http://portal.api.simpledemo.openecomp.org:8989/ECOMPPORTAL/portalApi/healthCheck); echo $response + + if [ "$response" == "200" ]; then + echo Portal and its database well started in $TIME seconds + break; + fi + + echo Sleep: $INTERVAL seconds before testing if Portal is up. Total wait time up now is: $TIME seconds. Timeout is: $TIME_OUT seconds + sleep $INTERVAL + TIME=$(($TIME+$INTERVAL)) +done + +if [ "$TIME" -ge "$TIME_OUT" ]; then + echo TIME OUT: Docker containers not started in $TIME_OUT seconds... Could cause problems for tests... +fi + +#sleep 3m + + + +#if [ "$TIME" -ge "$TIME_OUT" ]; then +# echo TIME OUT: Docker containers not started in $TIME_OUT seconds... Could cause problems for tests... +#fi + + + + + +#Get current IP of VM +HOST_IP=$(ip route get 8.8.8.8 | awk '/8.8.8.8/ {print $NF}') +export HOST_IP=${HOST_IP} + + +docker logs deliveries_portal-apps_1 +docker logs deliveries_portal-wms_1 + + + -# docker-compose is not in /usr/bin -/opt/docker/docker-compose down -/opt/docker/docker-compose up -d -- cgit 1.2.3-korg