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