apache-airflow-providers-cncf-kubernetes 10.4.0b1__tar.gz → 10.4.1rc1__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of apache-airflow-providers-cncf-kubernetes might be problematic. Click here for more details.

Files changed (58) hide show
  1. {apache_airflow_providers_cncf_kubernetes-10.4.0b1 → apache_airflow_providers_cncf_kubernetes-10.4.1rc1}/PKG-INFO +7 -7
  2. {apache_airflow_providers_cncf_kubernetes-10.4.0b1 → apache_airflow_providers_cncf_kubernetes-10.4.1rc1}/README.rst +3 -3
  3. {apache_airflow_providers_cncf_kubernetes-10.4.0b1 → apache_airflow_providers_cncf_kubernetes-10.4.1rc1}/pyproject.toml +5 -5
  4. {apache_airflow_providers_cncf_kubernetes-10.4.0b1 → apache_airflow_providers_cncf_kubernetes-10.4.1rc1}/src/airflow/providers/cncf/kubernetes/__init__.py +1 -1
  5. {apache_airflow_providers_cncf_kubernetes-10.4.0b1 → apache_airflow_providers_cncf_kubernetes-10.4.1rc1}/src/airflow/providers/cncf/kubernetes/executors/kubernetes_executor_utils.py +1 -3
  6. {apache_airflow_providers_cncf_kubernetes-10.4.0b1 → apache_airflow_providers_cncf_kubernetes-10.4.1rc1}/src/airflow/providers/cncf/kubernetes/executors/local_kubernetes_executor.py +2 -2
  7. {apache_airflow_providers_cncf_kubernetes-10.4.0b1 → apache_airflow_providers_cncf_kubernetes-10.4.1rc1}/src/airflow/providers/cncf/kubernetes/get_provider_info.py +3 -2
  8. {apache_airflow_providers_cncf_kubernetes-10.4.0b1 → apache_airflow_providers_cncf_kubernetes-10.4.1rc1}/src/airflow/providers/cncf/kubernetes/operators/pod.py +3 -2
  9. {apache_airflow_providers_cncf_kubernetes-10.4.0b1 → apache_airflow_providers_cncf_kubernetes-10.4.1rc1}/src/airflow/providers/cncf/kubernetes/operators/spark_kubernetes.py +1 -1
  10. {apache_airflow_providers_cncf_kubernetes-10.4.0b1 → apache_airflow_providers_cncf_kubernetes-10.4.1rc1}/src/airflow/providers/cncf/kubernetes/triggers/pod.py +2 -2
  11. {apache_airflow_providers_cncf_kubernetes-10.4.0b1 → apache_airflow_providers_cncf_kubernetes-10.4.1rc1}/src/airflow/providers/cncf/kubernetes/utils/pod_manager.py +7 -5
  12. {apache_airflow_providers_cncf_kubernetes-10.4.0b1 → apache_airflow_providers_cncf_kubernetes-10.4.1rc1}/src/airflow/providers/cncf/kubernetes/LICENSE +0 -0
  13. {apache_airflow_providers_cncf_kubernetes-10.4.0b1 → apache_airflow_providers_cncf_kubernetes-10.4.1rc1}/src/airflow/providers/cncf/kubernetes/backcompat/__init__.py +0 -0
  14. {apache_airflow_providers_cncf_kubernetes-10.4.0b1 → apache_airflow_providers_cncf_kubernetes-10.4.1rc1}/src/airflow/providers/cncf/kubernetes/backcompat/backwards_compat_converters.py +0 -0
  15. {apache_airflow_providers_cncf_kubernetes-10.4.0b1 → apache_airflow_providers_cncf_kubernetes-10.4.1rc1}/src/airflow/providers/cncf/kubernetes/callbacks.py +0 -0
  16. {apache_airflow_providers_cncf_kubernetes-10.4.0b1 → apache_airflow_providers_cncf_kubernetes-10.4.1rc1}/src/airflow/providers/cncf/kubernetes/cli/__init__.py +0 -0
  17. {apache_airflow_providers_cncf_kubernetes-10.4.0b1 → apache_airflow_providers_cncf_kubernetes-10.4.1rc1}/src/airflow/providers/cncf/kubernetes/cli/kubernetes_command.py +0 -0
  18. {apache_airflow_providers_cncf_kubernetes-10.4.0b1 → apache_airflow_providers_cncf_kubernetes-10.4.1rc1}/src/airflow/providers/cncf/kubernetes/decorators/__init__.py +0 -0
  19. {apache_airflow_providers_cncf_kubernetes-10.4.0b1 → apache_airflow_providers_cncf_kubernetes-10.4.1rc1}/src/airflow/providers/cncf/kubernetes/decorators/kubernetes.py +0 -0
  20. {apache_airflow_providers_cncf_kubernetes-10.4.0b1 → apache_airflow_providers_cncf_kubernetes-10.4.1rc1}/src/airflow/providers/cncf/kubernetes/exceptions.py +0 -0
  21. {apache_airflow_providers_cncf_kubernetes-10.4.0b1 → apache_airflow_providers_cncf_kubernetes-10.4.1rc1}/src/airflow/providers/cncf/kubernetes/executors/__init__.py +0 -0
  22. {apache_airflow_providers_cncf_kubernetes-10.4.0b1 → apache_airflow_providers_cncf_kubernetes-10.4.1rc1}/src/airflow/providers/cncf/kubernetes/executors/kubernetes_executor.py +0 -0
  23. {apache_airflow_providers_cncf_kubernetes-10.4.0b1 → apache_airflow_providers_cncf_kubernetes-10.4.1rc1}/src/airflow/providers/cncf/kubernetes/executors/kubernetes_executor_types.py +0 -0
  24. {apache_airflow_providers_cncf_kubernetes-10.4.0b1 → apache_airflow_providers_cncf_kubernetes-10.4.1rc1}/src/airflow/providers/cncf/kubernetes/hooks/__init__.py +0 -0
  25. {apache_airflow_providers_cncf_kubernetes-10.4.0b1 → apache_airflow_providers_cncf_kubernetes-10.4.1rc1}/src/airflow/providers/cncf/kubernetes/hooks/kubernetes.py +0 -0
  26. {apache_airflow_providers_cncf_kubernetes-10.4.0b1 → apache_airflow_providers_cncf_kubernetes-10.4.1rc1}/src/airflow/providers/cncf/kubernetes/k8s_model.py +0 -0
  27. {apache_airflow_providers_cncf_kubernetes-10.4.0b1 → apache_airflow_providers_cncf_kubernetes-10.4.1rc1}/src/airflow/providers/cncf/kubernetes/kube_client.py +0 -0
  28. {apache_airflow_providers_cncf_kubernetes-10.4.0b1 → apache_airflow_providers_cncf_kubernetes-10.4.1rc1}/src/airflow/providers/cncf/kubernetes/kube_config.py +0 -0
  29. {apache_airflow_providers_cncf_kubernetes-10.4.0b1 → apache_airflow_providers_cncf_kubernetes-10.4.1rc1}/src/airflow/providers/cncf/kubernetes/kubernetes_executor_templates/__init__.py +0 -0
  30. {apache_airflow_providers_cncf_kubernetes-10.4.0b1 → apache_airflow_providers_cncf_kubernetes-10.4.1rc1}/src/airflow/providers/cncf/kubernetes/kubernetes_executor_templates/basic_template.yaml +0 -0
  31. {apache_airflow_providers_cncf_kubernetes-10.4.0b1 → apache_airflow_providers_cncf_kubernetes-10.4.1rc1}/src/airflow/providers/cncf/kubernetes/kubernetes_helper_functions.py +0 -0
  32. {apache_airflow_providers_cncf_kubernetes-10.4.0b1 → apache_airflow_providers_cncf_kubernetes-10.4.1rc1}/src/airflow/providers/cncf/kubernetes/operators/__init__.py +0 -0
  33. {apache_airflow_providers_cncf_kubernetes-10.4.0b1 → apache_airflow_providers_cncf_kubernetes-10.4.1rc1}/src/airflow/providers/cncf/kubernetes/operators/custom_object_launcher.py +0 -0
  34. {apache_airflow_providers_cncf_kubernetes-10.4.0b1 → apache_airflow_providers_cncf_kubernetes-10.4.1rc1}/src/airflow/providers/cncf/kubernetes/operators/job.py +0 -0
  35. {apache_airflow_providers_cncf_kubernetes-10.4.0b1 → apache_airflow_providers_cncf_kubernetes-10.4.1rc1}/src/airflow/providers/cncf/kubernetes/operators/kueue.py +0 -0
  36. {apache_airflow_providers_cncf_kubernetes-10.4.0b1 → apache_airflow_providers_cncf_kubernetes-10.4.1rc1}/src/airflow/providers/cncf/kubernetes/operators/resource.py +0 -0
  37. {apache_airflow_providers_cncf_kubernetes-10.4.0b1 → apache_airflow_providers_cncf_kubernetes-10.4.1rc1}/src/airflow/providers/cncf/kubernetes/pod_generator.py +0 -0
  38. {apache_airflow_providers_cncf_kubernetes-10.4.0b1 → apache_airflow_providers_cncf_kubernetes-10.4.1rc1}/src/airflow/providers/cncf/kubernetes/pod_template_file_examples/__init__.py +0 -0
  39. {apache_airflow_providers_cncf_kubernetes-10.4.0b1 → apache_airflow_providers_cncf_kubernetes-10.4.1rc1}/src/airflow/providers/cncf/kubernetes/pod_template_file_examples/dags_in_image_template.yaml +0 -0
  40. {apache_airflow_providers_cncf_kubernetes-10.4.0b1 → apache_airflow_providers_cncf_kubernetes-10.4.1rc1}/src/airflow/providers/cncf/kubernetes/pod_template_file_examples/dags_in_volume_template.yaml +0 -0
  41. {apache_airflow_providers_cncf_kubernetes-10.4.0b1 → apache_airflow_providers_cncf_kubernetes-10.4.1rc1}/src/airflow/providers/cncf/kubernetes/pod_template_file_examples/git_sync_template.yaml +0 -0
  42. {apache_airflow_providers_cncf_kubernetes-10.4.0b1 → apache_airflow_providers_cncf_kubernetes-10.4.1rc1}/src/airflow/providers/cncf/kubernetes/python_kubernetes_script.jinja2 +0 -0
  43. {apache_airflow_providers_cncf_kubernetes-10.4.0b1 → apache_airflow_providers_cncf_kubernetes-10.4.1rc1}/src/airflow/providers/cncf/kubernetes/python_kubernetes_script.py +0 -0
  44. {apache_airflow_providers_cncf_kubernetes-10.4.0b1 → apache_airflow_providers_cncf_kubernetes-10.4.1rc1}/src/airflow/providers/cncf/kubernetes/resource_convert/__init__.py +0 -0
  45. {apache_airflow_providers_cncf_kubernetes-10.4.0b1 → apache_airflow_providers_cncf_kubernetes-10.4.1rc1}/src/airflow/providers/cncf/kubernetes/resource_convert/configmap.py +0 -0
  46. {apache_airflow_providers_cncf_kubernetes-10.4.0b1 → apache_airflow_providers_cncf_kubernetes-10.4.1rc1}/src/airflow/providers/cncf/kubernetes/resource_convert/env_variable.py +0 -0
  47. {apache_airflow_providers_cncf_kubernetes-10.4.0b1 → apache_airflow_providers_cncf_kubernetes-10.4.1rc1}/src/airflow/providers/cncf/kubernetes/resource_convert/secret.py +0 -0
  48. {apache_airflow_providers_cncf_kubernetes-10.4.0b1 → apache_airflow_providers_cncf_kubernetes-10.4.1rc1}/src/airflow/providers/cncf/kubernetes/secret.py +0 -0
  49. {apache_airflow_providers_cncf_kubernetes-10.4.0b1 → apache_airflow_providers_cncf_kubernetes-10.4.1rc1}/src/airflow/providers/cncf/kubernetes/sensors/__init__.py +0 -0
  50. {apache_airflow_providers_cncf_kubernetes-10.4.0b1 → apache_airflow_providers_cncf_kubernetes-10.4.1rc1}/src/airflow/providers/cncf/kubernetes/sensors/spark_kubernetes.py +0 -0
  51. {apache_airflow_providers_cncf_kubernetes-10.4.0b1 → apache_airflow_providers_cncf_kubernetes-10.4.1rc1}/src/airflow/providers/cncf/kubernetes/template_rendering.py +0 -0
  52. {apache_airflow_providers_cncf_kubernetes-10.4.0b1 → apache_airflow_providers_cncf_kubernetes-10.4.1rc1}/src/airflow/providers/cncf/kubernetes/triggers/__init__.py +0 -0
  53. {apache_airflow_providers_cncf_kubernetes-10.4.0b1 → apache_airflow_providers_cncf_kubernetes-10.4.1rc1}/src/airflow/providers/cncf/kubernetes/triggers/job.py +0 -0
  54. {apache_airflow_providers_cncf_kubernetes-10.4.0b1 → apache_airflow_providers_cncf_kubernetes-10.4.1rc1}/src/airflow/providers/cncf/kubernetes/utils/__init__.py +0 -0
  55. {apache_airflow_providers_cncf_kubernetes-10.4.0b1 → apache_airflow_providers_cncf_kubernetes-10.4.1rc1}/src/airflow/providers/cncf/kubernetes/utils/delete_from.py +0 -0
  56. {apache_airflow_providers_cncf_kubernetes-10.4.0b1 → apache_airflow_providers_cncf_kubernetes-10.4.1rc1}/src/airflow/providers/cncf/kubernetes/utils/k8s_resource_iterator.py +0 -0
  57. {apache_airflow_providers_cncf_kubernetes-10.4.0b1 → apache_airflow_providers_cncf_kubernetes-10.4.1rc1}/src/airflow/providers/cncf/kubernetes/utils/xcom_sidecar.py +0 -0
  58. {apache_airflow_providers_cncf_kubernetes-10.4.0b1 → apache_airflow_providers_cncf_kubernetes-10.4.1rc1}/src/airflow/providers/cncf/kubernetes/version_compat.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: apache-airflow-providers-cncf-kubernetes
3
- Version: 10.4.0b1
3
+ Version: 10.4.1rc1
4
4
  Summary: Provider package apache-airflow-providers-cncf-kubernetes for Apache Airflow
5
5
  Keywords: airflow-provider,cncf.kubernetes,airflow,integration
6
6
  Author-email: Apache Software Foundation <dev@airflow.apache.org>
@@ -21,14 +21,14 @@ Classifier: Programming Language :: Python :: 3.11
21
21
  Classifier: Programming Language :: Python :: 3.12
22
22
  Classifier: Topic :: System :: Monitoring
23
23
  Requires-Dist: aiofiles>=23.2.0
24
- Requires-Dist: apache-airflow>=2.9.0
24
+ Requires-Dist: apache-airflow>=2.9.0rc0
25
25
  Requires-Dist: asgiref>=3.5.2
26
26
  Requires-Dist: cryptography>=41.0.0
27
27
  Requires-Dist: kubernetes>=29.0.0,<=31.0.0
28
28
  Requires-Dist: kubernetes_asyncio>=29.0.0,<=31.0.0
29
29
  Project-URL: Bug Tracker, https://github.com/apache/airflow/issues
30
- Project-URL: Changelog, https://airflow.apache.org/docs/apache-airflow-providers-cncf-kubernetes/10.4.0b1/changelog.html
31
- Project-URL: Documentation, https://airflow.apache.org/docs/apache-airflow-providers-cncf-kubernetes/10.4.0b1
30
+ Project-URL: Changelog, https://airflow.apache.org/docs/apache-airflow-providers-cncf-kubernetes/10.4.1/changelog.html
31
+ Project-URL: Documentation, https://airflow.apache.org/docs/apache-airflow-providers-cncf-kubernetes/10.4.1
32
32
  Project-URL: Mastodon, https://fosstodon.org/@airflow
33
33
  Project-URL: Slack Chat, https://s.apache.org/airflow-slack
34
34
  Project-URL: Source Code, https://github.com/apache/airflow
@@ -59,7 +59,7 @@ Project-URL: YouTube, https://www.youtube.com/channel/UCSXwxpWZQ7XZ1WL3wqevChA/
59
59
 
60
60
  Package ``apache-airflow-providers-cncf-kubernetes``
61
61
 
62
- Release: ``10.4.0b1``
62
+ Release: ``10.4.1``
63
63
 
64
64
 
65
65
  `Kubernetes <https://kubernetes.io/>`__
@@ -72,7 +72,7 @@ This is a provider package for ``cncf.kubernetes`` provider. All classes for thi
72
72
  are in ``airflow.providers.cncf.kubernetes`` python package.
73
73
 
74
74
  You can find package information and changelog for the provider
75
- in the `documentation <https://airflow.apache.org/docs/apache-airflow-providers-cncf-kubernetes/10.4.0b1/>`_.
75
+ in the `documentation <https://airflow.apache.org/docs/apache-airflow-providers-cncf-kubernetes/10.4.1/>`_.
76
76
 
77
77
  Installation
78
78
  ------------
@@ -98,5 +98,5 @@ PIP package Version required
98
98
  ====================== =====================
99
99
 
100
100
  The changelog for the provider package can be found in the
101
- `changelog <https://airflow.apache.org/docs/apache-airflow-providers-cncf-kubernetes/10.4.0b1/changelog.html>`_.
101
+ `changelog <https://airflow.apache.org/docs/apache-airflow-providers-cncf-kubernetes/10.4.1/changelog.html>`_.
102
102
 
@@ -23,7 +23,7 @@
23
23
 
24
24
  Package ``apache-airflow-providers-cncf-kubernetes``
25
25
 
26
- Release: ``10.4.0b1``
26
+ Release: ``10.4.1``
27
27
 
28
28
 
29
29
  `Kubernetes <https://kubernetes.io/>`__
@@ -36,7 +36,7 @@ This is a provider package for ``cncf.kubernetes`` provider. All classes for thi
36
36
  are in ``airflow.providers.cncf.kubernetes`` python package.
37
37
 
38
38
  You can find package information and changelog for the provider
39
- in the `documentation <https://airflow.apache.org/docs/apache-airflow-providers-cncf-kubernetes/10.4.0b1/>`_.
39
+ in the `documentation <https://airflow.apache.org/docs/apache-airflow-providers-cncf-kubernetes/10.4.1/>`_.
40
40
 
41
41
  Installation
42
42
  ------------
@@ -62,4 +62,4 @@ PIP package Version required
62
62
  ====================== =====================
63
63
 
64
64
  The changelog for the provider package can be found in the
65
- `changelog <https://airflow.apache.org/docs/apache-airflow-providers-cncf-kubernetes/10.4.0b1/changelog.html>`_.
65
+ `changelog <https://airflow.apache.org/docs/apache-airflow-providers-cncf-kubernetes/10.4.1/changelog.html>`_.
@@ -20,12 +20,12 @@
20
20
  # IF YOU WANT TO MODIFY THIS FILE EXCEPT DEPENDENCIES, YOU SHOULD MODIFY THE TEMPLATE
21
21
  # `pyproject_TEMPLATE.toml.jinja2` IN the `dev/breeze/src/airflow_breeze/templates` DIRECTORY
22
22
  [build-system]
23
- requires = ["flit_core==3.11.0"]
23
+ requires = ["flit_core==3.12.0"]
24
24
  build-backend = "flit_core.buildapi"
25
25
 
26
26
  [project]
27
27
  name = "apache-airflow-providers-cncf-kubernetes"
28
- version = "10.4.0b1"
28
+ version = "10.4.1.rc1"
29
29
  description = "Provider package apache-airflow-providers-cncf-kubernetes for Apache Airflow"
30
30
  readme = "README.rst"
31
31
  authors = [
@@ -58,7 +58,7 @@ requires-python = "~=3.9"
58
58
  # After you modify the dependencies, and rebuild your Breeze CI image with ``breeze ci-image build``
59
59
  dependencies = [
60
60
  "aiofiles>=23.2.0",
61
- "apache-airflow>=2.9.0",
61
+ "apache-airflow>=2.9.0rc0",
62
62
  "asgiref>=3.5.2",
63
63
  "cryptography>=41.0.0",
64
64
  # The Kubernetes API is known to introduce problems when upgraded to a MAJOR version. Airflow Core
@@ -97,8 +97,8 @@ apache-airflow-providers-fab = {workspace = true}
97
97
  apache-airflow-providers-standard = {workspace = true}
98
98
 
99
99
  [project.urls]
100
- "Documentation" = "https://airflow.apache.org/docs/apache-airflow-providers-cncf-kubernetes/10.4.0b1"
101
- "Changelog" = "https://airflow.apache.org/docs/apache-airflow-providers-cncf-kubernetes/10.4.0b1/changelog.html"
100
+ "Documentation" = "https://airflow.apache.org/docs/apache-airflow-providers-cncf-kubernetes/10.4.1"
101
+ "Changelog" = "https://airflow.apache.org/docs/apache-airflow-providers-cncf-kubernetes/10.4.1/changelog.html"
102
102
  "Bug Tracker" = "https://github.com/apache/airflow/issues"
103
103
  "Source Code" = "https://github.com/apache/airflow"
104
104
  "Slack Chat" = "https://s.apache.org/airflow-slack"
@@ -29,7 +29,7 @@ from airflow import __version__ as airflow_version
29
29
 
30
30
  __all__ = ["__version__"]
31
31
 
32
- __version__ = "10.4.0b1"
32
+ __version__ = "10.4.1"
33
33
 
34
34
  if packaging.version.parse(packaging.version.parse(airflow_version).base_version) < packaging.version.parse(
35
35
  "2.9.0"
@@ -395,9 +395,7 @@ class AirflowKubernetesScheduler(LoggingMixin):
395
395
 
396
396
  if isinstance(command[0], ExecuteTask):
397
397
  workload = command[0]
398
- # `executor_config` is a k8s.V1Pod object and we do not need to pass it to the
399
- # execute_workload module. So, we exclude it from the serialisation process.
400
- ser_input = workload.model_dump_json(exclude={"ti": {"executor_config"}})
398
+ ser_input = workload.model_dump_json()
401
399
  command = [
402
400
  "python",
403
401
  "-m",
@@ -58,7 +58,6 @@ class LocalKubernetesExecutor(BaseExecutor):
58
58
  is_production: bool = True
59
59
 
60
60
  serve_logs: bool = True
61
- change_sensor_mode_to_reschedule: bool = False
62
61
 
63
62
  callback_sink: BaseCallbackSink | None = None
64
63
 
@@ -85,7 +84,8 @@ class LocalKubernetesExecutor(BaseExecutor):
85
84
  def queued_tasks(self) -> dict[TaskInstanceKey, QueuedTaskInstanceType]:
86
85
  """Return queued tasks from local and kubernetes executor."""
87
86
  queued_tasks = self.local_executor.queued_tasks.copy()
88
- queued_tasks.update(self.kubernetes_executor.queued_tasks)
87
+ # TODO: fix this, there is misalignment between the types of queued_tasks so it is likely wrong
88
+ queued_tasks.update(self.kubernetes_executor.queued_tasks) # type: ignore[arg-type]
89
89
 
90
90
  return queued_tasks
91
91
 
@@ -27,9 +27,10 @@ def get_provider_info():
27
27
  "name": "Kubernetes",
28
28
  "description": "`Kubernetes <https://kubernetes.io/>`__\n",
29
29
  "state": "ready",
30
- "source-date-epoch": 1742480644,
30
+ "source-date-epoch": 1743835927,
31
31
  "versions": [
32
- "10.4.0b1",
32
+ "10.4.1",
33
+ "10.4.0",
33
34
  "10.3.1",
34
35
  "10.3.0",
35
36
  "10.1.0",
@@ -213,7 +213,7 @@ class KubernetesPodOperator(BaseOperator):
213
213
  :param base_container_name: The name of the base container in the pod. This container's logs
214
214
  will appear as part of this task's logs if get_logs is True. Defaults to None. If None,
215
215
  will consult the class variable BASE_CONTAINER_NAME (which defaults to "base") for the base
216
- container name to use.
216
+ container name to use. (templated)
217
217
  :param base_container_status_polling_interval: Polling period in seconds to check for the pod base
218
218
  container status. Default to 1s.
219
219
  :param deferrable: Run operator in the deferrable mode.
@@ -234,7 +234,7 @@ class KubernetesPodOperator(BaseOperator):
234
234
  """
235
235
 
236
236
  # !!! Changes in KubernetesPodOperator's arguments should be also reflected in !!!
237
- # - airflow/decorators/__init__.pyi (by a separate PR)
237
+ # - airflow-core/src/airflow/decorators/__init__.pyi (by a separate PR)
238
238
 
239
239
  # This field can be overloaded at the instance level via base_container_name
240
240
  BASE_CONTAINER_NAME = "base"
@@ -263,6 +263,7 @@ class KubernetesPodOperator(BaseOperator):
263
263
  "env_from",
264
264
  "node_selector",
265
265
  "kubernetes_conn_id",
266
+ "base_container_name",
266
267
  )
267
268
  template_fields_renderers = {"env_vars": "py"}
268
269
 
@@ -192,7 +192,7 @@ class SparkKubernetesOperator(KubernetesPodOperator):
192
192
  if not context:
193
193
  return {}
194
194
 
195
- context_dict = cast(dict, context)
195
+ context_dict = cast("dict", context)
196
196
  ti = context_dict["ti"]
197
197
  run_id = context_dict["run_id"]
198
198
 
@@ -25,7 +25,6 @@ from functools import cached_property
25
25
  from typing import TYPE_CHECKING, Any, cast
26
26
 
27
27
  import tenacity
28
- from kubernetes_asyncio.client.models import V1Pod
29
28
 
30
29
  from airflow.providers.cncf.kubernetes.hooks.kubernetes import AsyncKubernetesHook
31
30
  from airflow.providers.cncf.kubernetes.utils.pod_manager import (
@@ -36,6 +35,7 @@ from airflow.providers.cncf.kubernetes.utils.pod_manager import (
36
35
  from airflow.triggers.base import BaseTrigger, TriggerEvent
37
36
 
38
37
  if TYPE_CHECKING:
38
+ from kubernetes_asyncio.client.models import V1Pod
39
39
  from pendulum import DateTime
40
40
 
41
41
 
@@ -265,7 +265,7 @@ class KubernetesPodTrigger(BaseTrigger):
265
265
  pod = await self.hook.get_pod(name=self.pod_name, namespace=self.pod_namespace)
266
266
  # Due to AsyncKubernetesHook overriding get_pod, we need to cast the return
267
267
  # value to kubernetes_asyncio.V1Pod, because it's perceived as different type
268
- return cast(V1Pod, pod)
268
+ return cast("V1Pod", pod)
269
269
 
270
270
  @cached_property
271
271
  def hook(self) -> AsyncKubernetesHook:
@@ -19,7 +19,6 @@
19
19
  from __future__ import annotations
20
20
 
21
21
  import enum
22
- import itertools
23
22
  import json
24
23
  import math
25
24
  import time
@@ -119,9 +118,12 @@ class PodOperatorHookProtocol(Protocol):
119
118
  def get_container_status(pod: V1Pod, container_name: str) -> V1ContainerStatus | None:
120
119
  """Retrieve container status."""
121
120
  if pod and pod.status:
122
- container_statuses = itertools.chain(
123
- pod.status.container_statuses, pod.status.init_container_statuses
124
- )
121
+ container_statuses = []
122
+ if pod.status.container_statuses:
123
+ container_statuses.extend(pod.status.container_statuses)
124
+ if pod.status.init_container_statuses:
125
+ container_statuses.extend(pod.status.init_container_statuses)
126
+
125
127
  else:
126
128
  container_statuses = None
127
129
 
@@ -668,7 +670,7 @@ class PodManager(LoggingMixin):
668
670
  if not sep:
669
671
  return None, line
670
672
  try:
671
- last_log_time = cast(DateTime, pendulum.parse(timestamp))
673
+ last_log_time = cast("DateTime", pendulum.parse(timestamp))
672
674
  except ParserError:
673
675
  return None, line
674
676
  return last_log_time, message