apache-airflow-providers-cncf-kubernetes 10.4.0b1__tar.gz → 10.4.1__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.
- {apache_airflow_providers_cncf_kubernetes-10.4.0b1 → apache_airflow_providers_cncf_kubernetes-10.4.1}/PKG-INFO +6 -6
- {apache_airflow_providers_cncf_kubernetes-10.4.0b1 → apache_airflow_providers_cncf_kubernetes-10.4.1}/README.rst +3 -3
- {apache_airflow_providers_cncf_kubernetes-10.4.0b1 → apache_airflow_providers_cncf_kubernetes-10.4.1}/pyproject.toml +4 -4
- {apache_airflow_providers_cncf_kubernetes-10.4.0b1 → apache_airflow_providers_cncf_kubernetes-10.4.1}/src/airflow/providers/cncf/kubernetes/__init__.py +1 -1
- {apache_airflow_providers_cncf_kubernetes-10.4.0b1 → apache_airflow_providers_cncf_kubernetes-10.4.1}/src/airflow/providers/cncf/kubernetes/executors/kubernetes_executor_utils.py +1 -3
- {apache_airflow_providers_cncf_kubernetes-10.4.0b1 → apache_airflow_providers_cncf_kubernetes-10.4.1}/src/airflow/providers/cncf/kubernetes/executors/local_kubernetes_executor.py +2 -2
- {apache_airflow_providers_cncf_kubernetes-10.4.0b1 → apache_airflow_providers_cncf_kubernetes-10.4.1}/src/airflow/providers/cncf/kubernetes/get_provider_info.py +3 -2
- {apache_airflow_providers_cncf_kubernetes-10.4.0b1 → apache_airflow_providers_cncf_kubernetes-10.4.1}/src/airflow/providers/cncf/kubernetes/operators/pod.py +3 -2
- {apache_airflow_providers_cncf_kubernetes-10.4.0b1 → apache_airflow_providers_cncf_kubernetes-10.4.1}/src/airflow/providers/cncf/kubernetes/operators/spark_kubernetes.py +1 -1
- {apache_airflow_providers_cncf_kubernetes-10.4.0b1 → apache_airflow_providers_cncf_kubernetes-10.4.1}/src/airflow/providers/cncf/kubernetes/triggers/pod.py +2 -2
- {apache_airflow_providers_cncf_kubernetes-10.4.0b1 → apache_airflow_providers_cncf_kubernetes-10.4.1}/src/airflow/providers/cncf/kubernetes/utils/pod_manager.py +7 -5
- {apache_airflow_providers_cncf_kubernetes-10.4.0b1 → apache_airflow_providers_cncf_kubernetes-10.4.1}/src/airflow/providers/cncf/kubernetes/LICENSE +0 -0
- {apache_airflow_providers_cncf_kubernetes-10.4.0b1 → apache_airflow_providers_cncf_kubernetes-10.4.1}/src/airflow/providers/cncf/kubernetes/backcompat/__init__.py +0 -0
- {apache_airflow_providers_cncf_kubernetes-10.4.0b1 → apache_airflow_providers_cncf_kubernetes-10.4.1}/src/airflow/providers/cncf/kubernetes/backcompat/backwards_compat_converters.py +0 -0
- {apache_airflow_providers_cncf_kubernetes-10.4.0b1 → apache_airflow_providers_cncf_kubernetes-10.4.1}/src/airflow/providers/cncf/kubernetes/callbacks.py +0 -0
- {apache_airflow_providers_cncf_kubernetes-10.4.0b1 → apache_airflow_providers_cncf_kubernetes-10.4.1}/src/airflow/providers/cncf/kubernetes/cli/__init__.py +0 -0
- {apache_airflow_providers_cncf_kubernetes-10.4.0b1 → apache_airflow_providers_cncf_kubernetes-10.4.1}/src/airflow/providers/cncf/kubernetes/cli/kubernetes_command.py +0 -0
- {apache_airflow_providers_cncf_kubernetes-10.4.0b1 → apache_airflow_providers_cncf_kubernetes-10.4.1}/src/airflow/providers/cncf/kubernetes/decorators/__init__.py +0 -0
- {apache_airflow_providers_cncf_kubernetes-10.4.0b1 → apache_airflow_providers_cncf_kubernetes-10.4.1}/src/airflow/providers/cncf/kubernetes/decorators/kubernetes.py +0 -0
- {apache_airflow_providers_cncf_kubernetes-10.4.0b1 → apache_airflow_providers_cncf_kubernetes-10.4.1}/src/airflow/providers/cncf/kubernetes/exceptions.py +0 -0
- {apache_airflow_providers_cncf_kubernetes-10.4.0b1 → apache_airflow_providers_cncf_kubernetes-10.4.1}/src/airflow/providers/cncf/kubernetes/executors/__init__.py +0 -0
- {apache_airflow_providers_cncf_kubernetes-10.4.0b1 → apache_airflow_providers_cncf_kubernetes-10.4.1}/src/airflow/providers/cncf/kubernetes/executors/kubernetes_executor.py +0 -0
- {apache_airflow_providers_cncf_kubernetes-10.4.0b1 → apache_airflow_providers_cncf_kubernetes-10.4.1}/src/airflow/providers/cncf/kubernetes/executors/kubernetes_executor_types.py +0 -0
- {apache_airflow_providers_cncf_kubernetes-10.4.0b1 → apache_airflow_providers_cncf_kubernetes-10.4.1}/src/airflow/providers/cncf/kubernetes/hooks/__init__.py +0 -0
- {apache_airflow_providers_cncf_kubernetes-10.4.0b1 → apache_airflow_providers_cncf_kubernetes-10.4.1}/src/airflow/providers/cncf/kubernetes/hooks/kubernetes.py +0 -0
- {apache_airflow_providers_cncf_kubernetes-10.4.0b1 → apache_airflow_providers_cncf_kubernetes-10.4.1}/src/airflow/providers/cncf/kubernetes/k8s_model.py +0 -0
- {apache_airflow_providers_cncf_kubernetes-10.4.0b1 → apache_airflow_providers_cncf_kubernetes-10.4.1}/src/airflow/providers/cncf/kubernetes/kube_client.py +0 -0
- {apache_airflow_providers_cncf_kubernetes-10.4.0b1 → apache_airflow_providers_cncf_kubernetes-10.4.1}/src/airflow/providers/cncf/kubernetes/kube_config.py +0 -0
- {apache_airflow_providers_cncf_kubernetes-10.4.0b1 → apache_airflow_providers_cncf_kubernetes-10.4.1}/src/airflow/providers/cncf/kubernetes/kubernetes_executor_templates/__init__.py +0 -0
- {apache_airflow_providers_cncf_kubernetes-10.4.0b1 → apache_airflow_providers_cncf_kubernetes-10.4.1}/src/airflow/providers/cncf/kubernetes/kubernetes_executor_templates/basic_template.yaml +0 -0
- {apache_airflow_providers_cncf_kubernetes-10.4.0b1 → apache_airflow_providers_cncf_kubernetes-10.4.1}/src/airflow/providers/cncf/kubernetes/kubernetes_helper_functions.py +0 -0
- {apache_airflow_providers_cncf_kubernetes-10.4.0b1 → apache_airflow_providers_cncf_kubernetes-10.4.1}/src/airflow/providers/cncf/kubernetes/operators/__init__.py +0 -0
- {apache_airflow_providers_cncf_kubernetes-10.4.0b1 → apache_airflow_providers_cncf_kubernetes-10.4.1}/src/airflow/providers/cncf/kubernetes/operators/custom_object_launcher.py +0 -0
- {apache_airflow_providers_cncf_kubernetes-10.4.0b1 → apache_airflow_providers_cncf_kubernetes-10.4.1}/src/airflow/providers/cncf/kubernetes/operators/job.py +0 -0
- {apache_airflow_providers_cncf_kubernetes-10.4.0b1 → apache_airflow_providers_cncf_kubernetes-10.4.1}/src/airflow/providers/cncf/kubernetes/operators/kueue.py +0 -0
- {apache_airflow_providers_cncf_kubernetes-10.4.0b1 → apache_airflow_providers_cncf_kubernetes-10.4.1}/src/airflow/providers/cncf/kubernetes/operators/resource.py +0 -0
- {apache_airflow_providers_cncf_kubernetes-10.4.0b1 → apache_airflow_providers_cncf_kubernetes-10.4.1}/src/airflow/providers/cncf/kubernetes/pod_generator.py +0 -0
- {apache_airflow_providers_cncf_kubernetes-10.4.0b1 → apache_airflow_providers_cncf_kubernetes-10.4.1}/src/airflow/providers/cncf/kubernetes/pod_template_file_examples/__init__.py +0 -0
- {apache_airflow_providers_cncf_kubernetes-10.4.0b1 → apache_airflow_providers_cncf_kubernetes-10.4.1}/src/airflow/providers/cncf/kubernetes/pod_template_file_examples/dags_in_image_template.yaml +0 -0
- {apache_airflow_providers_cncf_kubernetes-10.4.0b1 → apache_airflow_providers_cncf_kubernetes-10.4.1}/src/airflow/providers/cncf/kubernetes/pod_template_file_examples/dags_in_volume_template.yaml +0 -0
- {apache_airflow_providers_cncf_kubernetes-10.4.0b1 → apache_airflow_providers_cncf_kubernetes-10.4.1}/src/airflow/providers/cncf/kubernetes/pod_template_file_examples/git_sync_template.yaml +0 -0
- {apache_airflow_providers_cncf_kubernetes-10.4.0b1 → apache_airflow_providers_cncf_kubernetes-10.4.1}/src/airflow/providers/cncf/kubernetes/python_kubernetes_script.jinja2 +0 -0
- {apache_airflow_providers_cncf_kubernetes-10.4.0b1 → apache_airflow_providers_cncf_kubernetes-10.4.1}/src/airflow/providers/cncf/kubernetes/python_kubernetes_script.py +0 -0
- {apache_airflow_providers_cncf_kubernetes-10.4.0b1 → apache_airflow_providers_cncf_kubernetes-10.4.1}/src/airflow/providers/cncf/kubernetes/resource_convert/__init__.py +0 -0
- {apache_airflow_providers_cncf_kubernetes-10.4.0b1 → apache_airflow_providers_cncf_kubernetes-10.4.1}/src/airflow/providers/cncf/kubernetes/resource_convert/configmap.py +0 -0
- {apache_airflow_providers_cncf_kubernetes-10.4.0b1 → apache_airflow_providers_cncf_kubernetes-10.4.1}/src/airflow/providers/cncf/kubernetes/resource_convert/env_variable.py +0 -0
- {apache_airflow_providers_cncf_kubernetes-10.4.0b1 → apache_airflow_providers_cncf_kubernetes-10.4.1}/src/airflow/providers/cncf/kubernetes/resource_convert/secret.py +0 -0
- {apache_airflow_providers_cncf_kubernetes-10.4.0b1 → apache_airflow_providers_cncf_kubernetes-10.4.1}/src/airflow/providers/cncf/kubernetes/secret.py +0 -0
- {apache_airflow_providers_cncf_kubernetes-10.4.0b1 → apache_airflow_providers_cncf_kubernetes-10.4.1}/src/airflow/providers/cncf/kubernetes/sensors/__init__.py +0 -0
- {apache_airflow_providers_cncf_kubernetes-10.4.0b1 → apache_airflow_providers_cncf_kubernetes-10.4.1}/src/airflow/providers/cncf/kubernetes/sensors/spark_kubernetes.py +0 -0
- {apache_airflow_providers_cncf_kubernetes-10.4.0b1 → apache_airflow_providers_cncf_kubernetes-10.4.1}/src/airflow/providers/cncf/kubernetes/template_rendering.py +0 -0
- {apache_airflow_providers_cncf_kubernetes-10.4.0b1 → apache_airflow_providers_cncf_kubernetes-10.4.1}/src/airflow/providers/cncf/kubernetes/triggers/__init__.py +0 -0
- {apache_airflow_providers_cncf_kubernetes-10.4.0b1 → apache_airflow_providers_cncf_kubernetes-10.4.1}/src/airflow/providers/cncf/kubernetes/triggers/job.py +0 -0
- {apache_airflow_providers_cncf_kubernetes-10.4.0b1 → apache_airflow_providers_cncf_kubernetes-10.4.1}/src/airflow/providers/cncf/kubernetes/utils/__init__.py +0 -0
- {apache_airflow_providers_cncf_kubernetes-10.4.0b1 → apache_airflow_providers_cncf_kubernetes-10.4.1}/src/airflow/providers/cncf/kubernetes/utils/delete_from.py +0 -0
- {apache_airflow_providers_cncf_kubernetes-10.4.0b1 → apache_airflow_providers_cncf_kubernetes-10.4.1}/src/airflow/providers/cncf/kubernetes/utils/k8s_resource_iterator.py +0 -0
- {apache_airflow_providers_cncf_kubernetes-10.4.0b1 → apache_airflow_providers_cncf_kubernetes-10.4.1}/src/airflow/providers/cncf/kubernetes/utils/xcom_sidecar.py +0 -0
- {apache_airflow_providers_cncf_kubernetes-10.4.0b1 → apache_airflow_providers_cncf_kubernetes-10.4.1}/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.
|
|
3
|
+
Version: 10.4.1
|
|
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>
|
|
@@ -27,8 +27,8 @@ 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.
|
|
31
|
-
Project-URL: Documentation, https://airflow.apache.org/docs/apache-airflow-providers-cncf-kubernetes/10.4.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
28
|
+
version = "10.4.1"
|
|
29
29
|
description = "Provider package apache-airflow-providers-cncf-kubernetes for Apache Airflow"
|
|
30
30
|
readme = "README.rst"
|
|
31
31
|
authors = [
|
|
@@ -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.
|
|
101
|
-
"Changelog" = "https://airflow.apache.org/docs/apache-airflow-providers-cncf-kubernetes/10.4.
|
|
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.
|
|
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
|
-
|
|
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
|
|
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":
|
|
30
|
+
"source-date-epoch": 1743835927,
|
|
31
31
|
"versions": [
|
|
32
|
-
"10.4.
|
|
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
|
|
|
@@ -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 =
|
|
123
|
-
|
|
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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|