From faf3c9f18b0c19340f3f1865049147584bd04cc7 Mon Sep 17 00:00:00 2001 From: dheeth Date: Wed, 12 Oct 2022 02:56:16 +0530 Subject: [PATCH 1/6] Changes for arm-upgrade --- scripts/shell/upgrade-devtron-v6.sh | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/scripts/shell/upgrade-devtron-v6.sh b/scripts/shell/upgrade-devtron-v6.sh index 16fd07ef..1ba64972 100644 --- a/scripts/shell/upgrade-devtron-v6.sh +++ b/scripts/shell/upgrade-devtron-v6.sh @@ -128,16 +128,28 @@ kubectl label crd appprojects.argoproj.io "app.kubernetes.io/managed-by=Helm" -- kubectl annotate crd appprojects.argoproj.io "meta.helm.sh/release-name=$RELEASE_NAME" "meta.helm.sh/release-namespace=devtroncd" --overwrite kubectl delete sts argocd-application-controller -n devtroncd kubectl delete deploy argocd-redis argocd-repo-server argocd-server -n devtroncd +current_version=$(helm ls -n devtroncd -o json | grep -Po '"chart":.*?[^\\]"' | awk -F'[:]' '{print $2}' | awk -F'[-"]' '{print $4}') +legacy_version=$(echo "$current_version 0.22.38" | awk '{print ($1 < $2)}') provider=$(kubectl -n devtroncd get cm devtron-cm -o jsonpath='{.data.BLOB_STORAGE_PROVIDER}') -helm repo update +microk8s helm3 repo update if [ "$provider" = "MINIO" ] then echo "Found Blob Storage Provider as Minio" -minioAccessKey=$(kubectl -n devtroncd get secret devtron-minio -o jsonpath='{.data.accesskey}' | base64 -d) -minioSecretKey=$(kubectl -n devtroncd get secret devtron-minio -o jsonpath='{.data.secretkey}' | base64 -d) +minioAccessKey=$(microk8s kubectl -n devtroncd get secret devtron-minio -o jsonpath='{.data.accesskey}' | base64 -d) +minioSecretKey=$(microk8s kubectl -n devtroncd get secret devtron-minio -o jsonpath='{.data.secretkey}' | base64 -d) +if [ $legacy_version -eq 1 ] +then +helm upgrade $RELEASE_NAME devtron/devtron-operator -n devtroncd -f https://raw.githubusercontent.com/devtron-labs/devtron/main/charts/devtron/values.yaml --reuse-values --set configs.BLOB_STORAGE_PROVIDER="S3" --set configs.BLOB_STORAGE_S3_ENDPOINT="http://devtron-minio.devtroncd:9000" --set-string configs.BLOB_STORAGE_S3_ENDPOINT_INSECURE="true" --set secrets.BLOB_STORAGE_S3_ACCESS_KEY=$minioAccessKey --set secrets.BLOB_STORAGE_S3_SECRET_KEY=$minioSecretKey --set configs.DEFAULT_BUILD_LOGS_BUCKET="devtron-ci-log" --set configs.DEFAULT_CACHE_BUCKET="devtron-ci-cache" --set installer.modules={cicd} --set argo-cd.enabled=true --set security.enabled=true --set security.clair.enabled=true --set monitoring.grafana.enabled=true --set notifier.enabled=true --set installer.arch="legacy" +else helm upgrade $RELEASE_NAME devtron/devtron-operator -n devtroncd -f https://raw.githubusercontent.com/devtron-labs/devtron/main/charts/devtron/values.yaml --reuse-values --set configs.BLOB_STORAGE_PROVIDER="S3" --set configs.BLOB_STORAGE_S3_ENDPOINT="http://devtron-minio.devtroncd:9000" --set-string configs.BLOB_STORAGE_S3_ENDPOINT_INSECURE="true" --set secrets.BLOB_STORAGE_S3_ACCESS_KEY=$minioAccessKey --set secrets.BLOB_STORAGE_S3_SECRET_KEY=$minioSecretKey --set configs.DEFAULT_BUILD_LOGS_BUCKET="devtron-ci-log" --set configs.DEFAULT_CACHE_BUCKET="devtron-ci-cache" --set installer.modules={cicd} --set argo-cd.enabled=true --set security.enabled=true --set security.clair.enabled=true --set monitoring.grafana.enabled=true --set notifier.enabled=true +fi else echo "Blob Storage Provider - $provider" +if [ $legacy_version -eq 1 ] +then +helm upgrade $RELEASE_NAME devtron/devtron-operator -n devtroncd -f https://raw.githubusercontent.com/devtron-labs/devtron/main/charts/devtron/values.yaml --reuse-values --set installer.modules={cicd} --set configs.BLOB_STORAGE_PROVIDER=$provider --set argo-cd.enabled=true --set security.enabled=true --set security.clair.enabled=true --set monitoring.grafana.enabled=true --set notifier.enabled=true --set installer.arch="legacy" +else helm upgrade $RELEASE_NAME devtron/devtron-operator -n devtroncd -f https://raw.githubusercontent.com/devtron-labs/devtron/main/charts/devtron/values.yaml --reuse-values --set installer.modules={cicd} --set configs.BLOB_STORAGE_PROVIDER=$provider --set argo-cd.enabled=true --set security.enabled=true --set security.clair.enabled=true --set monitoring.grafana.enabled=true --set notifier.enabled=true fi fi +fi From 155b91f9819507ab3004d5f60a45d0cf923b021c Mon Sep 17 00:00:00 2001 From: dheeth Date: Wed, 12 Oct 2022 02:58:08 +0530 Subject: [PATCH 2/6] Updated microk8s helm3 with helm --- scripts/shell/upgrade-devtron-v6.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/shell/upgrade-devtron-v6.sh b/scripts/shell/upgrade-devtron-v6.sh index 1ba64972..07d47b6f 100644 --- a/scripts/shell/upgrade-devtron-v6.sh +++ b/scripts/shell/upgrade-devtron-v6.sh @@ -131,7 +131,7 @@ kubectl delete deploy argocd-redis argocd-repo-server argocd-server -n devtroncd current_version=$(helm ls -n devtroncd -o json | grep -Po '"chart":.*?[^\\]"' | awk -F'[:]' '{print $2}' | awk -F'[-"]' '{print $4}') legacy_version=$(echo "$current_version 0.22.38" | awk '{print ($1 < $2)}') provider=$(kubectl -n devtroncd get cm devtron-cm -o jsonpath='{.data.BLOB_STORAGE_PROVIDER}') -microk8s helm3 repo update +helm repo update if [ "$provider" = "MINIO" ] then echo "Found Blob Storage Provider as Minio" From 292d5b4ff69d0e31c2a5c6b0cc846495c6d7d5db Mon Sep 17 00:00:00 2001 From: dheeth Date: Wed, 12 Oct 2022 02:58:55 +0530 Subject: [PATCH 3/6] Updated microk8s kubectl with kubectl --- scripts/shell/upgrade-devtron-v6.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/shell/upgrade-devtron-v6.sh b/scripts/shell/upgrade-devtron-v6.sh index 07d47b6f..009c98eb 100644 --- a/scripts/shell/upgrade-devtron-v6.sh +++ b/scripts/shell/upgrade-devtron-v6.sh @@ -135,8 +135,8 @@ helm repo update if [ "$provider" = "MINIO" ] then echo "Found Blob Storage Provider as Minio" -minioAccessKey=$(microk8s kubectl -n devtroncd get secret devtron-minio -o jsonpath='{.data.accesskey}' | base64 -d) -minioSecretKey=$(microk8s kubectl -n devtroncd get secret devtron-minio -o jsonpath='{.data.secretkey}' | base64 -d) +minioAccessKey=$(kubectl -n devtroncd get secret devtron-minio -o jsonpath='{.data.accesskey}' | base64 -d) +minioSecretKey=$(kubectl -n devtroncd get secret devtron-minio -o jsonpath='{.data.secretkey}' | base64 -d) if [ $legacy_version -eq 1 ] then helm upgrade $RELEASE_NAME devtron/devtron-operator -n devtroncd -f https://raw.githubusercontent.com/devtron-labs/devtron/main/charts/devtron/values.yaml --reuse-values --set configs.BLOB_STORAGE_PROVIDER="S3" --set configs.BLOB_STORAGE_S3_ENDPOINT="http://devtron-minio.devtroncd:9000" --set-string configs.BLOB_STORAGE_S3_ENDPOINT_INSECURE="true" --set secrets.BLOB_STORAGE_S3_ACCESS_KEY=$minioAccessKey --set secrets.BLOB_STORAGE_S3_SECRET_KEY=$minioSecretKey --set configs.DEFAULT_BUILD_LOGS_BUCKET="devtron-ci-log" --set configs.DEFAULT_CACHE_BUCKET="devtron-ci-cache" --set installer.modules={cicd} --set argo-cd.enabled=true --set security.enabled=true --set security.clair.enabled=true --set monitoring.grafana.enabled=true --set notifier.enabled=true --set installer.arch="legacy" From 86ce3856a5bb7220af60b3c53c995f1bd91d6a31 Mon Sep 17 00:00:00 2001 From: dheeth Date: Wed, 12 Oct 2022 03:04:27 +0530 Subject: [PATCH 4/6] Updated changes for devtron without cicd mode --- scripts/shell/upgrade-devtron-v6.sh | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/scripts/shell/upgrade-devtron-v6.sh b/scripts/shell/upgrade-devtron-v6.sh index 009c98eb..a9abe1c3 100644 --- a/scripts/shell/upgrade-devtron-v6.sh +++ b/scripts/shell/upgrade-devtron-v6.sh @@ -1,3 +1,5 @@ +current_version=$(helm ls -n devtroncd -o json | grep -Po '"chart":.*?[^\\]"' | awk -F'[:]' '{print $2}' | awk -F'[-"]' '{print $4}') +legacy_version=$(echo "$current_version 0.22.38" | awk '{print ($1 < $2)}') kubectl get deploy inception -n devtroncd if [ $(echo $?) -eq 1 ] then @@ -6,7 +8,12 @@ kubectl create ns argo kubectl create ns devtron-ci kubectl create ns devtron-cd helm repo update +if [ $legacy_version -eq 1 ] +then +helm upgrade $RELEASE_NAME devtron/devtron-operator -n devtroncd -f https://raw.githubusercontent.com/devtron-labs/devtron/main/charts/devtron/values.yaml --reuse-values --set installer.arch="legacy" +else helm upgrade $RELEASE_NAME devtron/devtron-operator -n devtroncd -f https://raw.githubusercontent.com/devtron-labs/devtron/main/charts/devtron/values.yaml --reuse-values +fi else echo "Found Devtron with CICD - Upgrading to latest version. Please ignore any errors you observe during upgrade" sleep 3 @@ -128,8 +135,6 @@ kubectl label crd appprojects.argoproj.io "app.kubernetes.io/managed-by=Helm" -- kubectl annotate crd appprojects.argoproj.io "meta.helm.sh/release-name=$RELEASE_NAME" "meta.helm.sh/release-namespace=devtroncd" --overwrite kubectl delete sts argocd-application-controller -n devtroncd kubectl delete deploy argocd-redis argocd-repo-server argocd-server -n devtroncd -current_version=$(helm ls -n devtroncd -o json | grep -Po '"chart":.*?[^\\]"' | awk -F'[:]' '{print $2}' | awk -F'[-"]' '{print $4}') -legacy_version=$(echo "$current_version 0.22.38" | awk '{print ($1 < $2)}') provider=$(kubectl -n devtroncd get cm devtron-cm -o jsonpath='{.data.BLOB_STORAGE_PROVIDER}') helm repo update if [ "$provider" = "MINIO" ] From 9d75a628d130ef5d37b3a5056f549a001eaa7a63 Mon Sep 17 00:00:00 2001 From: dheeth Date: Wed, 12 Oct 2022 03:48:58 +0530 Subject: [PATCH 5/6] Updated logic to check current version --- scripts/shell/upgrade-devtron-v6.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/shell/upgrade-devtron-v6.sh b/scripts/shell/upgrade-devtron-v6.sh index a9abe1c3..680caa1c 100644 --- a/scripts/shell/upgrade-devtron-v6.sh +++ b/scripts/shell/upgrade-devtron-v6.sh @@ -1,4 +1,4 @@ -current_version=$(helm ls -n devtroncd -o json | grep -Po '"chart":.*?[^\\]"' | awk -F'[:]' '{print $2}' | awk -F'[-"]' '{print $4}') +current_version=$(helm ls -n devtroncd -o json | grep -Po '"chart":.*?[^\\]"' | awk -F'["]' '{print $4}' | awk -F'[-]' '{print $3}') legacy_version=$(echo "$current_version 0.22.38" | awk '{print ($1 < $2)}') kubectl get deploy inception -n devtroncd if [ $(echo $?) -eq 1 ] From 85029cbbc8906a2de52386c49b576cab763832ff Mon Sep 17 00:00:00 2001 From: dheeth Date: Wed, 12 Oct 2022 13:34:29 +0530 Subject: [PATCH 6/6] Fixed issues with upgrade --- scripts/shell/upgrade-devtron-v6.sh | 21 ++++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) diff --git a/scripts/shell/upgrade-devtron-v6.sh b/scripts/shell/upgrade-devtron-v6.sh index 680caa1c..d825e1d6 100644 --- a/scripts/shell/upgrade-devtron-v6.sh +++ b/scripts/shell/upgrade-devtron-v6.sh @@ -1,5 +1,16 @@ -current_version=$(helm ls -n devtroncd -o json | grep -Po '"chart":.*?[^\\]"' | awk -F'["]' '{print $4}' | awk -F'[-]' '{print $3}') -legacy_version=$(echo "$current_version 0.22.38" | awk '{print ($1 < $2)}') +# Check if $RELEASE_NAME is set if not, then set default to devtron +if [ -z $RELEASE_NAME ] +then +RELEASE_NAME=devtron +fi +current_version=$(helm ls -n devtroncd -f $RELEASE_NAME -o json | grep -Po '"chart":.*?[^\\]"' | awk -F'["]' '{print $4}' | awk -F'[-]' '{print $3}') +# If current version not found, abort upgrade +if [ -z $current_version ] +then +echo "Current Version not found - Aborting Upgrade please contact us on https://discord.devtron.ai" +exit 1 +fi +is_legacy=$(echo "$current_version 0.22.35" | awk '{print ($1 < $2)}') kubectl get deploy inception -n devtroncd if [ $(echo $?) -eq 1 ] then @@ -8,7 +19,7 @@ kubectl create ns argo kubectl create ns devtron-ci kubectl create ns devtron-cd helm repo update -if [ $legacy_version -eq 1 ] +if [ $is_legacy -eq 1 ] then helm upgrade $RELEASE_NAME devtron/devtron-operator -n devtroncd -f https://raw.githubusercontent.com/devtron-labs/devtron/main/charts/devtron/values.yaml --reuse-values --set installer.arch="legacy" else @@ -142,7 +153,7 @@ then echo "Found Blob Storage Provider as Minio" minioAccessKey=$(kubectl -n devtroncd get secret devtron-minio -o jsonpath='{.data.accesskey}' | base64 -d) minioSecretKey=$(kubectl -n devtroncd get secret devtron-minio -o jsonpath='{.data.secretkey}' | base64 -d) -if [ $legacy_version -eq 1 ] +if [ $is_legacy -eq 1 ] then helm upgrade $RELEASE_NAME devtron/devtron-operator -n devtroncd -f https://raw.githubusercontent.com/devtron-labs/devtron/main/charts/devtron/values.yaml --reuse-values --set configs.BLOB_STORAGE_PROVIDER="S3" --set configs.BLOB_STORAGE_S3_ENDPOINT="http://devtron-minio.devtroncd:9000" --set-string configs.BLOB_STORAGE_S3_ENDPOINT_INSECURE="true" --set secrets.BLOB_STORAGE_S3_ACCESS_KEY=$minioAccessKey --set secrets.BLOB_STORAGE_S3_SECRET_KEY=$minioSecretKey --set configs.DEFAULT_BUILD_LOGS_BUCKET="devtron-ci-log" --set configs.DEFAULT_CACHE_BUCKET="devtron-ci-cache" --set installer.modules={cicd} --set argo-cd.enabled=true --set security.enabled=true --set security.clair.enabled=true --set monitoring.grafana.enabled=true --set notifier.enabled=true --set installer.arch="legacy" else @@ -150,7 +161,7 @@ helm upgrade $RELEASE_NAME devtron/devtron-operator -n devtroncd -f https://raw. fi else echo "Blob Storage Provider - $provider" -if [ $legacy_version -eq 1 ] +if [ $is_legacy -eq 1 ] then helm upgrade $RELEASE_NAME devtron/devtron-operator -n devtroncd -f https://raw.githubusercontent.com/devtron-labs/devtron/main/charts/devtron/values.yaml --reuse-values --set installer.modules={cicd} --set configs.BLOB_STORAGE_PROVIDER=$provider --set argo-cd.enabled=true --set security.enabled=true --set security.clair.enabled=true --set monitoring.grafana.enabled=true --set notifier.enabled=true --set installer.arch="legacy" else