Modify DB initialization completion judgment flag
[vfc/nfvo/lcm.git] / docker / docker-entrypoint.sh
1 #!/bin/bash
2
3 sudo chown onap:onap -R /service
4 find  /service -name '*.sh'|xargs chmod a+x
5
6 if [ -z "$SERVICE_IP" ]; then
7     export SERVICE_IP=`hostname -i`
8 fi
9 echo "SERVICE_IP=$SERVICE_IP"
10
11 if [ -z "$MSB_ADDR" ]; then
12     echo "Missing required variable MSB_ADDR: Microservices Service Bus address <ip>:<port>"
13     exit 1
14 fi
15 echo "MSB_ADDR=$MSB_ADDR"
16
17 if [ -z "$MYSQL_ADDR" ]; then
18     echo "Missing required variable MYSQL_ADDR: <ip>:<port>"
19     exit 1
20 fi
21 echo "MYSQL_ADDR=$MYSQL_ADDR"
22
23 # Wait for MSB initialization
24 echo "Wait for MSB initialization"
25 for i in {1..5}; do
26     curl -sS -m 1 $MSB_PROTO://$MSB_ADDR/msb -k > /dev/null
27     res=$?
28     if [ $res -ne 0 ]; then
29         break
30     fi
31     sleep $i
32 done
33
34 # Wait for DB initialization
35 echo "Wait for DB initialization"
36 for i in {1..5}; do
37     mysql -u$MYSQL_ROOT_USER1 -p$MYSQL_ROOT_PASSWORD -h`echo $MYSQL_ADDR | cut -d: -f 1` -P`echo $MYSQL_ADDR | cut -d: -f 2` -e "show databases;" > /dev/null && echo "DB initialization completed" && break
38     sleep $i && echo "`echo $MYSQL_ADDR | cut -d: -f 1` connection failed"
39 done
40
41 # Configure service based on docker environment variables
42 vfc/nfvo/lcm/docker/instance_config.sh
43
44 # microservice-specific one-time initialization
45 vfc/nfvo/lcm/docker/instance_init.sh
46
47 date > init.log
48
49 # Start the microservice
50 vfc/nfvo/lcm/docker/instance_run.sh