5 bottlenecks_env_prepare()
7 if [ -d $BOTTLENECKS_REPO_DIR ]; then
8 rm -rf ${BOTTLENECKS_REPO_DIR}
11 mkdir -p ${BOTTLENECKS_REPO_DIR}
12 git config --global http.sslVerify false
13 git clone ${BOTTLENECKS_REPO} ${BOTTLENECKS_REPO_DIR}
15 source $BOTTLENECKS_REPO_DIR/rubbos/rubbos_scripts/1-1-1/scripts/env_preparation.sh
18 bottlenecks_create_instance()
20 echo "create bottlenecks instance using heat template"
23 nova keypair-add --pub_key $KEY_PATH/bottlenecks_key.pub $KEY_NAME
26 nova flavor-create $FLAVOR_NAME 200 2048 10 1
28 echo "use heat template to create stack"
30 heat stack-create bottlenecks -f ${TEMPLATE_NAME} \
31 -P "image=$IMAGE_NAME;key_name=$KEY_NAME;public_net=$PUBLIC_NET_NAME;flavor=$FLAVOR_NAME"
34 heat stack-show bottlenecks
36 nova list | grep rubbos_control
37 control_ip=$(nova list | grep rubbos_control | awk '{print $13}')
38 ssh -i $KEY_PATH/bottlenecks_key \
39 -o StrictHostKeyChecking=no \
40 -o BatchMode=yes root@$control_ip "uname -a"
41 heat stack-delete bottlenecks
46 echo "clean up bottlenecks images and keys"
48 if heat stack-list; then
49 for stack in $(heat stack-list | grep -e bottlenecks | awk '{print $2}'); do
50 echo "clean up stack $stack"
51 heat stack-delete $stack || true
56 if glance image-list; then
57 for image in $(glance image-list | grep -e $IMAGE_NAME | awk '{print $2}'); do
58 echo "clean up image $image"
59 glance image-delete $image || true
63 if nova keypair-list; then
64 for key in $(nova keypair-list | grep -e $KEY_NAME | awk '{print $2}'); do
65 echo "clean up key $key"
66 nova keypair-delete $key || true
70 if nova flavor-list; then
71 for flavor in $(nova flavor-list | grep -e $FLAVOR_NAME | awk '{print $2}'); do
72 echo "clean up flavor $flavor"
73 nova flavor-delete $flavor || true
78 bottlenecks_load_bottlenecks_image()
80 echo "load bottlenecks image"
82 curl --connect-timeout 10 -o /tmp/bottlenecks-trusty-server.img $IMAGE_URL -v
84 result=$(glance image-create \
87 --container-format bare \
88 --file /tmp/bottlenecks-trusty-server.img)
91 rm -rf /tmp/bottlenecks-trusty-server.img
93 IMAGE_ID_BOTTLENECKS=$(echo "$result" | grep " id " | awk '{print $(NF-1)}')
94 if [ -z "$IMAGE_ID_BOTTLENECKS" ]; then
95 echo 'failed to upload bottlenecks image to openstack'
99 echo "bottlenecks image id: $IMAGE_ID_BOTTLENECKS"
104 echo "create instances with heat template"
106 BOTTLENECKS_REPO=https://gerrit.opnfv.org/gerrit/bottlenecks
107 BOTTLENECKS_REPO_DIR=/tmp/opnfvrepo/bottlenecks
108 IMAGE_URL=http://205.177.226.235:9999/bottlenecks/rubbos/bottlenecks-trusty-server.img
109 IMAGE_NAME=bottlenecks-trusty-server
110 KEY_PATH=$BOTTLENECKS_REPO_DIR/utils/infra_setup/bottlenecks_key
111 HOT_PATH=$BOTTLENECKS_REPO_DIR/utils/infra_setup/heat_template
112 KEY_NAME=bottlenecks-key
113 FLAVOR_NAME=bottlenecks-flavor
114 TEMPLATE_NAME=bottlenecks_rubbos_hot.yaml
115 PUBLIC_NET_NAME=net04_ext
117 bottlenecks_env_prepare
119 bottlenecks_load_bottlenecks_image
120 bottlenecks_create_instance