You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Makefile.kind: retry Gateway API CRD applies on transient failures
The servicemesh targets install the upstream Gateway API CRDs with individual
kubectl apply calls that fetch each YAML from raw.githubusercontent.com. That
host intermittently rate-limits with HTTP 429, and a single transient failure
aborts make kind-servicemesh-prereqs before Cilium is even installed, failing
the whole Gateway API conformance job for a reason unrelated to Cilium.
Collect the CRD names into GW_CRDS and apply them through a shared
apply-gateway-api-crds recipe that retries each apply up to five times with an
escalating backoff. This only re-fetches static upstream YAML, so it cannot
mask a Cilium regression, and a genuinely persistent error still fails the
target once the retries are exhausted.
This commit was prepared with AIL:3.
Signed-off-by: André Martins <andre@cilium.io>
# Apply the upstream Gateway API CRDs, retrying each one with a backoff.
379
+
# raw.githubusercontent.com intermittently rate-limits (HTTP 429), and a single
380
+
# transient failure here would abort the whole job before Cilium is even
381
+
# installed. Retrying only re-fetches static upstream YAML, so it cannot mask a
382
+
# Cilium regression; a genuinely persistent error still fails the target once
383
+
# the attempts are exhausted.
384
+
define apply-gateway-api-crds
385
+
for crd in $(GW_CRDS); do \
386
+
n=0; \
387
+
until kubectl apply --server-side -f https://raw.githubusercontent.com/kubernetes-sigs/gateway-api/$(GW_VERSION)/config/crd/$(GW_CHANNEL)/gateway.networking.k8s.io_$$crd.yaml; do \
388
+
n=$$((n+1)); \
389
+
if [ $$n -ge 5 ]; then \
390
+
echo "Failed to apply gateway.networking.k8s.io_$$crd CRD after 5 attempts" >&2; \
0 commit comments