aboutsummaryrefslogtreecommitdiffstats
path: root/test/ete
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 /test/ete
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>
Diffstat (limited to 'test/ete')
-rwxr-xr-xtest/ete/scripts/teardown-onap.sh127
1 files changed, 94 insertions, 33 deletions
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