Remove dependency on vfc/db
[integration/csit.git] / plans / vfc-nfvo-lcm / 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 -e "ROUTE_LABELS=visualRange:1" --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 # Mysql
36 docker run -d -p 3306:3306 --name vfc-db -v /var/lib/mysql -e MYSQL_USER="vfcnfvolcm" -e MYSQL_PASSWORD="vfcnfvolcm" -e MYSQL_ROOT_PASSWORD=root -e MYSQL_DATABASE="vfcnfvolcm" 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 # 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 docker ps > ps.txt
60 cat ps.txt
61 echo "****************************"
62 docker logs -f vfc-db > db.txt &
63 cat db.txt
64
65 # Need some time so service info can be synced from discovery to api gateway
66 echo sleep 60
67 sleep 60
68
69 # start vfc-nslcm
70 docker run -d --name vfc-nslcm -v /var/lib/mysql -e MSB_ADDR=${MSB_IAG_IP}:80 -e MYSQL_ADDR=${VFC_DB_IP}:3306 -e REDIS_HOST=${VFC_REDIS_IP} -e REG_TO_MSB_WHEN_START=true nexus3.onap.org:10001/onap/vfc/nslcm
71 NSLCM_IP=`get-instance-ip.sh vfc-nslcm`
72
73 # Wait for initialization
74 for i in {1..10}; do
75     curl -sS -m 1 ${NSLCM_IP}:8403 && break
76     echo sleep $i
77     sleep $i
78 done
79
80 docker logs -f vfc-nslcm > dockerlogs.txt &
81 cat dockerlogs.txt
82
83 docker cp vfc-nslcm:/service/vfc/nfvo/lcm/logs/runtime_lcm.log ./
84 cat runtime_lcm.log
85
86 # Pass any variables required by Robot test suites in ROBOT_VARIABLES
87 ROBOT_VARIABLES="-v MSB_IAG_IP:${MSB_IAG_IP} -v NSLCM_IP:${NSLCM_IP} -v SCRIPTS:${SCRIPTS}"