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

Head commit for run:
84565b27fa29912e7d83941164cfa278f7086688 / Jens Scheffler 
<[email protected]>
[v3-2-test] Fix K8s executor pod_override stringified without cncf provider 
(#67895) (#68157)

* Fix Kubernetes executor pod_override stringified without cncf provider

Airflow 3 deployments using the Kubernetes executor with the `kubernetes`
package installed but without `apache-airflow-providers-cncf-kubernetes`
had their `executor_config` `pod_override` V1Pod silently converted to a
string during Dag serialization. The stringified pod was persisted to
`serialized_dag` and `task_instance.executor_config`, so affected tasks
stayed in `queued` and never ran.

`_has_kubernetes()` hardcoded an import of the cncf provider's
`PodGenerator` for V1Pod ser/deser. When only an alternative executor
package is installed, that import failed, `_has_kubernetes()` cached
False, and serialization fell back to `str(pod)`. Airflow 2 had an
in-core `PodGenerator` fallback for this case that was removed ahead of
the 3.0 release.

Serialize and deserialize V1Pod objects directly through
`kubernetes.client.ApiClient`, which is all `PodGenerator.serialize_pod`
and `deserialize_model_dict` wrap anyway. V1Pod ser/deser now works with
the cncf provider, an alternative executor package, or the bare
`kubernetes` package installed. The backcompat unpickle path in
`ensure_pod_is_valid_after_unpickling` is decoupled the same way.

* Apply suggestions from code review



---------
(cherry picked from commit 4677e1e0c41130676a41379c183efda50adddaca)

Co-authored-by: Ephraim Anierobi <[email protected]>
Co-authored-by: Copilot Autofix powered by AI 
<[email protected]>

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

With regards,
GitHub Actions via GitBox


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

Reply via email to