Move teardown script to RKE script directory

Also rename various Integration tenants

Issue-ID: INT-1117
Signed-off-by: Gary Wu <gary.wu@futurewei.com>
Change-Id: I7422088bdcb9ae8fbbf76bab0517f466d1279df3
diff --git a/deployment/heat/onap-rke/env/windriver/Integration-HEAT-Verify-openrc b/deployment/heat/onap-rke/env/windriver/Integration-Longevity-openrc
similarity index 84%
rename from deployment/heat/onap-rke/env/windriver/Integration-HEAT-Verify-openrc
rename to deployment/heat/onap-rke/env/windriver/Integration-Longevity-openrc
index 624db1c..89af4b6 100644
--- a/deployment/heat/onap-rke/env/windriver/Integration-HEAT-Verify-openrc
+++ b/deployment/heat/onap-rke/env/windriver/Integration-Longevity-openrc
@@ -1,5 +1,5 @@
 export OS_PROJECT_ID=28481f6939614cfd83e6767a0e039bcc
-export OS_PROJECT_NAME=Integration-HEAT-Verify
+export OS_PROJECT_NAME=Integration-Longevity-openrc
 export OS_USER_DOMAIN_NAME=Default
 export OS_USERNAME=demo
 export OS_PASSWORD=onapdemo
diff --git a/deployment/heat/onap-rke/env/windriver/Integration-OOM-Daily-openrc b/deployment/heat/onap-rke/env/windriver/Integration-Release-Daily-openrc
similarity index 84%
rename from deployment/heat/onap-rke/env/windriver/Integration-OOM-Daily-openrc
rename to deployment/heat/onap-rke/env/windriver/Integration-Release-Daily-openrc
index b0eddb6..9f26b66 100644
--- a/deployment/heat/onap-rke/env/windriver/Integration-OOM-Daily-openrc
+++ b/deployment/heat/onap-rke/env/windriver/Integration-Release-Daily-openrc
@@ -1,5 +1,5 @@
 export OS_PROJECT_ID=712b6016580e410b9abfec9ca34953ce
-export OS_PROJECT_NAME=Integration-OOM-Daily
+export OS_PROJECT_NAME=Integration-Release-Daily
 export OS_USER_DOMAIN_NAME=Default
 export OS_USERNAME=demo
 export OS_PASSWORD=onapdemo
diff --git a/deployment/heat/onap-rke/env/windriver/Integration-HEAT-Daily-openrc b/deployment/heat/onap-rke/env/windriver/Integration-S3P-openrc
similarity index 85%
rename from deployment/heat/onap-rke/env/windriver/Integration-HEAT-Daily-openrc
rename to deployment/heat/onap-rke/env/windriver/Integration-S3P-openrc
index 3a3bb32..3839182 100644
--- a/deployment/heat/onap-rke/env/windriver/Integration-HEAT-Daily-openrc
+++ b/deployment/heat/onap-rke/env/windriver/Integration-S3P-openrc
@@ -1,5 +1,5 @@
 export OS_PROJECT_ID=56d245b3c668419380d3b0f912497e29
-export OS_PROJECT_NAME=Integration-HEAT-Daily
+export OS_PROJECT_NAME=Integration-S3P-openrc
 export OS_USER_DOMAIN_NAME=Default
 export OS_USERNAME=demo
 export OS_PASSWORD=onapdemo
diff --git a/deployment/heat/onap-rke/env/windriver/Integration-OOM-Staging-Daily-openrc b/deployment/heat/onap-rke/env/windriver/Integration-Staging-Daily-openrc
similarity index 83%
rename from deployment/heat/onap-rke/env/windriver/Integration-OOM-Staging-Daily-openrc
rename to deployment/heat/onap-rke/env/windriver/Integration-Staging-Daily-openrc
index 062f3d1..4753d6f 100644
--- a/deployment/heat/onap-rke/env/windriver/Integration-OOM-Staging-Daily-openrc
+++ b/deployment/heat/onap-rke/env/windriver/Integration-Staging-Daily-openrc
@@ -1,5 +1,5 @@
 export OS_PROJECT_ID=09d8566ea45e43aa974cf447ed591d77
-export OS_PROJECT_NAME=Integration-OOM-Staging-Daily
+export OS_PROJECT_NAME=Integration-Staging-Daily
 export OS_USER_DOMAIN_NAME=Default
 export OS_USERNAME=demo
 export OS_PASSWORD=onapdemo
diff --git a/deployment/heat/onap-rke/env/windriver/Integration-OOM-Verify-openrc b/deployment/heat/onap-rke/env/windriver/Integration-Verify-openrc
similarity index 85%
rename from deployment/heat/onap-rke/env/windriver/Integration-OOM-Verify-openrc
rename to deployment/heat/onap-rke/env/windriver/Integration-Verify-openrc
index 1b48e4a..13f5c38 100644
--- a/deployment/heat/onap-rke/env/windriver/Integration-OOM-Verify-openrc
+++ b/deployment/heat/onap-rke/env/windriver/Integration-Verify-openrc
@@ -1,5 +1,5 @@
 export OS_PROJECT_ID=c27d16b88a4141ec8abcc07e731c0f24
-export OS_PROJECT_NAME=Integration-OOM-Verify
+export OS_PROJECT_NAME=Integration-Verify
 export OS_USER_DOMAIN_NAME=Default
 export OS_USERNAME=demo
 export OS_PASSWORD=onapdemo
diff --git a/deployment/heat/onap-rke/scripts/deploy.sh b/deployment/heat/onap-rke/scripts/deploy.sh
index e4e7d18..ecefe2a 100755
--- a/deployment/heat/onap-rke/scripts/deploy.sh
+++ b/deployment/heat/onap-rke/scripts/deploy.sh
@@ -109,7 +109,11 @@
 
 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 @@
 
 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 0000000..e6805ff
--- /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 <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
+
+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