amend heat template instance creation script
[bottlenecks.git] / utils / infra_setup / heat_template / HOT_create_instance.sh
index c6c1fe3..9d80022 100755 (executable)
@@ -2,40 +2,56 @@
 
 set -ex
 
-bottlenecks_create_instance()
+bottlenecks_env_prepare()
 {
-   echo "create bottlenecks instance using heat template"
+   if [ -d $BOTTLENECKS_REPO_DIR ]; then
+       rm -rf ${BOTTLENECKS_REPO_DIR}
+   fi
 
    mkdir -p ${BOTTLENECKS_REPO_DIR}
    git config --global http.sslVerify false
    git clone ${BOTTLENECKS_REPO} ${BOTTLENECKS_REPO_DIR}
 
+   source $BOTTLENECKS_REPO_DIR/rubbos/rubbos_scripts/1-1-1/scripts/env_preparation.sh
+}
+
+bottlenecks_create_instance()
+{
+   echo "create bottlenecks instance using heat template"
+
    echo "upload keypair"
-   nova keypair-add --pub_key $KEY_PATH/bottleneck_key.pub $KEY_NAME
+   nova keypair-add --pub_key $KEY_PATH/bottlenecks_key.pub $KEY_NAME
    #need FIX, only upload the public key? should be keypair
 
    echo "use heat template to create stack"
    cd $HOT_PATH
    heat stack-create bottlenecks -f ${TEMPLATE_NAME} -P "image=$IMAGE_NAME;key=$KEY_NAME;public_network=$PUBLIC_NET_NAME"
+   sleep 60
+   heat stack-list
+   heat stack-show bottlenecks
+   nova list
+   heat stack-delete bottlenecks
+
    #need FIX, use stack to create 9 VMs
 }
 
 bottlenecks_cleanup()
 {
-   echo "clean up bottlenecks images"
+   echo "clean up bottlenecks images and keys"
 
-   if ! glance image-list; then
-       return
+   if glance image-list; then
+       for image in $(glance image-list | grep -e $IMAGE_NAME | awk '{print $2}'); do
+           echo "clean up image $image"
+           glance image-delete $image || true
+       done
    fi
 
-   #need to check
-   for image in $(glance image-list | grep -e $IMAGE_NAME | awk '{print $2}'); do
-       echo "clean up image $image"
-       glance image-delete $iamge || true
-   done
-
-   #FIX ME
-   #nova flavor-delete yardstick-flavor &> /dev/null || true
+   if nova keypair-list; then
+       for key in $(nova keypair-list | grep -e $KEY_NAME | awk '{print $2}'); do
+           echo "clean up key $key"
+           nova keypair-delete || true
+       done
+   fi
 }
 
 bottlenecks_build_image()
@@ -49,16 +65,18 @@ bottlenecks_load_cirros_image()
 {
    echo "load bottlenecks cirros image"
 
-   local image_file=/home/opnfv/images/cirros-0.3.3-x86_64-disk.img
+   wget http://download.cirros-cloud.net/0.3.3/cirros-0.3.3-x86_64-disk.img -O /tmp/cirros.img
 
    result=$(glance image-create \
        --name cirros-0.3.3 \
        --disk-format qcow2 \
        --container-format bare \
-       --file $image_file)
+       --file /tmp/cirros.img)
    echo "$result"
 
-   IMAGE_ID_CIRROS=$(echo "$output" | grep " id " | awk '{print $(NF-1)}')
+   rm -rf /tmp/cirros.img
+
+   IMAGE_ID_CIRROS=$(echo "$result" | grep " id " | awk '{print $(NF-1)}')
    if [ -z "$IMAGE_ID_CIRROS" ]; then
         echo 'failed to upload cirros image to openstack'
         exit 1
@@ -106,9 +124,9 @@ main()
    PUBLIC_NET_NAME=net04_ext
    #need FIX
    #IMAGE_FILE_NAME=""
-   source $BOTTLENECKS_REPO_DIR/rubbos/rubbos_scripts/1-1-1/scripts/env_preparation.sh
 
-   #bottlenecks_cleanup
+   bottlenecks_env_prepare
+   bottlenecks_cleanup
    #bottlenecks_build_image
    bottlenecks_load_cirros_image
    bottlenecks_create_instance