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
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
+ 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()
#need FIX
#IMAGE_FILE_NAME=""
- #bottlenecks_cleanup
+ bottlenecks_env_prepare
+ bottlenecks_cleanup
#bottlenecks_build_image
bottlenecks_load_cirros_image
bottlenecks_create_instance