ONAP environment teardown script 05/27305/2
authorGary Wu <gary.i.wu@huawei.com>
Wed, 3 Jan 2018 19:19:28 +0000 (11:19 -0800)
committerGary Wu <gary.i.wu@huawei.com>
Wed, 3 Jan 2018 19:28:03 +0000 (11:28 -0800)
Change-Id: I27afbc37ec35f374d1c82ada60698a9461627c72
Issue-ID: INT-278
Signed-off-by: Gary Wu <gary.i.wu@huawei.com>
test/ete/scripts/deploy-onap.sh
test/ete/scripts/dns-zones/delete-dns-zones.sh [new file with mode: 0755]
test/ete/scripts/teardown-onap.sh [new file with mode: 0755]

index 5c74da7..c72de1c 100755 (executable)
@@ -6,31 +6,7 @@ fi
 
 source $WORKSPACE/test/ete/scripts/install_openstack_cli.sh
 
-# Delete all existing stacks
-STACKS=$(openstack stack list -c "Stack Name" -f value)
-
-if [ ! -z "${STACKS}" ]; then
-    echo "Deleting Stacks ${STACKS}"
-    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 30
-        done
-    done
-else
-    echo "No existing stacks to delete."
-fi
-
-# miscellaneous cleanup
-openstack floating ip delete $(openstack floating ip list -c ID -f value)
-openstack port delete $(openstack port list -f value -c ID)
-openstack router delete $(openstack router list -f value -c ID)
-openstack port delete $(openstack port list -f value -c ID)
-openstack router delete $(openstack router 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)
-
-
+$WORKSPACE/test/ete/scripts/teardown-onap.sh
 
 STACK="ete-$(uuidgen | cut -c-8)"
 echo "New Stack Name: ${STACK}"
diff --git a/test/ete/scripts/dns-zones/delete-dns-zones.sh b/test/ete/scripts/dns-zones/delete-dns-zones.sh
new file mode 100755 (executable)
index 0000000..00438b4
--- /dev/null
@@ -0,0 +1,27 @@
+#!/bin/bash -x
+
+if [ "$#" -ne 1 ]; then
+    echo "Usage: $0 <project-name>"
+    exit 1
+fi
+
+if [ -z "$WORKSPACE" ]; then
+    export WORKSPACE=`git rev-parse --show-toplevel`
+fi
+
+MULTICLOUD_IP=$($WORKSPACE/test/ete/scripts/get-floating-ip.sh onap-multi-service)
+
+export MULTICLOUD_PLUGIN_ENDPOINT=http://$MULTICLOUD_IP:9005/api/multicloud-titanium_cloud/v0/pod25_RegionOne
+
+export TOKEN=$(curl -v -s -H "Content-Type: application/json" -X POST -d '{"auth": {"identity": {"methods": ["password"],"password": {"user": {"name": "demo","password": "onapdemo"}}},"scope": {"project":{"domain":{"name":"Default"},"name": "'$1'" } }}}'  $MULTICLOUD_PLUGIN_ENDPOINT/identity/v3/auth/tokens  2>&1 | grep X-Subject-Token | sed "s/^.*: //")
+
+
+ZONES=$(curl -v -s  -H "Content-Type: application/json" -H "X-Auth-Token: $TOKEN" -X GET $MULTICLOUD_PLUGIN_ENDPOINT/dns-delegate/v2/zones | jq '.["zones"][] | .name' | tr -d '"' )
+
+echo $ZONES
+
+for ZONENAME in $ZONES; do
+    echo $ZONENAME;
+    export ZONEID=$(curl -v -s  -H "Content-Type: application/json" -H "X-Auth-Token: $TOKEN" -X GET $MULTICLOUD_PLUGIN_ENDPOINT/dns-delegate/v2/zones?name=$ZONENAME |sed 's/^.*"id":"\([a-zA-Z0-9-]*\)",.*$/\1/')
+    curl -v -s  -H "Content-Type: application/json" -H "X-Auth-Token: $TOKEN" -X DELETE $MULTICLOUD_PLUGIN_ENDPOINT/dns-delegate/v2/zones/$ZONEID
+done
diff --git a/test/ete/scripts/teardown-onap.sh b/test/ete/scripts/teardown-onap.sh
new file mode 100755 (executable)
index 0000000..eecef87
--- /dev/null
@@ -0,0 +1,54 @@
+#!/bin/bash -x
+
+if [ -z "$WORKSPACE" ]; then
+    export WORKSPACE=`git rev-parse --show-toplevel`
+fi
+
+source $WORKSPACE/test/ete/scripts/install_openstack_cli.sh
+
+# delete all Designate DNS records; do this first since we rely on multi-vim for this
+$WORKSPACE/test/ete/scripts/dns-zones/delete-dns-zones.sh $OS_PROJECT_NAME
+sleep 1
+
+# 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 $ZONENAME;
+    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 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 Name -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)
+
+if [ ! -z "${STACKS}" ]; then
+    echo "Deleting Stacks ${STACKS}"
+    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