workflow: wait rancher-webhook ready antes del helm upgrade (RANCHER-WEBHOOK-RACE-RECOVERY)

Race condition durante el bootstrap del cluster tenant: el rancher-webhook
Deployment en cattle-system aún no tiene endpoints cuando el primer
helm upgrade --install intenta crear el namespace apps, lo que dispara
el webhook rancher.cattle.io.namespaces.create-non-kubesystem y aborta
el release con "no endpoints available for service rancher-webhook".

El re-dispatch ~5-10min después recuperaba natural, pero degrada el
smoke E2E. Espera explícita (kubectl wait deployment rancher-webhook
--for=condition=Available --timeout=600s) evita el flake.

Origen: smoke E2E 2026-05-25 run #1550 (chart 0.3.0 ADR-066 validación).

Sincronizado del IDP monorepo.
This commit is contained in:
2026-05-25 16:49:00 -05:00
parent 13b9fae61c
commit 5ccfdff8bf

View File

@@ -157,6 +157,21 @@ jobs:
-e "s|\${DATABASE_NAME}|${DATABASE_NAME}|g" \ -e "s|\${DATABASE_NAME}|${DATABASE_NAME}|g" \
manifests/addonclaim.yaml | kubectl apply -f - manifests/addonclaim.yaml | kubectl apply -f -
- name: Esperar rancher-webhook ready (RANCHER-WEBHOOK-RACE-RECOVERY)
# Race condition durante el bootstrap del cluster tenant: el
# `rancher-webhook` Deployment en cattle-system aún no tiene endpoints
# cuando el primer `helm upgrade --install` intenta crear el namespace
# `apps`, lo que dispara el webhook
# `rancher.cattle.io.namespaces.create-non-kubesystem` y aborta el
# release con `no endpoints available for service rancher-webhook`.
# El re-dispatch ~5-10min después recupera natural, pero degrada el smoke
# E2E. Espera explícita evita el flake.
run: |
kubectl wait deployment rancher-webhook \
-n cattle-system \
--for=condition=Available \
--timeout=600s
- name: Helm upgrade --install - name: Helm upgrade --install
env: env:
TENANT_ID: ${{ vars.TENANT_ID }} TENANT_ID: ${{ vars.TENANT_ID }}