c8759bc05e9acac578d463717e75060eb5f0030f
[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 ${1}-docker-registry-key
17 }
18
19 delete_app_helm() {
20   helm delete $1-$2 --purge
21 }
22
23 usage() {
24   cat <<EOF
25 Usage: $0 [PARAMs]
26 -u                  : Display usage
27 -n [NAMESPACE]      : Kubernetes namespace (required)
28 -a [APP]            : Specify a specific ONAP component (default: all)
29                       from the following choices:
30                       sdc, aai ,mso, message-router, robot,
31                       vid, sdnc, portal, policy, appc, multicloud
32 EOF
33 }
34
35 #MAINs
36 NS=
37 INCL_SVC=false
38 APP=
39
40 while getopts ":n:u:s:a:" PARAM; do
41   case $PARAM in
42     u)
43       usage
44       exit 1
45       ;;
46     n)
47       NS=${OPTARG}
48       ;;
49     a)
50       APP=${OPTARG}
51       if [[ -z $APP ]]; then
52         usage
53         exit 1
54       fi
55       ;;
56     ?)
57       usage
58       exit
59       ;;
60   esac
61 done
62
63 if [[ -z $NS ]]; then
64   usage
65   exit 1
66 fi
67
68 if [[ ! -z "$APP" ]]; then
69   HELM_APPS=($APP)
70 fi
71
72 printf "\n********** Cleaning up ONAP: ${ONAP_APPS[*]}\n"
73
74
75 for i in ${HELM_APPS[@]}; do
76
77   delete_app_helm $NS $i
78   delete_namespace $NS $i
79
80 done
81
82
83 printf "\n********** Gone **********\n"