apache-airflow-providers-cncf-kubernetes 8.3.0rc1__py3-none-any.whl → 8.3.0rc2__py3-none-any.whl
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.
- airflow/providers/cncf/kubernetes/operators/pod.py +16 -7
- airflow/providers/cncf/kubernetes/utils/pod_manager.py +1 -1
- {apache_airflow_providers_cncf_kubernetes-8.3.0rc1.dist-info → apache_airflow_providers_cncf_kubernetes-8.3.0rc2.dist-info}/METADATA +2 -2
- {apache_airflow_providers_cncf_kubernetes-8.3.0rc1.dist-info → apache_airflow_providers_cncf_kubernetes-8.3.0rc2.dist-info}/RECORD +6 -6
- {apache_airflow_providers_cncf_kubernetes-8.3.0rc1.dist-info → apache_airflow_providers_cncf_kubernetes-8.3.0rc2.dist-info}/WHEEL +0 -0
- {apache_airflow_providers_cncf_kubernetes-8.3.0rc1.dist-info → apache_airflow_providers_cncf_kubernetes-8.3.0rc2.dist-info}/entry_points.txt +0 -0
|
@@ -36,6 +36,7 @@ import kubernetes
|
|
|
36
36
|
import tenacity
|
|
37
37
|
from deprecated import deprecated
|
|
38
38
|
from kubernetes.client import CoreV1Api, V1Pod, models as k8s
|
|
39
|
+
from kubernetes.client.exceptions import ApiException
|
|
39
40
|
from kubernetes.stream import stream
|
|
40
41
|
from urllib3.exceptions import HTTPError
|
|
41
42
|
|
|
@@ -788,9 +789,18 @@ class KubernetesPodOperator(BaseOperator):
|
|
|
788
789
|
# Skip await_pod_completion when the event is 'timeout' due to the pod can hang
|
|
789
790
|
# on the ErrImagePull or ContainerCreating step and it will never complete
|
|
790
791
|
if event["status"] != "timeout":
|
|
791
|
-
|
|
792
|
-
self.pod
|
|
793
|
-
|
|
792
|
+
try:
|
|
793
|
+
self.pod = self.pod_manager.await_pod_completion(
|
|
794
|
+
self.pod, istio_enabled, self.base_container_name
|
|
795
|
+
)
|
|
796
|
+
except ApiException as e:
|
|
797
|
+
if e.status == 404:
|
|
798
|
+
self.pod = None
|
|
799
|
+
self.log.warning(
|
|
800
|
+
"Pod not found while waiting for completion. The last status was %r", event["status"]
|
|
801
|
+
)
|
|
802
|
+
else:
|
|
803
|
+
raise e
|
|
794
804
|
if self.pod is not None:
|
|
795
805
|
self.post_complete_action(
|
|
796
806
|
pod=self.pod,
|
|
@@ -807,8 +817,7 @@ class KubernetesPodOperator(BaseOperator):
|
|
|
807
817
|
logs = self.client.read_namespaced_pod_log(
|
|
808
818
|
name=pod.metadata.name,
|
|
809
819
|
namespace=pod.metadata.namespace,
|
|
810
|
-
|
|
811
|
-
container_name=self.base_container_name,
|
|
820
|
+
container=self.base_container_name,
|
|
812
821
|
follow=follow,
|
|
813
822
|
timestamps=False,
|
|
814
823
|
since_seconds=since_seconds,
|
|
@@ -818,11 +827,11 @@ class KubernetesPodOperator(BaseOperator):
|
|
|
818
827
|
line = raw_line.decode("utf-8", errors="backslashreplace").rstrip("\n")
|
|
819
828
|
if line:
|
|
820
829
|
self.log.info("[%s] logs: %s", self.base_container_name, line)
|
|
821
|
-
except HTTPError as e:
|
|
830
|
+
except (HTTPError, ApiException) as e:
|
|
822
831
|
self.log.warning(
|
|
823
832
|
"Reading of logs interrupted with error %r; will retry. "
|
|
824
833
|
"Set log level to DEBUG for traceback.",
|
|
825
|
-
e,
|
|
834
|
+
e if not isinstance(e, ApiException) else e.reason,
|
|
826
835
|
)
|
|
827
836
|
|
|
828
837
|
def post_complete_action(self, *, pod, remote_pod, **kwargs) -> None:
|
|
@@ -516,7 +516,7 @@ class PodManager(LoggingMixin):
|
|
|
516
516
|
# a timeout is a normal thing and we ignore it and resume following logs
|
|
517
517
|
if not isinstance(exc, TimeoutError):
|
|
518
518
|
self.log.warning(
|
|
519
|
-
"Pod %s log read interrupted but container %s still running",
|
|
519
|
+
"Pod %s log read interrupted but container %s still running. Logs generated in the last one second might get duplicated.",
|
|
520
520
|
pod.metadata.name,
|
|
521
521
|
container_name,
|
|
522
522
|
)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: apache-airflow-providers-cncf-kubernetes
|
|
3
|
-
Version: 8.3.
|
|
3
|
+
Version: 8.3.0rc2
|
|
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>
|
|
@@ -80,7 +80,7 @@ Project-URL: YouTube, https://www.youtube.com/channel/UCSXwxpWZQ7XZ1WL3wqevChA/
|
|
|
80
80
|
|
|
81
81
|
Package ``apache-airflow-providers-cncf-kubernetes``
|
|
82
82
|
|
|
83
|
-
Release: ``8.3.0.
|
|
83
|
+
Release: ``8.3.0.rc2``
|
|
84
84
|
|
|
85
85
|
|
|
86
86
|
`Kubernetes <https://kubernetes.io/>`__
|
|
@@ -32,7 +32,7 @@ airflow/providers/cncf/kubernetes/operators/__init__.py,sha256=mlJxuZLkd5x-iq2SB
|
|
|
32
32
|
airflow/providers/cncf/kubernetes/operators/custom_object_launcher.py,sha256=ZEXw_PqGItO47AEgGKqAqwFHFo-gb9-7jgEMRJgOfNU,15311
|
|
33
33
|
airflow/providers/cncf/kubernetes/operators/job.py,sha256=qbhaytWCoi2XdkWZnDFfFPOt1CsNDk7wyrCWtn1nxlk,21432
|
|
34
34
|
airflow/providers/cncf/kubernetes/operators/kubernetes_pod.py,sha256=EFwHEdEqq4I18BeV9hgp_GFxrLI78ihZAccbyGLSjtY,1269
|
|
35
|
-
airflow/providers/cncf/kubernetes/operators/pod.py,sha256=
|
|
35
|
+
airflow/providers/cncf/kubernetes/operators/pod.py,sha256=Q1pjQ8-QJyhKv3abQAwfiYKz8MpXSrjIzfnb9No7-JE,52102
|
|
36
36
|
airflow/providers/cncf/kubernetes/operators/resource.py,sha256=ccbZQKB1B5N4Y-ruItacB5Q105Tc0uNSoEmUAaSCrGQ,7570
|
|
37
37
|
airflow/providers/cncf/kubernetes/operators/spark_kubernetes.py,sha256=xHuxlcGeMg3afAHEW1JSU9oTdJJ_p07EiqUdA4oxJuU,13262
|
|
38
38
|
airflow/providers/cncf/kubernetes/pod_template_file_examples/__init__.py,sha256=9hdXHABrVpkbpjZgUft39kOFL2xSGeG4GEua0Hmelus,785
|
|
@@ -52,9 +52,9 @@ airflow/providers/cncf/kubernetes/triggers/pod.py,sha256=_zNKBpp-gr7WIFp_TUTAsoo
|
|
|
52
52
|
airflow/providers/cncf/kubernetes/utils/__init__.py,sha256=ClZN0VPjWySdVwS_ktH7rrgL9VLAcs3OSJSB9s3zaYw,863
|
|
53
53
|
airflow/providers/cncf/kubernetes/utils/delete_from.py,sha256=poObZSoEJwQyaYWilEURs8f4CDY2sn_pfwS31Lf579A,5195
|
|
54
54
|
airflow/providers/cncf/kubernetes/utils/k8s_resource_iterator.py,sha256=-Pgc5i2WEDl7ZBvtJZ4eWDqqlSj8WdULqwUyOWmsRp8,1928
|
|
55
|
-
airflow/providers/cncf/kubernetes/utils/pod_manager.py,sha256=
|
|
55
|
+
airflow/providers/cncf/kubernetes/utils/pod_manager.py,sha256=g4JZpRJONuWFLdSlc7VyBtDGoST7H4W9LAt2nqNtDpg,33669
|
|
56
56
|
airflow/providers/cncf/kubernetes/utils/xcom_sidecar.py,sha256=k6bdmVJ21OrAwGmWwledRrAmaty9ZrmbuM-IbaI4mqo,2519
|
|
57
|
-
apache_airflow_providers_cncf_kubernetes-8.3.
|
|
58
|
-
apache_airflow_providers_cncf_kubernetes-8.3.
|
|
59
|
-
apache_airflow_providers_cncf_kubernetes-8.3.
|
|
60
|
-
apache_airflow_providers_cncf_kubernetes-8.3.
|
|
57
|
+
apache_airflow_providers_cncf_kubernetes-8.3.0rc2.dist-info/entry_points.txt,sha256=ByD3QJJyP9CfmTYtpNI1953akD38RUDgpGXLaq9vpOw,111
|
|
58
|
+
apache_airflow_providers_cncf_kubernetes-8.3.0rc2.dist-info/WHEEL,sha256=EZbGkh7Ie4PoZfRQ8I0ZuP9VklN_TvcZ6DSE5Uar4z4,81
|
|
59
|
+
apache_airflow_providers_cncf_kubernetes-8.3.0rc2.dist-info/METADATA,sha256=ImbCRcjMVpyryEgwUjZ4h0-U9cu0cX4mQcgWAukRWOU,5268
|
|
60
|
+
apache_airflow_providers_cncf_kubernetes-8.3.0rc2.dist-info/RECORD,,
|
|
File without changes
|