blob: 61e643b64ba80e977bc16b3d06d900d344ea21be [file] [log] [blame]
Gary Wucc10f1c2018-01-03 11:19:28 -08001#!/bin/bash -x
2
eHanan58ccb9d2018-08-07 14:09:26 +01003full_deletion=false
4
5usage() { echo "Usage: $0 [-n <string>] [-r]" 1>&2; exit 1; }
6
7while getopts ":rqn:" o; do
8 case "${o}" in
9
10 r)
11 echo "The following command will delete all information relating to onap within your enviroment"
12 read -p "Are you certain this is what you want? (type y to confirm):" answer
13
14 if [ $answer = "y" ] || [ $answer = "Y" ] || [ $answer = "yes" ] || [ $answer = "Yes"]; then
15 echo "This may delete the work of other colleages within the same enviroment"
16 read -p "Are you certain this is what you want? (type y to confirm):" answer2
17
18 if [ $answer2 = "y" ] || [ $answer2 = "Y" ] || [ $answer2 = "yes" ] || [ $answer2 = "Yes"]; then
19 full_deletion=true
20 else
21 echo "Ending program"
22 exit 1
23 fi
24 else
25 echo "Ending program"
26 exit 1
27 fi
28 ;;
29 q)
30 full_deletion=true
31 ;;
32 n)
33 install_name=${OPTARG}
34 ;;
35
36 *)
37 usage
38 ;;
39 esac
40done
41shift $((OPTIND-1))
42
Gary Wucc10f1c2018-01-03 11:19:28 -080043if [ -z "$WORKSPACE" ]; then
44 export WORKSPACE=`git rev-parse --show-toplevel`
45fi
46
47source $WORKSPACE/test/ete/scripts/install_openstack_cli.sh
48
eHanan58ccb9d2018-08-07 14:09:26 +010049if [ "$full_deletion" = true ];then
50 echo "Commencing delete, press CRTL-C to stop"
51 sleep 10
Gary Wucc10f1c2018-01-03 11:19:28 -080052
eHanan58ccb9d2018-08-07 14:09:26 +010053 # delete all instances
54 openstack server delete $(openstack server list -c ID -f value)
55 sleep 1
Gary Wucc10f1c2018-01-03 11:19:28 -080056
eHanan58ccb9d2018-08-07 14:09:26 +010057 # miscellaneous cleanup
58 openstack floating ip delete $(openstack floating ip list -c ID -f value)
59 sleep 1
Gary Wucc10f1c2018-01-03 11:19:28 -080060
eHanan58ccb9d2018-08-07 14:09:26 +010061 ROUTERS=$(openstack router list -c ID -f value)
62 echo $ROUTERS
63 for ROUTER in $ROUTERS; do
64 echo $ROUTER;
65 PORTS=$(openstack router show $ROUTER -c "interfaces_info" -f "value" | jq -r '.[].port_id')
66 for PORT in $PORTS; do
67 openstack router remove port $ROUTER $PORT
Gary Wucc10f1c2018-01-03 11:19:28 -080068 done
eHanan58ccb9d2018-08-07 14:09:26 +010069 openstack router delete $ROUTER
Gary Wucc10f1c2018-01-03 11:19:28 -080070 done
eHanan58ccb9d2018-08-07 14:09:26 +010071
72 openstack port delete $(openstack port list -f value -c ID)
73 openstack volume delete $(openstack volume list -f value -c ID)
74
75 # delete all except "default" security group
76 SECURITY_GROUPS=$(openstack security group list -c ID -f value | grep -v default)
77 openstack security group delete $SECURITY_GROUPS
78 sleep 1
79
80
81 # Delete all existing stacks
82 STACKS=$(openstack stack list -c "Stack Name" -f value)
83
84 if [ ! -z "${STACKS}" ]; then
85 openstack stack delete -y $STACKS
86 for STACK in ${STACKS}; do
87 until [ "DELETE_IN_PROGRESS" != "$(openstack stack show -c stack_status -f value $STACK)" ]; do
88 sleep 2
89 done
90 done
91 else
92 echo "No existing stacks to delete."
93 fi
94
95else
96 #Restrained teardown
97 echo "Restrained teardown"
98
99 STACK=$install_name
100
101 if [ ! -z "${STACK}" ]; then
102 openstack stack delete $STACK
103
104 until [ "DELETE_IN_PROGRESS" != "$(openstack stack show -c stack_status -f value $STACK)" ]; do
105 sleep 2
106 done
107 else
108 echo "No existing stack with the name $install_name."
109 fi
110fi