From 7f036c8deee5cc54aa74348a66e753a04e7f8f8b Mon Sep 17 00:00:00 2001 From: "Determe, Sebastien (sd378r)" Date: Thu, 9 Mar 2017 09:42:46 -0800 Subject: Fix deploy.sh script (fail with 6 parameters) This script can't be used by HEAT anymore due to error (boolean) Change-Id: I06bb7c7f941da58fda3692b27b17b4ca58bf5a24 Signed-off-by: Determe, Sebastien (sd378r) --- deploy.sh | 142 +++++++++++++++++++++++++++++++------------------------------- 1 file changed, 72 insertions(+), 70 deletions(-) (limited to 'deploy.sh') diff --git a/deploy.sh b/deploy.sh index 698c92b..d2b09fa 100755 --- a/deploy.sh +++ b/deploy.sh @@ -17,29 +17,31 @@ # | phase. ################################### Functions definition ################################ - +NEXUS=1 if [ "$#" = 0 ]; then - echo "Deploying with local images, not pulling them from Nexus." - NO_NEXUS=true + echo "Deploying with local images, not pulling them from Nexus." + NEXUS=0 fi -if [ "$#" -ne 6 ] & [ ! $NO_NEXUS ]; then - echo "Usage: deploy.sh - - env DOCKER_HOST (optional) - sets the docker host to be used if not local unix socket - - - env MSO_DOCKER_IMAGE_VERSION (required) - sets the mso docker image version - - - env MSO_CONFIG_UPDATES (optional) - json structure that matches volumes/mso/chef-config/mso-docker.json - elements whose value needs to be updated before the deployment - phase." - - exit 1 + +if [ "$#" -ne 6 ] && [ $NEXUS -eq 1 ]; then + echo "Usage: deploy.sh + - env DOCKER_HOST (optional) + sets the docker host to be used if not local unix socket + + - env MSO_DOCKER_IMAGE_VERSION (required) + sets the mso docker image version + + - env MSO_CONFIG_UPDATES (optional) + json structure that matches volumes/mso/chef-config/mso-docker.json + elements whose value needs to be updated before the deployment + phase." + + exit 1 fi -if [ -z "$MSO_DOCKER_IMAGE_VERSION" ] & [ ! $NO_NEXUS ]; then - echo "Env variable MSO_DOCKER_IMAGE_VERSION must be SET to a version before running this script" - exit 1 + +if [ -z "$MSO_DOCKER_IMAGE_VERSION" ] && [ $NEXUS -eq 1 ]; then + echo "Env variable MSO_DOCKER_IMAGE_VERSION must be SET to a version before running this script" + exit 1 fi NEXUS_DOCKER_REPO_MSO=$1 @@ -52,23 +54,23 @@ NEXUS_PASSWD_MARIADB=$6 function init_docker_command() { - if [ -z ${DOCKER_HOST+x} ]; - then - DOCKER_CMD="docker" - LBL_DOCKER_HOST="local docker using unix socket" - else - DOCKER_CMD="docker -H ${DOCKER_HOST}" - LBL_DOCKER_HOST="(remote) docker using ${DOCKER_HOST}" - fi - - if [ -f "/opt/docker/docker-compose" ]; - then - DOCKER_COMPOSE_CMD="/opt/docker/docker-compose" - else - DOCKER_COMPOSE_CMD="docker-compose" - fi - - echo "docker command: ${LBL_DOCKER_HOST}" + if [ -z ${DOCKER_HOST+x} ]; + then + DOCKER_CMD="docker" + LBL_DOCKER_HOST="local docker using unix socket" + else + DOCKER_CMD="docker -H ${DOCKER_HOST}" + LBL_DOCKER_HOST="(remote) docker using ${DOCKER_HOST}" + fi + + if [ -f "/opt/docker/docker-compose" ]; + then + DOCKER_COMPOSE_CMD="/opt/docker/docker-compose" + else + DOCKER_COMPOSE_CMD="docker-compose" + fi + + echo "docker command: ${LBL_DOCKER_HOST}" } function container_name() { @@ -78,30 +80,30 @@ function container_name() { } function update_json_config() { - if [ -n "$MSO_CONFIG_UPDATES" ]; - then - chmod u+x $SCRIPT_DIR/json_updater.py - echo $MSO_CONFIG_UPDATES | $SCRIPT_DIR/json_updater.py $SCRIPT_DIR/volumes/mso/chef-config/mso-docker.json - echo "MSO docker JSON updated" - fi - + if [ -n "$MSO_CONFIG_UPDATES" ]; + then + chmod u+x $SCRIPT_DIR/json_updater.py + echo $MSO_CONFIG_UPDATES | $SCRIPT_DIR/json_updater.py $SCRIPT_DIR/volumes/mso/chef-config/mso-docker.json + echo "MSO docker JSON updated" + fi + } function pull_docker_images() { - echo "Using Nexus for MSO: $NEXUS_DOCKER_REPO_MSO (user "$NEXUS_USERNAME_MSO")" - # login to nexus - $DOCKER_CMD login -u $NEXUS_USERNAME_MSO -p $NEXUS_PASSWD_MSO $NEXUS_DOCKER_REPO_MSO - $DOCKER_CMD login -u $NEXUS_USERNAME_MARIADB -p $NEXUS_PASSWD_MARIADB $NEXUS_DOCKER_REPO_MARIADB - - # get images - $DOCKER_CMD pull $NEXUS_DOCKER_REPO_MSO/openecomp/mso:$MSO_DOCKER_IMAGE_VERSION - $DOCKER_CMD tag $NEXUS_DOCKER_REPO_MSO/openecomp/mso:$MSO_DOCKER_IMAGE_VERSION openecomp/mso:latest - $DOCKER_CMD rmi $NEXUS_DOCKER_REPO_MSO/openecomp/mso:$MSO_DOCKER_IMAGE_VERSION - - echo "Using Nexus for MARIADB: $NEXUS_DOCKER_REPO_MARIADB (user "$NEXUS_USERNAME_MARIADB")" - $DOCKER_CMD pull $NEXUS_DOCKER_REPO_MARIADB/mariadb:10.1.11 - $DOCKER_CMD tag $NEXUS_DOCKER_REPO_MARIADB/mariadb:10.1.11 mariadb:10.1.11 - $DOCKER_CMD rmi $NEXUS_DOCKER_REPO_MARIADB/mariadb:10.1.11 + echo "Using Nexus for MSO: $NEXUS_DOCKER_REPO_MSO (user "$NEXUS_USERNAME_MSO")" + # login to nexus + $DOCKER_CMD login -u $NEXUS_USERNAME_MSO -p $NEXUS_PASSWD_MSO $NEXUS_DOCKER_REPO_MSO + $DOCKER_CMD login -u $NEXUS_USERNAME_MARIADB -p $NEXUS_PASSWD_MARIADB $NEXUS_DOCKER_REPO_MARIADB + + # get images + $DOCKER_CMD pull $NEXUS_DOCKER_REPO_MSO/openecomp/mso:$MSO_DOCKER_IMAGE_VERSION + $DOCKER_CMD tag $NEXUS_DOCKER_REPO_MSO/openecomp/mso:$MSO_DOCKER_IMAGE_VERSION openecomp/mso:latest + $DOCKER_CMD rmi $NEXUS_DOCKER_REPO_MSO/openecomp/mso:$MSO_DOCKER_IMAGE_VERSION + + echo "Using Nexus for MARIADB: $NEXUS_DOCKER_REPO_MARIADB (user "$NEXUS_USERNAME_MARIADB")" + $DOCKER_CMD pull $NEXUS_DOCKER_REPO_MARIADB/mariadb:10.1.11 + $DOCKER_CMD tag $NEXUS_DOCKER_REPO_MARIADB/mariadb:10.1.11 mariadb:10.1.11 + $DOCKER_CMD rmi $NEXUS_DOCKER_REPO_MARIADB/mariadb:10.1.11 } @@ -114,15 +116,15 @@ function wait_for_mariadb() { AMOUNT_STARTUP=$($DOCKER_CMD logs ${CONTAINER_NAME} 2>&1 | grep 'mysqld: ready for connections.' | wc -l) while [[ ${AMOUNT_STARTUP} -lt 2 ]]; do - echo "Waiting for '$CONTAINER_NAME' deployment to finish ..." - AMOUNT_STARTUP=$($DOCKER_CMD logs ${CONTAINER_NAME} 2>&1 | grep 'mysqld: ready for connections.' | wc -l) - if [ "$TIMEOUT" = "0" ]; - then - echo "ERROR: Mariadb deployment failed." - exit 1 - fi - let TIMEOUT-=1 - sleep 1 + echo "Waiting for '$CONTAINER_NAME' deployment to finish ..." + AMOUNT_STARTUP=$($DOCKER_CMD logs ${CONTAINER_NAME} 2>&1 | grep 'mysqld: ready for connections.' | wc -l) + if [ "$TIMEOUT" = "0" ]; + then + echo "ERROR: Mariadb deployment failed." + exit 1 + fi + let TIMEOUT-=1 + sleep 1 done } @@ -131,8 +133,8 @@ SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" init_docker_command update_json_config -if [ ! $NO_NEXUS ]; then - pull_docker_images +if [ $NEXUS -eq 1 ]; then + pull_docker_images fi # don't remove the containers,no cleanup @@ -146,4 +148,4 @@ fi $DOCKER_COMPOSE_CMD up -d --no-recreate mariadb CONTAINER_NAME=$(container_name mariadb) wait_for_mariadb $CONTAINER_NAME -$DOCKER_COMPOSE_CMD up -d mso \ No newline at end of file +$DOCKER_COMPOSE_CMD up -d mso -- cgit 1.2.3-korg