X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=deploy_vm1.sh;h=b2a903148eb8b2ff20bbb9d52179574fe96ad9de;hb=b9217e47eca42c7d9ff420b3c3fa58934019512c;hp=09ddfffd7075bcd3cf25522aa33b9eb5ab59f848;hpb=5b1de57d352dd6903385731ee9611300f05e8abd;p=aai%2Ftest-config.git diff --git a/deploy_vm1.sh b/deploy_vm1.sh index 09ddfff..b2a9031 100755 --- a/deploy_vm1.sh +++ b/deploy_vm1.sh @@ -9,6 +9,13 @@ fi export RESOURCES_LOGS="/opt/aai/logroot/AAI-RESOURCES"; export TRAVERSAL_LOGS="/opt/aai/logroot/AAI-TRAVERSAL"; +export SEARCH_LOGS="/opt/aai/logroot/AAI-SEARCH"; +export DATA_ROUTER_LOGS="/opt/aai/logroot/AAI-DATA-ROUTER"; +export MODEL_LOADER_LOGS="/opt/aai/logroot/AAI-MODEL-LOADER"; +export UI_LOGS="/opt/aai/logroot/AAI-UI"; +export CHAMP_LOGS="/opt/aai/logroot/AAI-CHAMP-SERVICE"; +export CRUD_LOGS="/opt/aai/logroot/AAI-CRUD-SERVICE"; +export BABEL_LOGS="/opt/aai/logroot/AAI-BAS"; if [ ! -d "$RESOURCES_LOGS" ]; then @@ -22,18 +29,78 @@ then mkdir -p $TRAVERSAL_LOGS; fi; -export MTU=${MTU:-1500}; +if [ ! -d "$SEARCH_LOGS" ]; +then + echo "Warning: Unable to find the volume directory $SEARCH_LOGS so creating it as regular directory"; + mkdir -p $SEARCH_LOGS; +fi; + +if [ ! -d "$DATA_ROUTER_LOGS" ]; +then + echo "Warning: Unable to find the volume directory $DATA_ROUTER_LOGS so creating it as regular directory"; + mkdir -p $DATA_ROUTER_LOGS; +fi; + +if [ ! -d "$MODEL_LOADER_LOGS" ]; +then + echo "Warning: Unable to find the volume directory $MODEL_LOADER_LOGS so creating it as regular directory"; + mkdir -p $MODEL_LOADER_LOGS; +fi; + +if [ ! -d "$UI_LOGS" ]; +then + echo "Warning: Unable to find the volume directory $UI_LOGS so creating it as regular directory"; + mkdir -p $UI_LOGS; +fi; + +if [ ! -d "$CHAMP_LOGS" ]; +then + echo "Warning: Unable to find the volume directory $CHAMP_LOGS so creating it as regular directory"; + mkdir -p $CHAMP_LOGS; +fi; + +if [ ! -d "$CRUD_LOGS" ]; +then + echo "Warning: Unable to find the volume directory $CRUD_LOGS so creating it as regular directory"; + mkdir -p $CRUD_LOGS; +fi; + +if [ ! -d "$BABEL_LOGS" ]; +then + echo "Warning: Unable to find the volume directory $BABEL_LOGS so creating it as regular directory"; + mkdir -p $BABEL_LOGS; +fi; + +export MTU=$(/sbin/ifconfig | grep MTU | sed 's/.*MTU://' | sed 's/ .*//' | sort -n | head -1); export DOCKER_REGISTRY="${DOCKER_REGISTRY:-localhost:5000}"; -export HBASE_IMAGE="${HBASE_IMAGE:-wc9368/aai-hbase-1.2.3}"; -export GREMLIN_SERVER_IMAGE="${GREMLIN_SERVER_IMAGE:-gremlin-server}"; -export AAI_HAPROXY_IMAGE="${AAI_HAPROXY_IMAGE:-aai-haproxy}"; +export AAI_HAPROXY_IMAGE="${AAI_HAPROXY_IMAGE:-aaionap/haproxy}"; +export AAI_HAPROXY_VERSION="${AAI_HAPROXY_VERSION:-1.2.2}"; + +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) +DMAAP_TOPIC=$(cat /opt/config/dmaap_topic.txt) +DOCKER_IMAGE_VERSION=$(cat /opt/config/docker_version.txt) +DOCKER_REGISTRY=${NEXUS_DOCKER_REPO} + +RESOURCES_DOCKER_IMAGE_VERSION=1.2.1 +TRAVERSAL_DOCKER_IMAGE_VERSION=1.2.1 +SEARCH_DATA_SERVICE_DOCKER_IMAGE_VERSION=1.2.1 +DATA_ROUTER_DOCKER_IMAGE_VERSION=1.2.2 +MODEL_LOADER_DOCKER_IMAGE_VERSION=1.2.1 +SPARKY_BE_DOCKER_IMAGE_VERSION=1.2.1 +CHAMP_DOCKER_IMAGE_VERSION=1.2.3 +GIZMO_DOCKER_IMAGE_VERSION=1.2.0 +BABEL_DOCKER_IMAGE_VERSION=1.2.0 + +docker login -u $NEXUS_USERNAME -p $NEXUS_PASSWD $NEXUS_DOCKER_REPO function wait_for_container() { CONTAINER_NAME="$1"; START_TEXT="$2"; - TIMEOUT=160 + TIMEOUT=600 # wait for the real startup AMOUNT_STARTUP=$(docker logs ${CONTAINER_NAME} 2>&1 | grep "$START_TEXT" | wc -l) @@ -46,28 +113,94 @@ function wait_for_container() { echo "ERROR: $CONTAINER_NAME deployment failed." exit 1 fi - let TIMEOUT-=1 - sleep 1 + let TIMEOUT-=5 + sleep 5 done } +function check_if_user_exists(){ + + local user_id=$1; + + if [ -z "$user_id" ]; then + echo "Needs to provide at least one argument for check_if_user_exists func"; + exit 1; + fi; + + id -u ${user_id} > /dev/null 2>&1 && { + echo "1"; + } || { + echo "0"; + } +} + +docker pull ${DOCKER_REGISTRY}/onap/aai-resources:${RESOURCES_DOCKER_IMAGE_VERSION}; +docker tag $DOCKER_REGISTRY/onap/aai-resources:$RESOURCES_DOCKER_IMAGE_VERSION $DOCKER_REGISTRY/onap/aai-resources:latest; + +docker pull ${DOCKER_REGISTRY}/onap/aai-traversal:${TRAVERSAL_DOCKER_IMAGE_VERSION}; +docker tag $DOCKER_REGISTRY/onap/aai-traversal:$TRAVERSAL_DOCKER_IMAGE_VERSION $DOCKER_REGISTRY/onap/aai-traversal:latest; + +docker pull ${DOCKER_REGISTRY}/onap/search-data-service:${SEARCH_DATA_SERVICE_DOCKER_IMAGE_VERSION}; +docker tag $DOCKER_REGISTRY/onap/search-data-service:$SEARCH_DATA_SERVICE_DOCKER_IMAGE_VERSION $DOCKER_REGISTRY/onap/search-data-service:latest; + +docker pull ${DOCKER_REGISTRY}/onap/data-router:${DATA_ROUTER_DOCKER_IMAGE_VERSION}; +docker tag $DOCKER_REGISTRY/onap/data-router:$DATA_ROUTER_DOCKER_IMAGE_VERSION $DOCKER_REGISTRY/onap/data-router:latest; + +docker pull ${DOCKER_REGISTRY}/onap/model-loader:${MODEL_LOADER_DOCKER_IMAGE_VERSION}; +docker tag $DOCKER_REGISTRY/onap/model-loader:$MODEL_LOADER_DOCKER_IMAGE_VERSION $DOCKER_REGISTRY/onap/model-loader:latest; + +docker pull ${DOCKER_REGISTRY}/onap/sparky-be:${SPARKY_BE_DOCKER_IMAGE_VERSION}; +docker tag $DOCKER_REGISTRY/onap/sparky-be:$SPARKY_BE_DOCKER_IMAGE_VERSION $DOCKER_REGISTRY/onap/sparky-be:latest; + +docker pull ${DOCKER_REGISTRY}/onap/champ:${CHAMP_DOCKER_IMAGE_VERSION}; +docker tag $DOCKER_REGISTRY/onap/champ:$CHAMP_DOCKER_IMAGE_VERSION $DOCKER_REGISTRY/onap/champ:latest; + +docker pull ${DOCKER_REGISTRY}/onap/gizmo:${GIZMO_DOCKER_IMAGE_VERSION}; +docker tag $DOCKER_REGISTRY/onap/gizmo:$GIZMO_DOCKER_IMAGE_VERSION $DOCKER_REGISTRY/onap/gizmo:latest; + +docker pull ${DOCKER_REGISTRY}/onap/babel:${BABEL_DOCKER_IMAGE_VERSION}; +docker tag $DOCKER_REGISTRY/onap/babel:$BABEL_DOCKER_IMAGE_VERSION $DOCKER_REGISTRY/onap/babel:latest; + # cleanup $DOCKER_COMPOSE_CMD stop $DOCKER_COMPOSE_CMD rm -f -v -USER_ID=$(docker run -it --rm --entrypoint=id $DOCKER_REGISTRY/openecomp/aai-resources -u | sed 's/[^0-9]//g') -GROUP_ID=$(docker run -it --rm --entrypoint=id $DOCKER_REGISTRY/openecomp/aai-resources -g | sed 's/[^0-9]//g') -chown -R $USER_ID:$GROUP_ID $RESOURCES_LOGS; -chown -R $USER_ID:$GROUP_ID $TRAVERSAL_LOGS; +USER_EXISTS=$(check_if_user_exists aaiadmin); + +if [ "${USER_EXISTS}" -eq 0 ]; then + export USER_ID=9000; + export GROUP_ID=9000; +else + export USER_ID=$(id -u aaiadmin); + export GROUP_ID=$(id -g aaiadmin); +fi; + +chown -R $USER_ID:$USER_ID $RESOURCE_LOGS $TRAVERSAL_LOGS; +chown -R 341790:492381 $BABEL_LOGS; + +$DOCKER_COMPOSE_CMD run --rm aai-resources.api.simpledemo.onap.org createDBSchema.sh + +RESOURCES_CONTAINER_NAME=$($DOCKER_COMPOSE_CMD up -d aai-resources.api.simpledemo.onap.org 2>&1 | grep 'Creating' | grep -v 'volume' | grep -v 'network' | awk '{ print $2; }' | head -1); +wait_for_container $RESOURCES_CONTAINER_NAME 'Resources Microservice Started'; + +# Deploy haproxy and traversal at the same time for traversal to make updateQuery against resources using haproxy +$DOCKER_COMPOSE_CMD up -d aai-traversal.api.simpledemo.onap.org aai.api.simpledemo.onap.org + +sleep 3; + +$DOCKER_COMPOSE_CMD run --rm aai-traversal.api.simpledemo.onap.org install/updateQueryData.sh + +$DOCKER_COMPOSE_CMD up -d sparky-be + +$DOCKER_COMPOSE_CMD up -d model-loader datarouter aai.searchservice.simpledemo.openecomp.org + +$DOCKER_COMPOSE_CMD up -d champ-service -RESOURCES_CONTAINER_NAME=$($DOCKER_COMPOSE_CMD up -d aai-resources.api.simpledemo.openecomp.org 2>&1 | grep 'Creating' | awk '{ print $2; }' | head -1); -wait_for_container $RESOURCES_CONTAINER_NAME '0.0.0.0:8447'; +$DOCKER_COMPOSE_CMD up -d crud-service -GRAPH_CONTAINER_NAME=$($DOCKER_COMPOSE_CMD up -d aai-traversal.api.simpledemo.openecomp.org 2>&1 | grep 'Creating' | awk '{ print $2; }' | head -1); -wait_for_container $GRAPH_CONTAINER_NAME '0.0.0.0:8446'; +$DOCKER_COMPOSE_CMD up -d babel -# deploy -$DOCKER_COMPOSE_CMD up -d aai.api.simpledemo.openecomp.org +echo "A&AI Microservices are successfully started"; -docker exec -it $GRAPH_CONTAINER_NAME "/opt/app/aai-traversal/scripts/install/updateQueryData.sh"; +crontab < /opt/test-config/aaicrontab