From a8aed9b9d6dea15f62c9098965d7c2c3b510bf78 Mon Sep 17 00:00:00 2001 From: Gary Wu Date: Fri, 21 Jun 2019 12:08:42 -0700 Subject: Move teardown script to RKE script directory Also rename various Integration tenants Issue-ID: INT-1117 Signed-off-by: Gary Wu Change-Id: I7422088bdcb9ae8fbbf76bab0517f466d1279df3 --- deployment/heat/onap-rke/scripts/deploy.sh | 10 +- deployment/heat/onap-rke/scripts/teardown-onap.sh | 126 ++++++++++++++++++++++ 2 files changed, 133 insertions(+), 3 deletions(-) create mode 100755 deployment/heat/onap-rke/scripts/teardown-onap.sh (limited to 'deployment/heat/onap-rke/scripts') diff --git a/deployment/heat/onap-rke/scripts/deploy.sh b/deployment/heat/onap-rke/scripts/deploy.sh index e4e7d18df..ecefe2aaf 100755 --- a/deployment/heat/onap-rke/scripts/deploy.sh +++ b/deployment/heat/onap-rke/scripts/deploy.sh @@ -109,7 +109,11 @@ set -x SSH_KEY=~/.ssh/onap_key -source $WORKSPACE/test/ete/scripts/install_openstack_cli.sh +if ! hash openstack jq +then + echo "ERROR: Required commands not found; please install openstack CLI and jq." + exit 2 +fi SO_ENCRYPTION_KEY=aa3871669d893c7fb8abbcda31b88b4f export OS_PASSWORD_ENCRYPTED_FOR_ROBOT=$(echo -n "$OS_PASSWORD" | openssl aes-128-ecb -e -K "$SO_ENCRYPTION_KEY" -nosalt | xxd -c 256 -p) @@ -123,9 +127,9 @@ popd for n in $(seq 1 5); do if [ $full_deletion = true ] ; then - $WORKSPACE/test/ete/scripts/teardown-onap.sh -n $stack_name -q + $WORKSPACE/deployment/heat/onap-rke/scripts/teardown-onap.sh -n $stack_name -q else - $WORKSPACE/test/ete/scripts/teardown-onap.sh -n $stack_name + $WORKSPACE/deployment/heat/onap-rke/scripts/teardown-onap.sh -n $stack_name fi cd $WORKSPACE/deployment/heat/onap-rke diff --git a/deployment/heat/onap-rke/scripts/teardown-onap.sh b/deployment/heat/onap-rke/scripts/teardown-onap.sh new file mode 100755 index 000000000..e6805ff9f --- /dev/null +++ b/deployment/heat/onap-rke/scripts/teardown-onap.sh @@ -0,0 +1,126 @@ +#!/bin/bash -x + +full_deletion=false + +usage() { echo "Usage: $0 [-n ] [-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 + +if [ "$full_deletion" = true ];then + echo "Commencing delete, press CRTL-C to stop" + sleep 10 + + # delete all instances + SERVERS=$(openstack server list -c ID -f value --project $OS_PROJECT_ID) + if [ $? -ne 0 ]; then + # only admin roles support --project parameter, so retry without it if the above returns an error + SERVERS=$(openstack server list -c ID -f value) + fi + if [ ! -z "$SERVERS" ]; then + openstack server delete $SERVERS + sleep 1 + fi + + # miscellaneous cleanup + FLOATING_IPS=$(openstack floating ip list -c ID -f value --project $OS_PROJECT_ID) + if [ ! -z "$FLOATING_IPS" ]; then + openstack floating ip delete $FLOATING_IPS + sleep 1 + fi + + ROUTERS=$(openstack router list -c ID -f value --project $OS_PROJECT_ID) + 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 + sleep 1 + + PORTS=$(openstack port list -f value -c ID --project $OS_PROJECT_ID) + if [ ! -z "$PORTS" ]; then + openstack port delete $PORTS + sleep 1 + fi + VOLUMES=$(openstack volume list -f value -c ID --project $OS_PROJECT_ID) + if [ ! -z "$VOLUMES" ]; then + openstack volume delete $VOLUMES + sleep 1 + fi + + + # 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 + + STATUS=$(openstack stack check $STACK) + + if [ "Stack not found: $install_name" != "$STATUS" ]; then + openstack stack delete $STACK + + until [ "DELETE_IN_PROGRESS" != "$(openstack stack show -c stack_status -f value $STACK)" ]; do + sleep 2 + done + else + echo "No existing stack with the name $install_name." + fi +fi -- cgit 1.2.3-korg