From 10341749c8db075fbd0d6b9684a1b7bf7aab6b33 Mon Sep 17 00:00:00 2001 From: Joey Sullivan Date: Tue, 11 Jun 2019 10:38:51 -0400 Subject: [PATCH] Increase helm deploy perf by reducing helm ls Helm ls takes a lot of time to execute. This code change makes sure it only executes once per helm deploy instead of once per helm release. Issue-ID: OOM-1923 Signed-off-by: Joey Sullivan Change-Id: I6337c97380d9f583b33f55a2be1d41ac7ce350c8 --- kubernetes/helm/plugins/deploy/deploy.sh | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/kubernetes/helm/plugins/deploy/deploy.sh b/kubernetes/helm/plugins/deploy/deploy.sh index 2bbae80a3e..3416a02596 100755 --- a/kubernetes/helm/plugins/deploy/deploy.sh +++ b/kubernetes/helm/plugins/deploy/deploy.sh @@ -206,6 +206,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 @@ -236,7 +239,7 @@ deploy() { fi 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 -- 2.16.6