Remove dependency on vfc/db
[integration/csit.git] / plans / vfc-gvnfm-vnflcm / sanity-check / setup.sh
1 #!/bin/bash
2 #
3 # Copyright 2017 ZTE 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 # Place the scripts in run order:
18 # Start all process required for executing test case
19
20 source ${SCRIPTS}/common_functions.sh
21
22 #start msb
23 docker run -d -p 8500:8500  --name msb_consul consul:0.9.3
24 MSB_CONSUL_IP=`get-instance-ip.sh msb_consul`
25 echo MSB_CONSUL_IP=${MSB_CONSUL_IP}
26
27 docker run -d  -p 10081:10081  -e CONSUL_IP=$MSB_CONSUL_IP --name msb_discovery nexus3.onap.org:10001/onap/msb/msb_discovery
28 MSB_DISCOVERY_IP=`get-instance-ip.sh msb_discovery`
29 echo DISCOVERY_IP=${MSB_DISCOVERY_IP}
30
31 docker run -d -p 80:80 -e CONSUL_IP=$MSB_CONSUL_IP -e SDCLIENT_IP=$MSB_DISCOVERY_IP --name msb_internal_apigateway nexus3.onap.org:10001/onap/msb/msb_apigateway
32 MSB_IAG_IP=`get-instance-ip.sh msb_internal_apigateway`
33 echo MSB_IAG_IP=${MSB_IAG_IP}
34
35 # Start Mysql
36 docker run -d -p 3306:3306 --name vfc-db -v /var/lib/mysql -e MYSQL_USER="gvnfm" -e MYSQL_PASSWORD="gvnfm" -e MYSQL_ROOT_PASSWORD=root -e MYSQL_DATABASE="gvnfm" nexus3.onap.org:10001/library/mariadb
37 VFC_DB_IP=`get-instance-ip.sh vfc-db`
38 echo VFC_DB_IP=${VFC_DB_IP}
39
40 # Start Redis
41 docker run -d -p 6379:6379 --name vfc-redis redis
42 VFC_REDIS_IP=`get-instance-ip.sh vfc-redis`
43 echo VFC_REDIS_IP=${VFC_REDIS_IP}
44
45 # Wait for initialization(8500 Consul, 10081 Service Registration & Discovery, 80 api gateway)
46 for i in {1..10}; do
47     curl -sS -m 1 ${MSB_CONSUL_IP}:8500 && curl -sS -m 1 ${MSB_DISCOVERY_IP}:10081 && curl -sS -m 1 ${MSB_IAG_IP}:80 && break
48     echo sleep $i
49     sleep $i
50 done
51
52 # Wait for initialization(3306 DB)
53 for i in {1..3}; do
54     curl -sS -m 1 ${VFC_DB_IP}:3306 && break
55     echo sleep $i
56     sleep $i
57 done
58
59 # wait for container initalization
60 echo sleep 30
61 sleep 30
62
63 # start vfc-vnflcm
64 docker run -d --name vfc-vnflcm -e MSB_ADDR=${MSB_IAG_IP}:80 -e MYSQL_ADDR=${VFC_DB_IP}:3306 -e REDIS_HOST=${VFC_REDIS_IP} nexus3.onap.org:10001/onap/vfc/vnflcm
65 VNFLCM_IP=`get-instance-ip.sh vfc-vnflcm`
66
67 # Wait for initialization
68 for i in {1..10}; do
69     curl -sS -m 1 ${VNFLCM_IP}:8801 && break
70     echo sleep $i
71     sleep $i
72 done
73
74 docker cp vfc-vnflcm:/service/vfc/gvnfm/vnflcm/lcm/lcm/pub/config/config.py ./
75 cat config.py
76
77 docker cp vfc-vnflcm:/service/vfc/gvnfm/vnflcm/lcm/logs/runtime_lcm.log ./
78 cat runtime_lcm.log
79
80 # Pass any variables required by Robot test suites in ROBOT_VARIABLES
81 ROBOT_VARIABLES="-v MSB_IAG_IP:${MSB_IAG_IP} -v VNFLCM_IP:${VNFLCM_IP} -v SCRIPTS:${SCRIPTS}"