summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoreHanan <eoin.hanan@ericsson.com>2018-08-07 14:09:26 +0100
committereHanan <eoin.hanan@ericsson.com>2018-08-08 09:57:47 +0100
commit58ccb9d37df99e30ea6272b3789b13c814497a2e (patch)
treede2fb87103266a23aef4576869753cb181672480
parent4a3cc3fdf9d07d347bb539b7fa5c600464470cc1 (diff)
Modify teardown script to make it safer
I made it so the teardown script would not destroy everything it possible could. A quiet teardown option was added and unused variable removed. Change-Id: If4c3be7937441a58236b641ef7d171b52ba61c1d Issue-ID: INT-610 Signed-off-by: eHanan <eoin.hanan@ericsson.com>
-rwxr-xr-xdeployment/heat/onap-oom/scripts/deploy.sh65
-rwxr-xr-xtest/ete/scripts/teardown-onap.sh127
2 files changed, 151 insertions, 41 deletions
diff --git a/deployment/heat/onap-oom/scripts/deploy.sh b/deployment/heat/onap-oom/scripts/deploy.sh
index 8a41a78de..11b2938ee 100755
--- a/deployment/heat/onap-oom/scripts/deploy.sh
+++ b/deployment/heat/onap-oom/scripts/deploy.sh
@@ -9,16 +9,61 @@
# http://www.apache.org/licenses/LICENSE-2.0
#
+install_name="onap-oom"
+full_deletion=false
+
if [ -z "$WORKSPACE" ]; then
export WORKSPACE=`git rev-parse --show-toplevel`
fi
+usage() { echo "Usage: $0 [-n <number of VMs {2-15}>] [ -r ] <env-name>" 1>&2; exit 1; }
+
if [ "$#" -ne 1 ]; then
- echo "Usage: $0 <env-name>"
- exit 1
+ usage
fi
ENV_FILE=$1
+while getopts ":n:s:" o; do
+ case "${o}" in
+ n)
+ if [[ ${OPTARG} =~ ^[0-9]+$ ]];then
+ vm_num=${OPTARG}
+ if [ ${OPTARG} > 15 ] || [ ${OPTARG} < 2 ]; then
+ usage
+ fi
+ else
+ usage
+ fi
+ ;;
+ r)
+ echo "The following command will delete all information relating to onap within your enviroment"
+ read -p "Are you certain this is what you want? (type y to confirm):" answer
+
+ if [ $answer = "y" ] || [ $answer = "Y" ] || [ $answer = "yes" ] || [ $answer = "Yes"]; then
+ echo "This may delete the work of other colleages within the same enviroment"
+ read -p "Are you certain this is what you want? (type y to confirm):" answer2
+
+ if [ $answer2 = "y" ] || [ $answer2 = "Y" ] || [ $answer2 = "yes" ] || [ $answer2 = "Yes"]; then
+ full_deletion=true
+ else
+ echo "Ending program"
+ exit 1
+ fi
+ else
+ echo "Ending program"
+ exit 1
+ fi
+ ;;
+ q)
+ full_deletion=true
+ ;;
+ *)
+ usage
+ ;;
+ esac
+done
+shift $((OPTIND-1))
+
SSH_KEY=~/.ssh/onap_key
source $WORKSPACE/test/ete/scripts/install_openstack_cli.sh
@@ -27,20 +72,24 @@ SO_ENCRYPTION_KEY=aa3871669d893c7fb8abbcda31b88b4f
export OS_PASSWORD_ENCRYPTED=$(echo -n "$OS_PASSWORD" | openssl aes-128-ecb -e -K "$SO_ENCRYPTION_KEY" -nosalt | xxd -c 256 -p)
for n in $(seq 1 5); do
- $WORKSPACE/test/ete/scripts/teardown-onap.sh
+ if [ $full_deletion = true ] ; then
+ $WORKSPACE/test/ete/scripts/teardown-onap.sh -n $install_name -q
+ else
+ $WORKSPACE/test/ete/scripts/teardown-onap.sh -n $install_name
+ fi
cd $WORKSPACE/deployment/heat/onap-oom
envsubst < $ENV_FILE > $ENV_FILE~
- if ! openstack stack create -t ./onap-oom.yaml -e $ENV_FILE~ onap-oom; then
+ if ! openstack stack create -t ./$install_name.yaml -e $ENV_FILE~ $install_name; then
break
fi
- while [ "CREATE_IN_PROGRESS" == "$(openstack stack show -c stack_status -f value onap-oom)" ]; do
+ while [ "CREATE_IN_PROGRESS" == "$(openstack stack show -c stack_status -f value $install_name)" ]; do
sleep 20
done
- STATUS=$(openstack stack show -c stack_status -f value onap-oom)
+ STATUS=$(openstack stack show -c stack_status -f value $install_name)
echo $STATUS
if [ "CREATE_COMPLETE" != "$STATUS" ]; then
break
@@ -48,8 +97,8 @@ for n in $(seq 1 5); do
for i in $(seq 1 30); do
sleep 30
- RANCHER_IP=$(openstack stack output show onap-oom rancher_vm_ip -c output_value -f value)
- K8S_IP=$(openstack stack output show onap-oom k8s_1_vm_ip -c output_value -f value)
+ RANCHER_IP=$(openstack stack output show $install_name rancher_vm_ip -c output_value -f value)
+ K8S_IP=$(openstack stack output show $install_name k8s_1_vm_ip -c output_value -f value)
timeout 1 ping -c 1 "$RANCHER_IP" && break
done
diff --git a/test/ete/scripts/teardown-onap.sh b/test/ete/scripts/teardown-onap.sh
index 9080e20ac..61e643b64 100755
--- a/test/ete/scripts/teardown-onap.sh
+++ b/test/ete/scripts/teardown-onap.sh
@@ -1,49 +1,110 @@
#!/bin/bash -x
+full_deletion=false
+
+usage() { echo "Usage: $0 [-n <string>] [-r]" 1>&2; exit 1; }
+
+while getopts ":rqn:" o; do
+ case "${o}" in
+
+ r)
+ echo "The following command will delete all information relating to onap within your enviroment"
+ read -p "Are you certain this is what you want? (type y to confirm):" answer
+
+ if [ $answer = "y" ] || [ $answer = "Y" ] || [ $answer = "yes" ] || [ $answer = "Yes"]; then
+ echo "This may delete the work of other colleages within the same enviroment"
+ read -p "Are you certain this is what you want? (type y to confirm):" answer2
+
+ if [ $answer2 = "y" ] || [ $answer2 = "Y" ] || [ $answer2 = "yes" ] || [ $answer2 = "Yes"]; then
+ full_deletion=true
+ else
+ echo "Ending program"
+ exit 1
+ fi
+ else
+ echo "Ending program"
+ exit 1
+ fi
+ ;;
+ q)
+ full_deletion=true
+ ;;
+ n)
+ install_name=${OPTARG}
+ ;;
+
+ *)
+ usage
+ ;;
+ esac
+done
+shift $((OPTIND-1))
+
if [ -z "$WORKSPACE" ]; then
export WORKSPACE=`git rev-parse --show-toplevel`
fi
source $WORKSPACE/test/ete/scripts/install_openstack_cli.sh
-# delete all instances
-openstack server delete $(openstack server list -c ID -f value)
-sleep 1
-
-# miscellaneous cleanup
-openstack floating ip delete $(openstack floating ip list -c ID -f value)
-sleep 1
-
-ROUTERS=$(openstack router list -c ID -f value)
-echo $ROUTERS
-for ROUTER in $ROUTERS; do
- echo $ROUTER;
- PORTS=$(openstack router show $ROUTER -c "interfaces_info" -f "value" | jq -r '.[].port_id')
- for PORT in $PORTS; do
- openstack router remove port $ROUTER $PORT
+if [ "$full_deletion" = true ];then
+ echo "Commencing delete, press CRTL-C to stop"
+ sleep 10
+
+ # delete all instances
+ openstack server delete $(openstack server list -c ID -f value)
+ sleep 1
+
+ # miscellaneous cleanup
+ openstack floating ip delete $(openstack floating ip list -c ID -f value)
+ sleep 1
+
+ ROUTERS=$(openstack router list -c ID -f value)
+ echo $ROUTERS
+ for ROUTER in $ROUTERS; do
+ echo $ROUTER;
+ PORTS=$(openstack router show $ROUTER -c "interfaces_info" -f "value" | jq -r '.[].port_id')
+ for PORT in $PORTS; do
+ openstack router remove port $ROUTER $PORT
+ done
+ openstack router delete $ROUTER
done
- openstack router delete $ROUTER
-done
-openstack port delete $(openstack port list -f value -c ID)
-openstack volume delete $(openstack volume list -f value -c ID)
+ openstack port delete $(openstack port list -f value -c ID)
+ openstack volume delete $(openstack volume list -f value -c ID)
+
+ # delete all except "default" security group
+ SECURITY_GROUPS=$(openstack security group list -c ID -f value | grep -v default)
+ openstack security group delete $SECURITY_GROUPS
+ sleep 1
-# delete all except "default" security group
-SECURITY_GROUPS=$(openstack security group list -c ID -f value | grep -v default)
-openstack security group delete $SECURITY_GROUPS
-sleep 1
+ # Delete all existing stacks
+ STACKS=$(openstack stack list -c "Stack Name" -f value)
-# Delete all existing stacks
-STACKS=$(openstack stack list -c "Stack Name" -f value)
+ if [ ! -z "${STACKS}" ]; then
+ openstack stack delete -y $STACKS
+ for STACK in ${STACKS}; do
+ until [ "DELETE_IN_PROGRESS" != "$(openstack stack show -c stack_status -f value $STACK)" ]; do
+ sleep 2
+ done
+ done
+ else
+ echo "No existing stacks to delete."
+ fi
+
+else
+ #Restrained teardown
+ echo "Restrained teardown"
+
+ STACK=$install_name
-if [ ! -z "${STACKS}" ]; then
- openstack stack delete -y $STACKS
- for STACK in ${STACKS}; do
+ if [ ! -z "${STACK}" ]; then
+ openstack stack delete $STACK
+
until [ "DELETE_IN_PROGRESS" != "$(openstack stack show -c stack_status -f value $STACK)" ]; do
- sleep 2
+ sleep 2
done
- done
-else
- echo "No existing stacks to delete."
-fi
+ else
+ echo "No existing stack with the name $install_name."
+ fi
+fi \ No newline at end of file