onap on kubernetes source files
[oom.git] / kubernetes / oneclick / deleteAll.bash
diff --git a/kubernetes/oneclick/deleteAll.bash b/kubernetes/oneclick/deleteAll.bash
new file mode 100755 (executable)
index 0000000..8d145f9
--- /dev/null
@@ -0,0 +1,81 @@
+#!/bin/bash
+delete_namespace() {
+  kubectl delete namespace $1-$2
+}
+
+delete_service() {
+  kubectl --namespace $1-$2 delete -f ../$2/all-services.yaml
+}
+
+usage() {
+  cat <<EOF
+Usage: $0 [PARAMs]
+-u                  : Display usage
+-n [NAMESPACE]      : Kubernetes namespace (required)
+-s true             : Include services (default: false)
+-a [APP]            : Specify a specific ONAP component (default: all)
+                      from the following choices:
+                      sdc, aai ,mso, message-router, robot,
+                      vid, sdnc, portal, policy, appc
+EOF
+}
+
+#MAINs
+NS=
+INCL_SVC=false
+APP=
+
+while getopts ":n:u:s:a:" PARAM; do
+  case $PARAM in
+    u)
+      usage
+      exit 1
+      ;;
+    n)
+      NS=${OPTARG}
+      ;;
+    s)
+      INCL_SVC=${OPTARG}
+      ;;
+    a)
+      APP=${OPTARG}
+      if [[ -z $APP ]]; then
+        usage
+        exit 1
+      fi
+      ;;
+    ?)
+      usage
+      exit
+      ;;
+  esac
+done
+
+if [[ -z $NS ]]; then
+  usage
+  exit 1
+fi
+
+if [[ ! -z "$APP" ]]; then
+  ONAP_APPS=($APP)
+else
+  ONAP_APPS=('sdc' 'aai' 'mso' 'message-router' 'robot' 'vid' 'sdnc' 'portal' 'policy' 'appc')
+fi
+
+printf "\n********** Cleaning up ONAP: ${ONAP_APPS[*]}\n"
+
+for i in ${ONAP_APPS[@]}; do
+
+  if [[ "$INCL_SVC" == true ]]; then
+    printf "\nDeleting services **********\n"
+    delete_service $NS $i
+    delete_namespace $NS $i
+  fi
+
+  # delete the deployments
+  /bin/bash $i.sh $NS $i 'delete'
+
+done
+
+
+printf "\n********** Gone **********\n"