Merge "Adjust loggers to latest"
[oom.git] / kubernetes / oneclick / deleteAll.bash
index f7c48fd..b41679b 100755 (executable)
@@ -5,28 +5,39 @@
 delete_namespace() {
   _NS=$1-$2
   kubectl delete namespace $_NS
-   printf "Waiting for namespace $_NS termination...\n"
-   while kubectl get namespaces $_NS > /dev/null 2>&1; do
-     sleep 2
-   done
-  printf "Namespace $_NS deleted.\n\n"
 }
 
-delete_registry_key() {
-  kubectl --namespace $1-$2 delete secret ${1}-docker-registry-key
+delete_service_account() {
+    kubectl delete clusterrolebinding $1-$2-admin-binding
+    printf "Service account $1-$2-admin-binding deleted.\n\n"
 }
 
-delete_certs_secret() {
-  if [ -d $LOCATION/config/certs/$i/ ]; then
-    kubectl delete secret secret-$1-$2 -n $1-$2
-  fi
+delete_registry_key() {
+  kubectl --namespace $1-$2 delete secret ${1}-docker-registry-key
 }
 
-
 delete_app_helm() {
   helm delete $1-$2 --purge
 }
 
+wait_terminate() {
+  printf "Waiting for namespaces termination...\n"
+  while true; do
+    declare -i _STATUS=0
+    for i in ${HELM_APPS[@]}; do
+      kubectl get namespaces $1-$i > /dev/null 2>&1
+      if [ "$?" -eq "0" ]; then
+        _STATUS=1
+        break
+      fi
+    done
+    if [ "$_STATUS" -eq "0" ]; then
+      break
+    fi
+    sleep 2
+  done
+}
+
 usage() {
   cat <<EOF
 Usage: $0 [PARAMs]
@@ -34,8 +45,9 @@ Usage: $0 [PARAMs]
 -n [NAMESPACE]      : Kubernetes namespace (required)
 -a [APP]            : Specify a specific ONAP component (default: all)
                       from the following choices:
-                      sdc, aai ,mso, message-router, robot,
-                      vid, sdnc, portal, policy, appc
+                      sdc, aai ,mso, message-router, robot, vid, aaf, uui
+                      sdnc, portal, policy, appc, multicloud, clamp, consul, vnfsdk
+-N                  : Do not wait for deletion of namespace and its objects
 EOF
 }
 
@@ -43,9 +55,9 @@ EOF
 NS=
 INCL_SVC=false
 APP=
-LOCATION="../"
+WAIT_TERMINATE=true
 
-while getopts ":n:u:s:a:l:" PARAM; do
+while getopts ":n:u:s:a:N" PARAM; do
   case $PARAM in
     u)
       usage
@@ -61,8 +73,8 @@ while getopts ":n:u:s:a:l:" PARAM; do
         exit 1
       fi
       ;;
-    l)
-      LOCATION=${OPTARG}
+    N)
+      WAIT_TERMINATE=false
       ;;
     ?)
       usage
@@ -82,14 +94,19 @@ fi
 
 printf "\n********** Cleaning up ONAP: ${ONAP_APPS[*]}\n"
 
-
 for i in ${HELM_APPS[@]}; do
 
-  delete_certs_secret $NS $i
   delete_app_helm $NS $i
   delete_namespace $NS $i
+  delete_service_account $NS $i
 
 done
 
+delete_app_helm $NS "config"
+kubectl delete namespace $NS
+
+if $WAIT_TERMINATE; then
+  wait_terminate $NS
+fi
 
 printf "\n********** Gone **********\n"