From cdd2cb0edf154b21c8de1d5c439b00d6c3590be6 Mon Sep 17 00:00:00 2001 From: Gary Vermeulen Date: Mon, 11 Nov 2024 15:10:26 +0000 Subject: [PATCH 1/4] fix for DE620051 --- charts/portal/Chart.yaml | 3 +-- charts/portal/README.md | 17 +++++++++++++++++ charts/portal/charts/druid-1.0.14.tgz | Bin 9452 -> 9388 bytes .../templates/apim/apim-deployment.yaml | 11 +++++++++++ charts/portal/values-production.yaml | 2 ++ charts/portal/values.yaml | 2 ++ 6 files changed, 33 insertions(+), 2 deletions(-) diff --git a/charts/portal/Chart.yaml b/charts/portal/Chart.yaml index 438ce094..9671a529 100644 --- a/charts/portal/Chart.yaml +++ b/charts/portal/Chart.yaml @@ -2,14 +2,13 @@ apiVersion: v2 appVersion: "5.3.1" description: CA API Developer Portal name: portal -version: 2.3.10 +version: 2.3.11 type: application home: https://github.com/CAAPIM/apim-charts maintainers: - name: Gazza7205 sources: - https://github.com/CAAPIM/apim-charts -engine: gotpl dependencies: - name: druid version: ^1.0.0 diff --git a/charts/portal/README.md b/charts/portal/README.md index b60f8e0d..63dc932d 100644 --- a/charts/portal/README.md +++ b/charts/portal/README.md @@ -3,6 +3,22 @@ The Layer7 API Developer Portal (API Portal) is part of the Layer7 API Managemen ## Introduction This Chart deploys the Layer7 API Developer Portal on a Kubernetes Cluster using the Helm Package Manager. + +## Release Notes + +## 2.3.11 General Updates +- Added a preflight check (initContainer) for the core apim/ingress deployment + - This resolves a race condition that occurs on slower hardware where apim/ingress starts before other dependent services are ready. + - This is ***enabled by default***. A Helm upgrade will restart the apim deployment. + - If you wish to disable this, set apim.preflightCheck.enabled to false + ``` + apim: + ... + preflightCheck: + enabled: true + ... + ``` + ## 2.3.10 General Updates - This new version of the chart supports API Portal 5.3.1 - Removed PSSG container @@ -302,6 +318,7 @@ This section describes configurable parameters in **values.yaml**, there is also | `analytics.affinity` | Affinity for pod assignment | `{} evaluated as a template` | | `analytics.additionalLabels` | A list of custom key: value labels | `not set` | | `apim.forceRedeploy` | Force redeployment during helm upgrade whether there is a change or not | `false` | +| `apim.preflightCheck.enabled` | Resolves a race condition that occurs on slower hardware where apim/ingress starts before other dependent services are ready |`true` | | `apim.replicaCount` | Number of APIM nodes | `1` | | `apim.image.pullPolicy` | APIM image pull policy | `IfNotPresent` | | `apim.otkDb.name` | APIM OTK Database name | `otk_db` | diff --git a/charts/portal/charts/druid-1.0.14.tgz b/charts/portal/charts/druid-1.0.14.tgz index 801b865903b07370d838ae33d47ab501ed5769d1..e4b01066ebe3a325d7b3d13db236ef8e438c8561 100644 GIT binary patch literal 9388 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 diff --git a/charts/portal/templates/apim/apim-deployment.yaml b/charts/portal/templates/apim/apim-deployment.yaml index c23544d9..c1f103d3 100644 --- a/charts/portal/templates/apim/apim-deployment.yaml +++ b/charts/portal/templates/apim/apim-deployment.yaml @@ -55,6 +55,17 @@ spec: - name: liquidbase-upgrade-rbac image: "{{ .Values.global.portalRepository }}{{ .Values.image.upgradeVerify }}" args: ["job", 'rbac-upgrade'] + {{- if .Values.apim.preflightCheck.enabled }} + - name: apim-core-preflight-check + image: "{{ .Values.global.portalRepository }}{{ .Values.image.upgradeVerify }}" + command: ["/bin/sh","-c"] + args: + - sleep 120; + if [[ "$(curl -w '%{http_code}' -s -o /dev/null rabbitmq:15672)" != "200" ]]; then echo "broker not ready" && exit 1;fi; + if [[ "$(curl -w '%{http_code}' -s -o /dev/null portal-data:8080/portal-data/portalHealth)" != "200" ]]; then echo "portal-data not ready" && exit 1;fi; + if [[ "$(curl -w '%{http_code}' -s -o /dev/null http://authenticator:9081/v1/echo;)" != "200" ]]; then echo "authenticator not ready" && exit 1;fi; + if [[ "$(curl -w '%{http_code}' -s -o /dev/null http://tenant-provisioner:9001/actuator/health)" != "200" ]]; then echo "tenant provisioning service not ready" && exit 1;fi; + {{- end }} containers: - name: apim image: "{{ .Values.global.portalRepository }}{{ .Values.image.apim }}" diff --git a/charts/portal/values-production.yaml b/charts/portal/values-production.yaml index 8cbef5a2..776620cc 100644 --- a/charts/portal/values-production.yaml +++ b/charts/portal/values-production.yaml @@ -217,6 +217,8 @@ analytics: apim: forceRedeploy: false + preflightCheck: + enabled: true replicaCount: 2 image: pullPolicy: IfNotPresent diff --git a/charts/portal/values.yaml b/charts/portal/values.yaml index daf54300..3127412f 100644 --- a/charts/portal/values.yaml +++ b/charts/portal/values.yaml @@ -210,6 +210,8 @@ analytics: apim: forceRedeploy: false + preflightCheck: + enabled: true replicaCount: 1 image: pullPolicy: IfNotPresent From 70ab84a1ad5488cb18d5c5820697dd401b3860d8 Mon Sep 17 00:00:00 2001 From: Gary Vermeulen Date: Thu, 21 Nov 2024 10:34:32 +0000 Subject: [PATCH 2/4] removing tps and portal-data check from apim-initcontainer --- charts/portal/templates/apim/apim-deployment.yaml | 2 -- 1 file changed, 2 deletions(-) diff --git a/charts/portal/templates/apim/apim-deployment.yaml b/charts/portal/templates/apim/apim-deployment.yaml index c1f103d3..a762cea6 100644 --- a/charts/portal/templates/apim/apim-deployment.yaml +++ b/charts/portal/templates/apim/apim-deployment.yaml @@ -62,9 +62,7 @@ spec: args: - sleep 120; if [[ "$(curl -w '%{http_code}' -s -o /dev/null rabbitmq:15672)" != "200" ]]; then echo "broker not ready" && exit 1;fi; - if [[ "$(curl -w '%{http_code}' -s -o /dev/null portal-data:8080/portal-data/portalHealth)" != "200" ]]; then echo "portal-data not ready" && exit 1;fi; if [[ "$(curl -w '%{http_code}' -s -o /dev/null http://authenticator:9081/v1/echo;)" != "200" ]]; then echo "authenticator not ready" && exit 1;fi; - if [[ "$(curl -w '%{http_code}' -s -o /dev/null http://tenant-provisioner:9001/actuator/health)" != "200" ]]; then echo "tenant provisioning service not ready" && exit 1;fi; {{- end }} containers: - name: apim From ff1546509b431ccda52f81d955eb1918ef806718 Mon Sep 17 00:00:00 2001 From: Gary Vermeulen Date: Thu, 21 Nov 2024 12:00:57 +0000 Subject: [PATCH 3/4] added troubleshooting for disabling the apim initContainer --- charts/portal/README.md | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/charts/portal/README.md b/charts/portal/README.md index 63dc932d..ef9f5bcd 100644 --- a/charts/portal/README.md +++ b/charts/portal/README.md @@ -996,6 +996,17 @@ If the RabbitMQ cluster is stopped or removed out of order, there is a chance th $ helm upgrade --set-file --set -f layer7/portal ``` +### The APIM Container fails to start because RabbitMQ is unavailable +In Portal Chart version 2.3.11 an initContainer was added to the apim deployment to resolve a race condition with slower hardware. If RabbitMQ does not start correctly for one of the reasons above and you wish to use the Portal API without it, then the initContainer can be disabled which should allow apim to start. + +- set apim.preflightCheck.enabled to false +``` +apim: + ... + preflightCheck: + enabled: false + ... +``` ### Helm UPGRADE FAILED: cannot patch "db-upgrade" and "rbac-upgrade" If helm upgrade of the portal fails with error "Error: UPGRADE FAILED: cannot patch 'db-upgrade'", it is becasue of the limitation in kubernetes where a job can not be updated. From cffd8847f46674ca16a771916bc35a9fefba7bc9 Mon Sep 17 00:00:00 2001 From: Gary Vermeulen Date: Thu, 21 Nov 2024 13:01:53 +0000 Subject: [PATCH 4/4] changed apim initContainer to install only --- charts/portal/README.md | 18 ++++-------------- .../portal/templates/apim/apim-deployment.yaml | 2 +- 2 files changed, 5 insertions(+), 15 deletions(-) diff --git a/charts/portal/README.md b/charts/portal/README.md index ef9f5bcd..4eeaf175 100644 --- a/charts/portal/README.md +++ b/charts/portal/README.md @@ -9,7 +9,10 @@ This Chart deploys the Layer7 API Developer Portal on a Kubernetes Cluster using ## 2.3.11 General Updates - Added a preflight check (initContainer) for the core apim/ingress deployment - This resolves a race condition that occurs on slower hardware where apim/ingress starts before other dependent services are ready. - - This is ***enabled by default***. A Helm upgrade will restart the apim deployment. + - This is ***enabled by default***. + - This only gets added when you install the Chart. + - A Helm upgrade will ***NOT*** restart the apim deployment if you have already installed the Chart and are upgrading to this version. + - A Helm upgrade will restart the apim deployment if you installed from this version and upgrade the Chart. - If you wish to disable this, set apim.preflightCheck.enabled to false ``` apim: @@ -996,18 +999,6 @@ If the RabbitMQ cluster is stopped or removed out of order, there is a chance th $ helm upgrade --set-file --set -f layer7/portal ``` -### The APIM Container fails to start because RabbitMQ is unavailable -In Portal Chart version 2.3.11 an initContainer was added to the apim deployment to resolve a race condition with slower hardware. If RabbitMQ does not start correctly for one of the reasons above and you wish to use the Portal API without it, then the initContainer can be disabled which should allow apim to start. - -- set apim.preflightCheck.enabled to false -``` -apim: - ... - preflightCheck: - enabled: false - ... -``` - ### Helm UPGRADE FAILED: cannot patch "db-upgrade" and "rbac-upgrade" If helm upgrade of the portal fails with error "Error: UPGRADE FAILED: cannot patch 'db-upgrade'", it is becasue of the limitation in kubernetes where a job can not be updated. @@ -1022,7 +1013,6 @@ kubectl delete job db-upgrade -n kubectl delete job rbac-upgrade -n ``` - ### MySQL container in unhealthy state #### The chart was uninstalled and re-installed diff --git a/charts/portal/templates/apim/apim-deployment.yaml b/charts/portal/templates/apim/apim-deployment.yaml index a762cea6..84870d69 100644 --- a/charts/portal/templates/apim/apim-deployment.yaml +++ b/charts/portal/templates/apim/apim-deployment.yaml @@ -55,7 +55,7 @@ spec: - name: liquidbase-upgrade-rbac image: "{{ .Values.global.portalRepository }}{{ .Values.image.upgradeVerify }}" args: ["job", 'rbac-upgrade'] - {{- if .Values.apim.preflightCheck.enabled }} + {{- if and (.Values.apim.preflightCheck.enabled) (.Release.IsInstall) }} - name: apim-core-preflight-check image: "{{ .Values.global.portalRepository }}{{ .Values.image.upgradeVerify }}" command: ["/bin/sh","-c"]