Add deploy scripts and docker-compose for aai
[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
13 if [ ! -d "$RESOURCES_LOGS" ];
14 then
15     echo "Warning: Unable to find the volume directory $RESOURCES_LOGS so creating it as regular directory";
16     mkdir -p $RESOURCES_LOGS;
17 fi;
18
19 if [ ! -d "$TRAVERSAL_LOGS" ];
20 then
21     echo "Warning: Unable to find the volume directory $TRAVERSAL_LOGS so creating it as regular directory";
22     mkdir -p $TRAVERSAL_LOGS;
23 fi;
24
25 export MTU=${MTU:-1500};
26 export DOCKER_REGISTRY="${DOCKER_REGISTRY:-localhost:5000}";
27 export HBASE_IMAGE="${HBASE_IMAGE:-wc9368/aai-hbase-1.2.3}";
28 export GREMLIN_SERVER_IMAGE="${GREMLIN_SERVER_IMAGE:-gremlin-server}";
29 export AAI_HAPROXY_IMAGE="${AAI_HAPROXY_IMAGE:-aai-haproxy}";
30
31 function wait_for_container() {
32
33     CONTAINER_NAME="$1";
34     START_TEXT="$2";
35
36     TIMEOUT=160
37
38     # wait for the real startup
39     AMOUNT_STARTUP=$(docker logs ${CONTAINER_NAME} 2>&1 | grep "$START_TEXT" | wc -l)
40     while [[ ${AMOUNT_STARTUP} -ne 1 ]];
41     do
42         echo "Waiting for '$CONTAINER_NAME' deployment to finish ..."
43         AMOUNT_STARTUP=$(docker logs ${CONTAINER_NAME} 2>&1 | grep "$START_TEXT" | wc -l)
44         if [ "$TIMEOUT" = "0" ];
45         then
46             echo "ERROR: $CONTAINER_NAME deployment failed."
47             exit 1
48         fi
49         let TIMEOUT-=1
50         sleep 1
51     done
52 }
53
54 # cleanup
55 $DOCKER_COMPOSE_CMD stop
56 $DOCKER_COMPOSE_CMD rm -f -v
57
58 USER_ID=$(docker run -it --rm --entrypoint=id $DOCKER_REGISTRY/openecomp/aai-resources -u | sed 's/[^0-9]//g')
59 GROUP_ID=$(docker run -it --rm --entrypoint=id $DOCKER_REGISTRY/openecomp/aai-resources -g | sed 's/[^0-9]//g')
60
61 chown -R $USER_ID:$GROUP_ID $RESOURCES_LOGS;
62 chown -R $USER_ID:$GROUP_ID $TRAVERSAL_LOGS;
63
64 RESOURCES_CONTAINER_NAME=$($DOCKER_COMPOSE_CMD up -d aai-resources.api.simpledemo.openecomp.org 2>&1 | grep 'Creating' | awk '{ print $2; }' | head -1);
65 wait_for_container $RESOURCES_CONTAINER_NAME '0.0.0.0:8447';
66
67 GRAPH_CONTAINER_NAME=$($DOCKER_COMPOSE_CMD up -d aai-traversal.api.simpledemo.openecomp.org 2>&1 | grep 'Creating' | awk '{ print $2; }' | head -1);
68 wait_for_container $GRAPH_CONTAINER_NAME '0.0.0.0:8446';
69
70 # deploy
71 $DOCKER_COMPOSE_CMD up -d aai.api.simpledemo.openecomp.org
72
73 docker exec -it $GRAPH_CONTAINER_NAME "/opt/app/aai-traversal/scripts/install/updateQueryData.sh";