summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMunir Ahmad <munir.ahmad@bell.ca>2017-12-20 13:09:05 -0500
committerAlexis de Talhouƫt <alexis.de_talhouet@bell.ca>2018-01-04 13:02:23 +0000
commit4add94b725ffedf935a1e831663ddad773894ec0 (patch)
tree482abd5953aad250c4a2311109574ae595694030
parentde049024ceac6dfe48c8e4d06464c419569b61d7 (diff)
Confirm k8s context with a prompt
Change-Id: I484cbcafb83a6bec93ba1445769d6f9394c94713 Issue-ID: OOM-528 Signed-off-by: Munir Ahmad <munir.ahmad@bell.ca>
-rwxr-xr-xkubernetes/oneclick/deleteAll.bash35
1 files changed, 34 insertions, 1 deletions
diff --git a/kubernetes/oneclick/deleteAll.bash b/kubernetes/oneclick/deleteAll.bash
index b41679b061..53f1d1a9cb 100755
--- a/kubernetes/oneclick/deleteAll.bash
+++ b/kubernetes/oneclick/deleteAll.bash
@@ -43,6 +43,8 @@ usage() {
Usage: $0 [PARAMs]
-u : Display usage
-n [NAMESPACE] : Kubernetes namespace (required)
+-c : kubectl context (default: current context)
+-y : Skip interactive confirmation (default: no)
-a [APP] : Specify a specific ONAP component (default: all)
from the following choices:
sdc, aai ,mso, message-router, robot, vid, aaf, uui
@@ -56,8 +58,10 @@ NS=
INCL_SVC=false
APP=
WAIT_TERMINATE=true
+SKIP_INTERACTIVE_CONFIRMATION=no
+KUBECTL_CONTEXT=
-while getopts ":n:u:s:a:N" PARAM; do
+while getopts ":c:n:u:s:a:yN" PARAM; do
case $PARAM in
u)
usage
@@ -76,6 +80,12 @@ while getopts ":n:u:s:a:N" PARAM; do
N)
WAIT_TERMINATE=false
;;
+ y)
+ SKIP_INTERACTIVE_CONFIRMATION=yes
+ ;;
+ c)
+ KUBECTL_CONTEXT=${OPTARG}
+ ;;
?)
usage
exit
@@ -88,6 +98,29 @@ if [[ -z $NS ]]; then
exit 1
fi
+if [[ "$SKIP_INTERACTIVE_CONFIRMATION" != yes ]]; then
+ current_kubectl_context=$(kubectl config get-contexts |grep "*" |awk '{print $2}')
+ if test "$KUBECTL_CONTEXT" != "$current_kubectl_context"; then
+ printf "Current kubectl context does not match context specified:\x1b[31m $current_kubectl_context\x1b[0m\n"
+ if [ ! -z "$KUBECTL_CONTEXT" -a "$KUBECTL_CONTEXT" != " " ]; then
+ read -p "Do you wish to switch context to $KUBECTL_CONTEXT and continue?" yn
+ case $yn in
+ [Yy]* ) kubectl config use-context $KUBECTL_CONTEXT;;
+ * ) printf "Skipping delete...\n"; exit;;
+ esac
+ else
+ printf "You are about to delete deployment from:\x1b[31m $current_kubectl_context\x1b[0m\n"
+ read -p "To continue enter context name: " response
+
+ if test "$response" != "$current_kubectl_context"
+ then
+ printf "Your response does not match current context! Skipping delete ...\n"
+ exit 1
+ fi
+ fi
+ fi
+fi
+
if [[ ! -z "$APP" ]]; then
HELM_APPS=($APP)
fi