99ccc16f01a24c501e54284326a070837b4e8733
[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 function start_mysql {
46     echo "start mysql ... "
47     systemctl start mysql.service  > myout_docker_enctrypoint.file 2>&1
48     cat myout_docker_enctrypoint.file
49     systemctl status mysql.service > myout_docker_enctrypoint_mysql_status.file 2>&1
50     cat myout_docker_enctrypoint_mysql_status.file
51     sleep 5
52 }
53
54 # Start mysql
55 # su mysql -c /usr/bin/mysqld_safe &
56 #service mysql start
57 start_mysql
58
59 # Perform one-time config
60 if [ ! -e init.log ]; then
61     # Perform workarounds due to defects in release binary
62     ./instance-workaround.sh
63
64     # Init mysql; set root password
65     ./init-mysql.sh
66
67     # microservice-specific one-time initialization
68     ./instance-init.sh
69
70     date > init.log
71 fi
72
73 # Start the microservice
74 ./instance-run.sh
75