From b6e2aa8af766197fc585605b30e91e85f97bc401 Mon Sep 17 00:00:00 2001 From: Jakub Darmach Date: Thu, 8 Feb 2024 14:49:00 +0100 Subject: [PATCH] Move Helm client install to separate script To deploy Calico with Tigera Operator helm charts it was necessary to move Helm client install to separate script for earlier execution. Change-Id: Iab738b4120c0ac823b247b04f0cd750de0147779 --- .../fragments/install-helm-modules.sh | 21 ---------- .../kubernetes/fragments/install-helm.sh | 41 +++++++++++++++++++ .../templates/kubecluster.yaml | 1 + 3 files changed, 42 insertions(+), 21 deletions(-) create mode 100644 magnum/drivers/common/templates/kubernetes/fragments/install-helm.sh diff --git a/magnum/drivers/common/templates/kubernetes/fragments/install-helm-modules.sh b/magnum/drivers/common/templates/kubernetes/fragments/install-helm-modules.sh index 1bdc5aabc6..e9181d6e3d 100644 --- a/magnum/drivers/common/templates/kubernetes/fragments/install-helm-modules.sh +++ b/magnum/drivers/common/templates/kubernetes/fragments/install-helm-modules.sh @@ -17,32 +17,11 @@ if [ ! -z "$NO_PROXY" ]; then export NO_PROXY fi -ssh_cmd="ssh -F /srv/magnum/.ssh/config root@localhost" - echo "Waiting for Kubernetes API..." until [ "ok" = "$(kubectl get --raw='/healthz')" ]; do sleep 5 done -if [ -z "${HELM_CLIENT_URL}" ] ; then - HELM_CLIENT_URL="https://get.helm.sh/helm-$HELM_CLIENT_TAG-linux-amd64.tar.gz" -fi -i=0 -until curl -o /srv/magnum/helm-client.tar.gz "${HELM_CLIENT_URL}"; do - i=$((i + 1)) - [ $i -lt 5 ] || break; - sleep 5 -done - -if ! echo "${HELM_CLIENT_SHA256} /srv/magnum/helm-client.tar.gz" | sha256sum -c - ; then - echo "ERROR helm-client.tar.gz computed checksum did NOT match, exiting." - exit 1 -fi - -source /etc/bashrc -$ssh_cmd tar xzvf /srv/magnum/helm-client.tar.gz linux-amd64/helm -O > /srv/magnum/bin/helm -$ssh_cmd chmod +x /srv/magnum/bin/helm - helm_install_cmd="helm upgrade --install magnum . --namespace kube-system --values values.yaml --render-subchart-notes" helm_history_cmd="helm history magnum --namespace kube-system" if [[ "${HELM_CLIENT_TAG}" == v2.* ]]; then diff --git a/magnum/drivers/common/templates/kubernetes/fragments/install-helm.sh b/magnum/drivers/common/templates/kubernetes/fragments/install-helm.sh new file mode 100644 index 0000000000..e73e30bc4f --- /dev/null +++ b/magnum/drivers/common/templates/kubernetes/fragments/install-helm.sh @@ -0,0 +1,41 @@ +step="install-helm" +echo "START: ${step}" + +set +x +. /etc/sysconfig/heat-params +set -ex + +if [ ! -z "$HTTP_PROXY" ]; then + export HTTP_PROXY +fi + +if [ ! -z "$HTTPS_PROXY" ]; then + export HTTPS_PROXY +fi + +if [ ! -z "$NO_PROXY" ]; then + export NO_PROXY +fi + +ssh_cmd="ssh -F /srv/magnum/.ssh/config root@localhost" + +if [ -z "${HELM_CLIENT_URL}" ] ; then + HELM_CLIENT_URL="https://get.helm.sh/helm-$HELM_CLIENT_TAG-linux-amd64.tar.gz" +fi +i=0 +until curl -o /srv/magnum/helm-client.tar.gz "${HELM_CLIENT_URL}"; do + i=$((i + 1)) + [ $i -lt 5 ] || break; + sleep 5 +done + +if ! echo "${HELM_CLIENT_SHA256} /srv/magnum/helm-client.tar.gz" | sha256sum -c - ; then + echo "ERROR helm-client.tar.gz computed checksum did NOT match, exiting." + exit 1 +fi + +source /etc/bashrc +$ssh_cmd tar xzvf /srv/magnum/helm-client.tar.gz linux-amd64/helm -O > /srv/magnum/bin/helm +$ssh_cmd chmod +x /srv/magnum/bin/helm + +echo "END: ${step}" \ No newline at end of file diff --git a/magnum/drivers/k8s_fedora_coreos_v1/templates/kubecluster.yaml b/magnum/drivers/k8s_fedora_coreos_v1/templates/kubecluster.yaml index 3a6252175c..29a89dc98f 100644 --- a/magnum/drivers/k8s_fedora_coreos_v1/templates/kubecluster.yaml +++ b/magnum/drivers/k8s_fedora_coreos_v1/templates/kubecluster.yaml @@ -1417,6 +1417,7 @@ resources: - get_file: ../../common/templates/kubernetes/fragments/enable-auto-scaling.sh - get_file: ../../common/templates/kubernetes/fragments/enable-cinder-csi.sh # Helm Based Installation Configuration Scripts + - get_file: ../../common/templates/kubernetes/fragments/install-helm.sh - get_file: ../../common/templates/kubernetes/helm/metrics-server.sh - str_replace: template: {get_file: ../../common/templates/kubernetes/helm/prometheus-operator.sh}