ad7f060d12174fb7b208cbc0a146520bc975560a
[oom.git] / kubernetes / oneclick / deleteAll.bash
1 #!/bin/bash
2
3 . $(dirname "$0")/setenv.bash
4
5 delete_namespace() {
6   _NS=$1-$2
7   kubectl delete namespace $_NS
8   printf "Waiting for namespace $_NS termination...\n"
9   while kubectl get namespaces $_NS > /dev/null 2>&1; do
10     sleep 2
11   done
12   printf "Namespace $_NS deleted.\n\n"
13 }
14
15 delete_registry_key() {
16   kubectl --namespace $1-$2 delete secret onap-docker-registry-key
17 }
18
19 delete_service() {
20   kubectl --namespace $1-$2 delete -f ../$2/all-services.yaml
21 }
22
23 delete_app_helm() {
24   helm delete $1 --purge
25 }
26
27 usage() {
28   cat <<EOF
29 Usage: $0 [PARAMs]
30 -u                  : Display usage
31 -n [NAMESPACE]      : Kubernetes namespace (required)
32 -s true             : Include services (default: false)
33 -a [APP]            : Specify a specific ONAP component (default: all)
34                       from the following choices:
35                       sdc, aai ,mso, message-router, robot,
36                       vid, sdnc, portal, policy, appc
37 EOF
38 }
39
40 #MAINs
41 NS=
42 INCL_SVC=false
43 APP=
44
45 while getopts ":n:u:s:a:" PARAM; do
46   case $PARAM in
47     u)
48       usage
49       exit 1
50       ;;
51     n)
52       NS=${OPTARG}
53       ;;
54     s)
55       INCL_SVC=${OPTARG}
56       ;;
57     a)
58       APP=${OPTARG}
59       if [[ -z $APP ]]; then
60         usage
61         exit 1
62       fi
63       ;;
64     ?)
65       usage
66       exit
67       ;;
68   esac
69 done
70
71 if [[ -z $NS ]]; then
72   usage
73   exit 1
74 fi
75
76 if [[ ! -z "$APP" ]]; then
77   ONAP_APPS=($APP)
78 fi
79
80 printf "\n********** Cleaning up ONAP: ${ONAP_APPS[*]}\n"
81
82 for i in ${ONAP_APPS[@]}; do
83
84   # delete the deployments
85   /bin/bash $i.sh $NS $i 'delete'
86
87   if [[ "$INCL_SVC" == true ]]; then
88     printf "\nDeleting services **********\n"
89     delete_service $NS $i
90     delete_namespace $NS $i
91   fi
92
93 done
94
95 for i in ${HELM_APPS[@]}; do
96
97   delete_app_helm $i
98   delete_namespace $NS $i
99
100 done
101
102
103 printf "\n********** Gone **********\n"