a91b00043fce2705b4a80830394ebbe12df4d5c6
[vfc/nfvo/driver/vnfm/svnfm.git] / nokia / vnfmdriver / vfcadaptorservice / docker / docker-entrypoint.sh
1 #!/bin/bash
2 #
3 # Copyright 2017, Nokia Corporation
4 #
5 # Licensed under the Apache License, Version 2.0 (the "License");
6 # you may not use this file except in compliance with the License.
7 # You may obtain a copy of the License at
8 #
9 #     http://www.apache.org/licenses/LICENSE-2.0
10 #
11 # Unless required by applicable law or agreed to in writing, software
12 # distributed under the License is distributed on an "AS IS" BASIS,
13 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 # See the License for the specific language governing permissions and
15 # limitations under the License.
16 #
17 #
18
19 if [ -z "$SERVICE_IP" ]; then
20     export SERVICE_IP=`hostname -i`
21 fi
22 echo
23 echo Environment Variables:
24 echo "SERVICE_IP=$SERVICE_IP"
25
26 if [ -z "$MSB_ADDR" ]; then
27     echo "Missing required variable MSB_ADDR: Microservices Service Bus address <ip>:<port>"
28     exit 1
29 fi
30 echo "MSB_ADDR=$MSB_ADDR"
31 echo
32
33 # Wait for MSB initialization
34 echo Wait for MSB initialization
35 for i in {1..10}; do
36     curl -sS -m 1 $MSB_ADDR > /dev/null && break
37     sleep $i
38 done
39
40 echo
41
42 # Configure service based on docker environment variables
43 ./instance-config.sh
44
45 # Start mysql
46 /usr/bin/mysqld_safe & 
47
48 # Perform one-time config
49 if [ ! -e init.log ]; then
50     # Perform workarounds due to defects in release binary
51     ./instance-workaround.sh
52
53     # Init mysql; set root password
54     ./init-mysql.sh
55
56     # microservice-specific one-time initialization
57     ./instance-init.sh
58
59     date > init.log
60 fi
61
62 # Start the microservice
63 ./instance-run.sh
64