CSIT for NST selection enhancements
[integration/csit.git] / scripts / optf-has / has / simulator_script.sh
1 #!/bin/bash
2 #
3 # Copyright 2016-2017 Huawei Technologies Co., Ltd.
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 echo "### This is ${WORKSPACE}/scripts/optf-has/has/simulator_script.sh"
18 #
19 # add here whatever commands is needed to prepare the optf/has CSIT testing
20 #
21
22 # assume the base is /tmp dir
23 DIR=/tmp
24
25 # the directory of the script
26 echo ${DIR}
27 cd ${DIR}
28
29 # the temp directory used, within $DIR
30 # omit the -p parameter to create a temporal directory in the default location
31 WORK_DIR=`mktemp -d -p "$DIR"`
32 echo ${WORK_DIR}
33 cd ${WORK_DIR}
34
35 # clone optf-has project
36 git clone https://gerrit.onap.org/r/optf/has
37
38 #echo "i am ${USER} : only non jenkins users may need proxy settings"
39 if [ ${USER} != 'jenkins' ]; then
40
41     # add proxy settings into this script when you work behind a proxy
42     ${WORKSPACE}/scripts/optf-has/has/has_proxy_settings.sh ${WORK_DIR}
43
44 fi
45
46 # prepare aaisim
47 cd ${WORK_DIR}/has/conductor/conductor/tests/functional/simulators/
48
49 # run aaisim
50 ./run_aaisim.sh
51
52 AAISIM_IP=`docker inspect --format '{{ .NetworkSettings.Networks.bridge.IPAddress}}' aaisim`
53 echo "AAISIM_IP=${AAISIM_IP}"
54
55 ${WORKSPACE}/scripts/optf-has/has/wait_for_port.sh ${AAISIM_IP} 8081
56
57 # prepare multicloudsim
58 cd ${WORK_DIR}/has/conductor/conductor/tests/functional/simulators/multicloudsim/
59
60 # check Dockerfile content
61 cat ./Dockerfile
62
63 # build multicloudsim
64 docker build -t multicloudsim .
65
66 # run multicloudsim
67 docker run -d --name multicloudsim -p 8082:8082  multicloudsim
68
69 MULTICLOUDSIM_IP=`docker inspect --format '{{ .NetworkSettings.Networks.bridge.IPAddress}}' multicloudsim`
70 echo "MULTICLOUDSIM_IP=${MULTICLOUDSIM_IP}"
71
72 ${WORKSPACE}/scripts/optf-has/has/wait_for_port.sh ${MULTICLOUDSIM_IP} 8082
73
74
75 # prepare sdcsim
76 cd ${WORK_DIR}/has/conductor/conductor/tests/functional/simulators/sdcsim/
77
78 # check Dockerfile content
79 cat ./Dockerfile
80
81 # build multicloudsim
82 docker build -t sdcsim .
83
84 # run multicloudsim
85 docker run -d --name sdcsim -p 9595:9595  sdcsim
86
87 SDCSIM_IP=`docker inspect --format '{{ .NetworkSettings.Networks.bridge.IPAddress}}' sdcsim`
88 echo "SDCSIM_IP=${SDCSIM_IP}"
89
90 ${WORKSPACE}/scripts/optf-has/has/wait_for_port.sh ${SDCSIM_IP} 9595
91
92
93 # prepare aafsim
94 echo "simulator_script: prepare aafsim "
95 cd ${WORK_DIR}/has/conductor/conductor/tests/functional/simulators/aafsim/
96
97 # check Dockerfile content
98 echo "simulator_script: Dockerfile "
99 cat ./Dockerfile
100
101 # build aafsim
102 echo "simulator_script: build docker "
103 docker build -t aafsim .
104
105 # run aafsim
106 echo "simulator_script: run docker "
107 docker run -d --name aafsim -p 8100:8100 aafsim
108
109 AAFSIM_IP=`docker inspect --format '{{ .NetworkSettings.Networks.bridge.IPAddress}}' aafsim`
110 echo "simulator_script: AAFSIM_IP=${AAFSIM_IP}"
111
112 #echo "simulator_script: wait_for_port"
113 ${WORKSPACE}/scripts/optf-has/has/wait_for_port.sh ${AAFSIM_IP} 8100
114
115 # wait a while before continuing
116 sleep 2
117
118 echo "inspect docker things for tracing purpose"
119 docker inspect aaisim
120 docker inspect multicloudsim
121 docker inspect aafsim