Fix the typo in the docker tag pull
[aai/test-config.git] / deploy_vm1.sh
1 #!/bin/bash
2
3 if [ -f "/opt/docker/docker-compose" ];
4 then
5     DOCKER_COMPOSE_CMD="/opt/docker/docker-compose -f docker-compose-app.yml"
6 else
7     DOCKER_COMPOSE_CMD="docker-compose -f docker-compose-app.yml"
8 fi
9
10 export RESOURCES_LOGS="/opt/aai/logroot/AAI-RESOURCES";
11 export TRAVERSAL_LOGS="/opt/aai/logroot/AAI-TRAVERSAL";
12 export SEARCH_LOGS="/opt/aai/logroot/AAI-SEARCH";
13 export DATA_ROUTER_LOGS="/opt/aai/logroot/AAI-DATA-ROUTER";
14 export MODEL_LOADER_LOGS="/opt/aai/logroot/AAI-MODEL-LOADER";
15
16 if [ ! -d "$RESOURCES_LOGS" ];
17 then
18     echo "Warning: Unable to find the volume directory $RESOURCES_LOGS so creating it as regular directory";
19     mkdir -p $RESOURCES_LOGS;
20 fi;
21
22 if [ ! -d "$TRAVERSAL_LOGS" ];
23 then
24     echo "Warning: Unable to find the volume directory $TRAVERSAL_LOGS so creating it as regular directory";
25     mkdir -p $TRAVERSAL_LOGS;
26 fi;
27
28 if [ ! -d "$SEARCH_LOGS" ];
29 then
30     echo "Warning: Unable to find the volume directory $SEARCH_LOGS so creating it as regular directory";
31     mkdir -p $SEARCH_LOGS;
32 fi;
33
34 if [ ! -d "$DATA_ROUTER_LOGS" ];
35 then
36     echo "Warning: Unable to find the volume directory $DATA_ROUTER_LOGS so creating it as regular directory";
37     mkdir -p $DATA_ROUTER_LOGS;
38 fi;
39
40 if [ ! -d "$MODEL_LOADER_LOGS" ];
41 then
42     echo "Warning: Unable to find the volume directory $MODEL_LOADER_LOGS so creating it as regular directory";
43     mkdir -p $MODEL_LOADER_LOGS;
44 fi;
45
46 export MTU=$(/sbin/ifconfig | grep MTU | sed 's/.*MTU://' | sed 's/ .*//' | sort -n | head -1);
47 export DOCKER_REGISTRY="${DOCKER_REGISTRY:-localhost:5000}";
48 export AAI_HAPROXY_IMAGE="${AAI_HAPROXY_IMAGE:-aaionap/haproxy}";
49
50 NEXUS_USERNAME=$(cat /opt/config/nexus_username.txt)
51 NEXUS_PASSWD=$(cat /opt/config/nexus_password.txt)
52 NEXUS_DOCKER_REPO=$(cat /opt/config/nexus_docker_repo.txt)
53 DMAAP_TOPIC=$(cat /opt/config/dmaap_topic.txt)
54 DOCKER_IMAGE_VERSION=$(cat /opt/config/docker_version.txt)
55 DOCKER_REGISTRY=${NEXUS_DOCKER_REPO}
56
57 docker login -u $NEXUS_USERNAME -p $NEXUS_PASSWD $NEXUS_DOCKER_REPO
58
59 function wait_for_container() {
60
61     CONTAINER_NAME="$1";
62     START_TEXT="$2";
63
64     TIMEOUT=160
65
66     # wait for the real startup
67     AMOUNT_STARTUP=$(docker logs ${CONTAINER_NAME} 2>&1 | grep "$START_TEXT" | wc -l)
68     while [[ ${AMOUNT_STARTUP} -ne 1 ]];
69     do
70         echo "Waiting for '$CONTAINER_NAME' deployment to finish ..."
71         AMOUNT_STARTUP=$(docker logs ${CONTAINER_NAME} 2>&1 | grep "$START_TEXT" | wc -l)
72         if [ "$TIMEOUT" = "0" ];
73         then
74             echo "ERROR: $CONTAINER_NAME deployment failed."
75             exit 1
76         fi
77         let TIMEOUT-=1
78         sleep 1
79     done
80 }
81
82 docker pull ${DOCKER_REGISTRY}/openecomp/aai-resources:${DOCKER_IMAGE_VERSION};
83 docker tag $DOCKER_REGISTRY/openecomp/aai-resources:$DOCKER_IMAGE_VERSION $DOCKER_REGISTRY/openecomp/aai-resources:latest;
84
85 docker pull ${DOCKER_REGISTRY}/openecomp/aai-traversal:${DOCKER_IMAGE_VERSION};
86 docker tag $DOCKER_REGISTRY/openecomp/aai-traversal:$DOCKER_IMAGE_VERSION $DOCKER_REGISTRY/openecomp/aai-traversal:latest;
87
88 docker pull ${DOCKER_REGISTRY}/openecomp/search-data-service:${DOCKER_IMAGE_VERSION};
89 docker tag $DOCKER_REGISTRY/openecomp/search-data-service:$DOCKER_IMAGE_VERSION $DOCKER_REGISTRY/openecomp/search-data-service:latest;
90
91 docker pull ${DOCKER_REGISTRY}/openecomp/datarouter-service:${DOCKER_IMAGE_VERSION};
92 docker tag $DOCKER_REGISTRY/openecomp/datarouter-service:$DOCKER_IMAGE_VERSION $DOCKER_REGISTRY/openecomp/datarouter-service:latest;
93
94 docker pull ${DOCKER_REGISTRY}/openecomp/model-loader:${DOCKER_IMAGE_VERSION};
95 docker tag $DOCKER_REGISTRY/openecomp/model-loader:$DOCKER_IMAGE_VERSION $DOCKER_REGISTRY/openecomp/model-loader:latest;
96
97 # cleanup
98 $DOCKER_COMPOSE_CMD stop
99 $DOCKER_COMPOSE_CMD rm -f -v
100
101 USER_ID=$(docker run -it --rm --entrypoint=id $DOCKER_REGISTRY/openecomp/aai-resources -u | sed 's/[^0-9]//g')
102 GROUP_ID=$(docker run -it --rm --entrypoint=id $DOCKER_REGISTRY/openecomp/aai-resources -g | sed 's/[^0-9]//g')
103
104 chown -R $USER_ID:$GROUP_ID $RESOURCES_LOGS;
105 chown -R $USER_ID:$GROUP_ID $TRAVERSAL_LOGS;
106
107 RESOURCES_CONTAINER_NAME=$($DOCKER_COMPOSE_CMD up -d aai-resources.api.simpledemo.openecomp.org 2>&1 | grep 'Creating' | grep -v 'volume' | grep -v 'network' | awk '{ print $2; }' | head -1);
108 wait_for_container $RESOURCES_CONTAINER_NAME '0.0.0.0:8447';
109
110 GRAPH_CONTAINER_NAME=$($DOCKER_COMPOSE_CMD up -d aai-traversal.api.simpledemo.openecomp.org 2>&1 | grep 'Creating' | awk '{ print $2; }' | head -1);
111 wait_for_container $GRAPH_CONTAINER_NAME '0.0.0.0:8446';
112
113 # deploy
114 $DOCKER_COMPOSE_CMD up -d aai.api.simpledemo.openecomp.org
115
116 docker exec -it $GRAPH_CONTAINER_NAME "/opt/app/aai-traversal/scripts/install/updateQueryData.sh";
117
118 $DOCKER_COMPOSE_CMD up -d model-loader datarouter aai.searchservice.simpledemo.openecomp.org