Drop variables now published elsewhere
[demo.git] / boot / portal_vm_init.sh
old mode 100644 (file)
new mode 100755 (executable)
index b3f2d65..5f34aae
@@ -1,46 +1,71 @@
 #!/bin/bash
+# Starts docker containers for ONAP Portal
 
+# be verbose
+set -x
+
+# Refresh source area with start scripts
+cd /opt/portal
+git pull
+cd /opt
+
+# 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)
 
-cd /opt/portal
-git pull
-cd /opt
+# Get container, image and tag names used below
+source portal/deliveries/os_settings.sh
 
-chmod +x portal/deliveries/new_start.sh
-chmod +x portal/deliveries/new_stop.sh
-chmod +x portal/deliveries/dbstart.sh
+# Unpack property files
 unzip -o portal/deliveries/etc.zip -d /PROJECT/OpenSource/UbuntuEP/
 
+# Refresh images
 docker login -u $NEXUS_USERNAME -p $NEXUS_PASSWD $NEXUS_DOCKER_REPO
+docker pull $NEXUS_DOCKER_REPO/openecomp/${DB_TAG_NAME}:$DOCKER_IMAGE_VERSION
+docker pull $NEXUS_DOCKER_REPO/openecomp/${EP_TAG_NAME}:$DOCKER_IMAGE_VERSION
+docker pull $NEXUS_DOCKER_REPO/openecomp/${WMS_TAG_NAME}:$DOCKER_IMAGE_VERSION
 
-docker pull $NEXUS_DOCKER_REPO/openecomp/portaldb:$DOCKER_IMAGE_VERSION
-docker pull $NEXUS_DOCKER_REPO/openecomp/portalapps:$DOCKER_IMAGE_VERSION
-
-docker create --name data_vol_portal -v /var/lib/mysql mariadb
-
-docker tag $NEXUS_DOCKER_REPO/openecomp/portaldb:latest ecompdb:portal
-docker tag $NEXUS_DOCKER_REPO/openecomp/portalapps:latest ep:1610-1
+# Remove lingering containers; order matters.
+docker rm -f $DB_CONT_NAME
+docker rm -f $DB_VOL_NAME
+docker rm -f $EP_CONT_NAME
+docker rm -f $WMS_CONT_NAME
 
-docker rm -f ecompdb_portal
-docker rm -f 1610-1
+docker create --name $DB_VOL_NAME -v /var/lib/mysql mariadb
+docker tag $NEXUS_DOCKER_REPO/openecomp/${DB_TAG_NAME}:$DOCKER_IMAGE_VERSION $DB_IMG_NAME
+docker tag $NEXUS_DOCKER_REPO/openecomp/${EP_TAG_NAME}:$DOCKER_IMAGE_VERSION $EP_IMG_NAME
+# WMS image has no version in the registry
+docker tag $NEXUS_DOCKER_REPO/openecomp/${WMS_TAG_NAME}:$DOCKER_IMAGE_VERSION ${WMS_IMG_NAME}:latest
 
+# Recreate the named containers
 cd portal/deliveries
+echo "Starting database"
 ./dbstart.sh
+echo "Delaying for database"
+sleep 10
+echo "Starting apps"
 ./new_start.sh
+echo "Starting widget-ms"
+./widget_ms_start.sh
 
 sleep 180
 
 if [ ! -e /opt/config/boot.txt ]
 then
-  if [ -e /opt/config/public_ip.txt ]
-  then
-    IP_ADDRESS=$(cat /opt/config/public_ip.txt)
-  else
-    IP_ADDRESS=$(ifconfig eth0 | grep "inet addr" | tr -s ' ' | cut -d' ' -f3 | cut -d':' -f2)
-  fi
-  mysql -u root -p'Aa123456' -h $IP_ADDRESS < /opt/portal/deliveries/Apps_Users_OnBoarding_Script.sql
-  echo "yes" > /opt/config/boot.txt
+       if [ -e /opt/config/public_ip.txt ]
+       then
+               IP_ADDRESS=$(cat /opt/config/public_ip.txt)
+       else
+               IP_ADDRESS=$(ifconfig eth0 | grep "inet addr" | tr -s ' ' | cut -d' ' -f3 | cut -d':' -f2)
+       fi
+       # Wait until MySQL is running...
+       while [[ $(netstat -vulntp |grep -i mysql | awk '{print $4}') != ":::3306" ]]
+       do
+               sleep 1
+       done
+       # no longer necessary; done at docker build time
+       # mysql -u root -p'Aa123456' -h $IP_ADDRESS < /opt/portal/deliveries/Apps_Users_OnBoarding_Script.sql
+       echo "yes" > /opt/config/boot.txt
 fi