Merge "Revert "basic auth for so-monitoring""
[oom.git] / kubernetes / helm / plugins / deploy / deploy.sh
index 2bbae80..3da189b 100755 (executable)
@@ -109,6 +109,12 @@ deploy() {
     FLAGS="$(echo $FLAGS| sed -n 's/--verbose//p')"
     VERBOSE="true"
   fi
+  # determine if delay for deployment is enabled
+  DELAY="false"
+  if [[ $FLAGS = *"--delay"* ]]; then
+    FLAGS="$(echo $FLAGS| sed -n 's/--delay//p')"
+    DELAY="true"
+  fi   
   # determine if set-last-applied flag is enabled
   SET_LAST_APPLIED="false"
   if [[ $FLAGS = *"--set-last-applied"* ]]; then
@@ -134,13 +140,12 @@ deploy() {
   # actual upgrade/install of parent and subcharts.
   DEPLOY_FLAGS=$(resolve_deploy_flags "$FLAGS")
 
- # determine if upgrading individual subchart or entire parent + subcharts
 # determine if upgrading individual subchart or entire parent + subcharts
   SUBCHART_RELEASE="$(cut -d'-' -f2 <<<"$RELEASE")"
-  if [[ ! -d "$CACHE_SUBCHART_DIR/$SUBCHART_RELEASE" ]]; then
+  # update specified subchart without parent
+  RELEASE="$(cut -d'-' -f1 <<<"$RELEASE")"
+  if [[ $SUBCHART_RELEASE == $RELEASE ]]; then
     SUBCHART_RELEASE=
-  else
-    # update specified subchart without parent
-    RELEASE="$(cut -d'-' -f1 <<<"$RELEASE")"
   fi
 
   # clear previously cached charts
@@ -206,6 +211,9 @@ deploy() {
 
   # upgrade/install each "enabled" subchart
   cd $CACHE_SUBCHART_DIR/
+  #“helm ls” is an expensive command in that it can take a long time to execute.
+  #So cache the results to prevent repeated execution.
+  ALL_HELM_RELEASES=$(helm ls -q)
   for subchart in * ; do
     SUBCHART_OVERRIDES=$CACHE_SUBCHART_DIR/$subchart/subchart-overrides.yaml
 
@@ -235,8 +243,12 @@ deploy() {
              > $LOG_FILE.log 2>&1
         fi
       fi
+         if [[ $DELAY == "true" ]]; then
+               echo sleep 3m
+               sleep 3m
+         fi                                              
     else
-      array=($(helm ls -q | grep "${RELEASE}-${subchart}"))
+      array=($(echo "$ALL_HELM_RELEASES" | grep "${RELEASE}-${subchart}"))
       n=${#array[*]}
       for (( i = n-1; i >= 0; i-- )); do
         helm del "${array[i]}" --purge