Add deploy scripts and docker-compose for aai
[aai/test-config.git] / deploy_vm2.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-db.yml"
6 else
7     DOCKER_COMPOSE_CMD="docker-compose -f docker-compose-db.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 HBASE_IMAGE="${HBASE_IMAGE:-wc9368/aai-hbase-1.2.3}";
27 #export HBASE_IMAGE="${HBASE_IMAGE:-harisekhon/hbase}";
28 export GREMLIN_SERVER_IMAGE="${GREMLIN_SERVER_IMAGE:-gremlin-server}";
29
30 function wait_for_container() {
31
32     CONTAINER_NAME="$1";
33     START_TEXT="$2";
34
35     TIMEOUT=160
36
37     # wait for the real startup
38     AMOUNT_STARTUP=$(docker logs ${CONTAINER_NAME} 2>&1 | grep "$START_TEXT" | wc -l)
39     while [[ ${AMOUNT_STARTUP} -ne 1 ]];
40     do
41         echo "Waiting for '$CONTAINER_NAME' deployment to finish ..."
42         AMOUNT_STARTUP=$(docker logs ${CONTAINER_NAME} 2>&1 | grep "$START_TEXT" | wc -l)
43         if [ "$TIMEOUT" = "0" ];
44         then
45             echo "ERROR: $CONTAINER_NAME deployment failed."
46             exit 1
47         fi
48         let TIMEOUT-=1
49         sleep 1
50     done
51 }
52
53 # cleanup
54 $DOCKER_COMPOSE_CMD stop
55 $DOCKER_COMPOSE_CMD rm -f -v
56
57 HBASE_CONTAINER_NAME=$($DOCKER_COMPOSE_CMD up -d aai.hbase.simpledemo.openecomp.org 2>&1 | grep 'Creating' | grep -v 'network' | awk '{ print $2; }' | head -1);
58 wait_for_container $HBASE_CONTAINER_NAME '^starting regionserver';
59 #wait_for_container $HBASE_CONTAINER_NAME 'HBase metrics system started';
60
61 GREMLIN_CONTAINER_NAME=$($DOCKER_COMPOSE_CMD up -d aai.gremlinserver.simpledemo.openecomp.org 2>&1 | grep 'Creating' | awk '{ print $2; }' | head -1);
62 wait_for_container $GREMLIN_CONTAINER_NAME 'Channel started at port 8182';
63