5 GERRIT_REFSPEC_DEBUG=$1
8 echo "vstf workflow goes here"
10 bottlenecks_env_prepare()
12 if [ -d $BOTTLENECKS_REPO_DIR ]; then
13 rm -rf ${BOTTLENECKS_REPO_DIR}
16 mkdir -p ${BOTTLENECKS_REPO_DIR}
17 git config --global http.sslVerify false
18 git clone ${BOTTLENECKS_REPO} ${BOTTLENECKS_REPO_DIR}
19 if [ x"$GERRIT_REFSPEC_DEBUG" != x ]; then
20 cd ${BOTTLENECKS_REPO_DIR}
21 git fetch $BOTTLENECKS_REPO $GERRIT_REFSPEC_DEBUG && git checkout FETCH_HEAD
25 #obtain installer(openstack) IP, etc, use rubbos's temporarily, later we can amend this
26 source $BOTTLENECKS_REPO_DIR/rubbos/rubbos_scripts/1-1-1/scripts/env_preparation.sh
31 echo "[INFO]Begin to clean up vstf heat-stack ,glance images and keypairs"
32 #heat stack-delete bottlenecks
34 if heat stack-list; then
35 for stack in $(heat stack-list | grep -e " vstf " | awk '{print $2}'); do
36 echo "[INFO]clean up stack $stack"
37 heat stack-delete $stack || true
42 glance image-delete ${MANAGER_IMAGE_NAME};glance image-delete "${AGENT_IMAGE_NAME}"
43 if glance image-list; then
44 for image in $(glance image-list | grep -e "${MANAGER_IMAGE_NAME}" | awk '{print $2}'); do
45 echo "[INFO]clean up image $image"
46 glance image-delete $image || true
48 for image in $(glance image-list | grep -e "${AGENT_IMAGE_NAME}" | awk '{print $2}'); do
49 echo "[INFO]clean up image $image"
50 glance image-delete $image || true
54 if nova keypair-list; then
55 for key in $(nova keypair-list | grep -e $KEY_NAME | awk '{print $2}'); do
56 echo "[INFO]clean up key $key"
57 nova keypair-delete $key || true
61 #check the default flavor m1.large existing
62 if nova flavor-list; then
63 flag=`nova flavor-list | grep "m1.large "`
64 echo "[INFO]the flavor m1.large num is $flag"
71 echo "[INFO]download vstf images"
72 #download vstf-manager and vstf-agent image
73 #curl --connect-timeout 10 -o /tmp/vstf-manager.img $MANAGER_IMAGE_URL -v
74 #curl --connect-timeout 10 -o /tmp/vstf-agent.img $AGENT_IMAGE_URL -v
75 curl --connect-timeout 10 -o /tmp/vstf-manager.img $MANAGER_IMAGE_URL -v
76 curl --connect-timeout 10 -o /tmp/vstf-agent.img $AGENT_IMAGE_URL -v
77 #echo "begin to test downloading from vstf directory!!!!!!"
78 #curl --connect-timeout 10 -o /tmp/vstf-test.txt
79 #echo "begin to cat /tmp/vstf-test.txt vstf directory!!!!!!"
80 #cat /tmp/vstf-test.txt
82 echo "[INFO]register vstf manager and agent images"
83 result=$(glance image-create \
84 --name $MANAGER_IMAGE_NAME \
86 --container-format bare \
87 --file /tmp/vstf-manager.img)
88 echo "Manager image register result $result."
90 result=$(glance image-create \
91 --name $AGENT_IMAGE_NAME \
93 --container-format bare \
94 --file /tmp/vstf-agent.img)
95 echo "Agent image register result $result."
99 rm -rf /tmp/vstf-manager.img;rm -rf /tmp/vstf-agent.img
102 #vstf logic function here
103 vstf_create_heat_template()
105 echo "create vstf instance using heat template"
106 echo "upload keypair"
107 nova keypair-add --pub_key $KEY_PATH/bottlenecks_key.pub $KEY_NAME
109 echo "use heat template to create stack"
111 heat stack-create vstf -f ${TEMPLATE_NAME}
115 wait_heat_stack_complete()
120 status=$(heat stack-list | grep vstf | awk '{print $6}')
121 if [ x$status = x"CREATE_COMPLETE" ]; then
122 echo "vstf stacke create complete"
124 nova list | grep vstf-
126 elif [ x$status = x"CREATE_FAILED" ]; then
127 echo "bottlenecks stacke create failed !!!"
132 if [ "$BOTTLENECKS_DEBUG" == "True" ]; then
134 nova list | grep vstf-
135 for i in $(nova list | grep "vstf-" | grep ERROR | awk '{print $2}')
142 if [[ $retry -ge $1 ]];then
143 echo "Heat vstf stack create timeout, status $status !!!"
150 vstf_check_instance_ok()
152 wait_heat_stack_complete 120
160 bash -x ./launch_vstf.sh
167 bash -x ./vstf_test.sh
172 echo "bottlenecks vstf: create instances with heat template"
174 BOTTLENECKS_REPO=https://gerrit.opnfv.org/gerrit/bottlenecks
175 BOTTLENECKS_REPO_DIR=/tmp/opnfvrepo_vstf/bottlenecks
177 MANAGER_IMAGE_URL=http://artifacts.opnfv.org/bottlenecks/vstf/vstf-manager.img
178 AGENT_IMAGE_URL=http://artifacts.opnfv.org/bottlenecks/vstf/vstf-agent.img
179 MANAGER_IMAGE_URL=http://artifacts.opnfv.org/bottlenecks/rubbos/bottlenecks-trusty-server.img
180 AGENT_IMAGE_URL=http://artifacts.opnfv.org/bottlenecks/rubbos/bottlenecks-trusty-server.img
181 MANAGER_IMAGE_NAME="vstf-manager"
182 AGENT_IMAGE_NAME="vstf-agent"
183 KEY_PATH=$BOTTLENECKS_REPO_DIR/utils/infra_setup/bottlenecks_key
184 HOT_PATH=$BOTTLENECKS_REPO_DIR/utils/infra_setup/heat_template/vstf_heat_template
186 #use the default openstack flavor m1.large
187 FLAVOR_NAME="m1.large"
188 TEMPLATE_NAME=bottleneck_vstf.yaml
189 PUBLIC_NET_NAME=net04_ext
192 bottlenecks_env_prepare
197 vstf_create_heat_template
198 vstf_check_instance_ok
206 #echo "[INFO]bottleneck vstf testsuite done ,results in the directory ${HOT_PATH}/result"
207 echo "[INFO]Begin to clean up the vstf heat-stack and image"