The GitHub Actions job "Tests" on airflow.git/v3-2-test has succeeded.
Run started by GitHub user potiuk (triggered by potiuk).

Head commit for run:
53717ecc0cfeab7f9c0e49340008112b5e8ffdd3 / Jarek Potiuk <[email protected]>
KPO: treat registry 5xx errors as transient during pod startup (#65490) (#66170)

When a pod is starting, kubelet automatically retries failed image pulls
with exponential backoff. `KubernetesPodOperator` monitors the pod via
`detect_pod_terminate_early_issues()` and aborts early on what it deems a
fatal pull error — but the transient-error pattern list did not cover
registry 5xx / gateway outages. A short Docker Hub outage (502/503/504
from `auth.docker.io` or the registry) was being classified as fatal and
would abort the pod before kubelet's next retry, even though the pull
would have succeeded once upstream recovered.

Add `bad gateway`, `service unavailable`, `gateway timeout` to
`TRANSIENT_ERROR_PATTERNS` so these conditions let kubelet keep retrying
within the caller's `startup_timeout` budget.

On kubelet >= 1.32 the `ImagePullBackOff` message is
`Back-off pulling image "X": <prev_error>`, so these patterns also match
during the backoff state. On older kubelets the bare message carries no
detail and we keep the existing fail-fast behaviour — matching
`back-off pulling` unconditionally would have caused a 120s wait for a
genuinely missing image instead of an immediate error (thanks Jens for
catching this).

`startup_timeout` still bounds the overall wait, and genuinely fatal pull
errors (`InvalidImageName`, `ErrImageNeverPull`, `manifest unknown`,
`unauthorized`, …) remain fatal.

(cherry picked from commit 938ccf3b2fc3238d36eca621a4580fd9424d161d)

Report URL: https://github.com/apache/airflow/actions/runs/25182606000

With regards,
GitHub Actions via GitBox


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to