dagster-k8s 0.24.7__py3-none-any.whl → 0.24.8__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.

Potentially problematic release.


This version of dagster-k8s might be problematic. Click here for more details.

dagster_k8s/client.py CHANGED
@@ -570,6 +570,7 @@ class DagsterKubernetesClient:
570
570
 
571
571
  # A set of container names that have exited.
572
572
  exited_containers = set()
573
+ ready_containers = set()
573
574
  ignore_containers = ignore_containers or set()
574
575
  error_logs = []
575
576
 
@@ -613,6 +614,7 @@ class DagsterKubernetesClient:
613
614
  all_statuses = []
614
615
  all_statuses.extend(pod.status.init_container_statuses or [])
615
616
  all_statuses.extend(pod.status.container_statuses or [])
617
+ initcontainers = set(s.name for s in (pod.status.init_container_statuses or []))
616
618
 
617
619
  # Filter out ignored containers
618
620
  all_statuses = [s for s in all_statuses if s.name not in ignore_containers]
@@ -623,7 +625,9 @@ class DagsterKubernetesClient:
623
625
  #
624
626
  # In case we are waiting for the pod to be ready, we will exit after
625
627
  # the first container in this list is ready.
626
- container_status = next(s for s in all_statuses if s.name not in exited_containers)
628
+ container_status = next(
629
+ s for s in all_statuses if s.name not in exited_containers | ready_containers
630
+ )
627
631
 
628
632
  # State checks below, see:
629
633
  # https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.18/#containerstate-v1-core
@@ -638,8 +642,11 @@ class DagsterKubernetesClient:
638
642
  self.sleeper(wait_time_between_attempts)
639
643
  continue
640
644
  else:
641
- self.logger(f'Pod "{pod_name}" is ready, done waiting')
642
- break
645
+ ready_containers.add(container_status.name)
646
+ if initcontainers.issubset(exited_containers | ready_containers):
647
+ self.logger(f'Pod "{pod_name}" is ready, done waiting')
648
+ break
649
+
643
650
  else:
644
651
  check.invariant(
645
652
  wait_for_state == WaitForPodState.Terminated, "New invalid WaitForPodState"
@@ -699,6 +706,10 @@ class DagsterKubernetesClient:
699
706
 
700
707
  self.logger(msg)
701
708
  error_logs.append(msg)
709
+ elif container_name in initcontainers:
710
+ self.logger(
711
+ f"Init container {container_name} in {pod_name} has exited successfully"
712
+ )
702
713
  else:
703
714
  self.logger(f"Container {container_name} in {pod_name} has exited successfully")
704
715
 
dagster_k8s/version.py CHANGED
@@ -1 +1 @@
1
- __version__ = "0.24.7"
1
+ __version__ = "0.24.8"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: dagster-k8s
3
- Version: 0.24.7
3
+ Version: 0.24.8
4
4
  Summary: A Dagster integration for k8s
5
5
  Home-page: https://github.com/dagster-io/dagster/tree/master/python_modules/libraries/dagster-k8s
6
6
  Author: Dagster Labs
@@ -15,7 +15,7 @@ Classifier: License :: OSI Approved :: Apache Software License
15
15
  Classifier: Operating System :: OS Independent
16
16
  Requires-Python: >=3.8,<3.13
17
17
  License-File: LICENSE
18
- Requires-Dist: dagster ==1.8.7
18
+ Requires-Dist: dagster ==1.8.8
19
19
  Requires-Dist: kubernetes
20
20
  Requires-Dist: google-auth !=2.23.1
21
21
 
@@ -1,5 +1,5 @@
1
1
  dagster_k8s/__init__.py,sha256=7LyrMxxhXKdGQYClq7OJwMiVJW0KYPP-8lTDrWLwyzU,750
2
- dagster_k8s/client.py,sha256=0phSk90G6S52NEevHmpSUumL3_bGIp5UF20N_l_amZY,37324
2
+ dagster_k8s/client.py,sha256=9stIMp196v-vaVct8kBFp5pveo0lAup78y9Gi7g9VMM,37873
3
3
  dagster_k8s/container_context.py,sha256=gyFS0FgdupEUHIIsfYzS-TKHzXOd2mx-yX7onw2XuiY,21353
4
4
  dagster_k8s/executor.py,sha256=IZMWEtzXXd37INbU4gxkMU46cX4qoZw4MdgszxngZuQ,13934
5
5
  dagster_k8s/job.py,sha256=2tCIYlGUIt3ZydbZ9WRyPgr7YWz8t_2vaD20u7h5efw,41512
@@ -9,11 +9,11 @@ dagster_k8s/pipes.py,sha256=lsf657zbvxAH71zjEOIc-Oxo2oRvN-mp2XBjbahPUyU,17195
9
9
  dagster_k8s/py.typed,sha256=la67KBlbjXN-_-DfGNcdOcjYumVpKG_Tkw-8n5dnGB4,8
10
10
  dagster_k8s/test.py,sha256=cNtcbzxytiZtd01wY5ip7KPi01y0BUQuQhohoIfAFUM,684
11
11
  dagster_k8s/utils.py,sha256=c1bHqh5f1p5RZ0JCT6WEbPPjDvbgUp3pl4nYZRaaI4s,786
12
- dagster_k8s/version.py,sha256=2ynJVRZcVbxnjaXuP8lTE1Ucy3DQK3byKnrGP4xsAJE,23
12
+ dagster_k8s/version.py,sha256=O9QkGk46Yh2lp8IBRcbEaStijlXe7yZyxRbauvT7w1Q,23
13
13
  dagster_k8s/ops/__init__.py,sha256=ur-9GrE_DRfnsFCpYan03qOY9cWbjagC8KHZFZuiCmc,113
14
14
  dagster_k8s/ops/k8s_job_op.py,sha256=cIrIn30Ew1MQDVJOf4A4LsERG60m64Vp9J4q90enebw,20533
15
- dagster_k8s-0.24.7.dist-info/LICENSE,sha256=TMatHW4_G9ldRdodEAp-l2Xa2WvsdeOh60E3v1R2jis,11349
16
- dagster_k8s-0.24.7.dist-info/METADATA,sha256=rWxT5g9DDYVKwOLj9fdolH0P7Tezy0Bu74NO-Dw9kMo,778
17
- dagster_k8s-0.24.7.dist-info/WHEEL,sha256=yQN5g4mg4AybRjkgi-9yy4iQEFibGQmlz78Pik5Or-A,92
18
- dagster_k8s-0.24.7.dist-info/top_level.txt,sha256=wFPjskoWPlk2hOLugYCaoZhSiZdUcbCA1QZe9I4dals,12
19
- dagster_k8s-0.24.7.dist-info/RECORD,,
15
+ dagster_k8s-0.24.8.dist-info/LICENSE,sha256=TMatHW4_G9ldRdodEAp-l2Xa2WvsdeOh60E3v1R2jis,11349
16
+ dagster_k8s-0.24.8.dist-info/METADATA,sha256=WcRObvjp4C5A7TJSHS4ovVTp-q9Hjo0IQO_mGM0evIA,778
17
+ dagster_k8s-0.24.8.dist-info/WHEEL,sha256=yQN5g4mg4AybRjkgi-9yy4iQEFibGQmlz78Pik5Or-A,92
18
+ dagster_k8s-0.24.8.dist-info/top_level.txt,sha256=wFPjskoWPlk2hOLugYCaoZhSiZdUcbCA1QZe9I4dals,12
19
+ dagster_k8s-0.24.8.dist-info/RECORD,,