diff options
author | eHanan <eoin.hanan@ericsson.com> | 2018-08-07 14:09:26 +0100 |
---|---|---|
committer | eHanan <eoin.hanan@ericsson.com> | 2018-08-08 09:57:47 +0100 |
commit | 58ccb9d37df99e30ea6272b3789b13c814497a2e (patch) | |
tree | de2fb87103266a23aef4576869753cb181672480 /test/ete/scripts | |
parent | 4a3cc3fdf9d07d347bb539b7fa5c600464470cc1 (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/scripts')
-rwxr-xr-x | test/ete/scripts/teardown-onap.sh | 127 |
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 |