From 0485f4455c162007fd2917972a857dd073133773 Mon Sep 17 00:00:00 2001 From: Diogo Guerra <diogo.filipe.tomas.guerra@cern.ch> Date: Tue, 26 Oct 2021 11:50:23 +0200 Subject: [PATCH] traefik v2 from cern metachart Install traefik v2 from cern metachart greater than 0.9.x This commit is an adaptation of the upstream commit https://review.opendev.org/c/openstack/magnum/+/697071 Signed-off-by: Diogo Guerra <diogo.filipe.tomas.guerra@cern.ch> Change-Id: I4b5b3238f405c65b85b916e4fbe71cb37d5b548e --- .../fragments/enable-ingress-traefik.sh | 17 ++++++++++------- .../templates/kubernetes/helm/cern-chart.sh | 15 ++++++++++++++- 2 files changed, 24 insertions(+), 8 deletions(-) diff --git a/magnum/drivers/common/templates/kubernetes/fragments/enable-ingress-traefik.sh b/magnum/drivers/common/templates/kubernetes/fragments/enable-ingress-traefik.sh index b1acd9eee..11089cd1f 100644 --- a/magnum/drivers/common/templates/kubernetes/fragments/enable-ingress-traefik.sh +++ b/magnum/drivers/common/templates/kubernetes/fragments/enable-ingress-traefik.sh @@ -157,12 +157,15 @@ metadata: namespace: kube-system EOF ) -writeFile $INGRESS_TRAEFIK_MANIFEST "$INGRESS_TRAEFIK_MANIFEST_CONTENT" -until [ "ok" = "$(kubectl get --raw='/healthz')" ] -do - echo "Waiting for Kubernetes API..." - sleep 5 -done +if [[ ( $(echo ${CERN_CHART_VERSION} | cut -d. -f2) -lt 9 ) ]]; then + writeFile $INGRESS_TRAEFIK_MANIFEST "$INGRESS_TRAEFIK_MANIFEST_CONTENT" -kubectl apply -f ${INGRESS_TRAEFIK_MANIFEST} + until [ "ok" = "$(kubectl get --raw='/healthz')" ] + do + echo "Waiting for Kubernetes API..." + sleep 5 + done + + kubectl apply -f ${INGRESS_TRAEFIK_MANIFEST} +fi diff --git a/magnum/drivers/common/templates/kubernetes/helm/cern-chart.sh b/magnum/drivers/common/templates/kubernetes/helm/cern-chart.sh index 97b62e809..a7a418767 100644 --- a/magnum/drivers/common/templates/kubernetes/helm/cern-chart.sh +++ b/magnum/drivers/common/templates/kubernetes/helm/cern-chart.sh @@ -48,7 +48,14 @@ fi # CERN_INGRESS_NGINX_ENABLED is not a magnum value, need to write it in heat-params echo "CERN_INGRESS_NGINX_ENABLED=\"${CERN_INGRESS_NGINX_ENABLED}\"" >> /etc/sysconfig/heat-params - +if [ "$(echo ${INGRESS_CONTROLLER} | tr '[:upper:]' '[:lower:]')" == "traefik" ] && \ + [[ ( $(echo ${CERN_CHART_VERSION} | cut -d. -f2) -ge 9 ) ]]; then + TRAEFIK_HELM_ENABLED="true" +else + TRAEFIK_HELM_ENABLED="false" +fi +# TRAEFIK_HELM_ENABLED is not a magnum value, need to write it in heat-params +echo "TRAEFIK_HELM_ENABLED=\"${TRAEFIK_HELM_ENABLED}\"" >> /etc/sysconfig/heat-params ### Configuration ############################################################################### @@ -110,6 +117,12 @@ ${NVIDIA_GPU_VALUES} enabled: ${MONITORING_ENABLED} serviceMonitor: enabled: ${MONITORING_ENABLED} + traefik: + enabled: ${TRAEFIK_HELM_ENABLED} + image: + tag: ${TRAEFIK_INGRESS_CONTROLLER_TAG} + nodeSelector: + role: ${INGRESS_CONTROLLER_ROLE} EOF fi -- GitLab