dagster-k8s 0.23.4__tar.gz → 0.23.6__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.
Files changed (27) hide show
  1. {dagster-k8s-0.23.4/dagster_k8s.egg-info → dagster-k8s-0.23.6}/PKG-INFO +1 -1
  2. {dagster-k8s-0.23.4 → dagster-k8s-0.23.6}/dagster_k8s/client.py +12 -2
  3. {dagster-k8s-0.23.4 → dagster-k8s-0.23.6}/dagster_k8s/executor.py +4 -0
  4. {dagster-k8s-0.23.4 → dagster-k8s-0.23.6}/dagster_k8s/launcher.py +3 -0
  5. {dagster-k8s-0.23.4 → dagster-k8s-0.23.6}/dagster_k8s/pipes.py +2 -5
  6. dagster-k8s-0.23.6/dagster_k8s/version.py +1 -0
  7. {dagster-k8s-0.23.4 → dagster-k8s-0.23.6/dagster_k8s.egg-info}/PKG-INFO +1 -1
  8. {dagster-k8s-0.23.4 → dagster-k8s-0.23.6}/dagster_k8s.egg-info/requires.txt +1 -1
  9. {dagster-k8s-0.23.4 → dagster-k8s-0.23.6}/setup.py +1 -1
  10. dagster-k8s-0.23.4/dagster_k8s/version.py +0 -1
  11. {dagster-k8s-0.23.4 → dagster-k8s-0.23.6}/LICENSE +0 -0
  12. {dagster-k8s-0.23.4 → dagster-k8s-0.23.6}/MANIFEST.in +0 -0
  13. {dagster-k8s-0.23.4 → dagster-k8s-0.23.6}/README.md +0 -0
  14. {dagster-k8s-0.23.4 → dagster-k8s-0.23.6}/dagster_k8s/__init__.py +0 -0
  15. {dagster-k8s-0.23.4 → dagster-k8s-0.23.6}/dagster_k8s/container_context.py +0 -0
  16. {dagster-k8s-0.23.4 → dagster-k8s-0.23.6}/dagster_k8s/job.py +0 -0
  17. {dagster-k8s-0.23.4 → dagster-k8s-0.23.6}/dagster_k8s/models.py +0 -0
  18. {dagster-k8s-0.23.4 → dagster-k8s-0.23.6}/dagster_k8s/ops/__init__.py +0 -0
  19. {dagster-k8s-0.23.4 → dagster-k8s-0.23.6}/dagster_k8s/ops/k8s_job_op.py +0 -0
  20. {dagster-k8s-0.23.4 → dagster-k8s-0.23.6}/dagster_k8s/py.typed +0 -0
  21. {dagster-k8s-0.23.4 → dagster-k8s-0.23.6}/dagster_k8s/test.py +0 -0
  22. {dagster-k8s-0.23.4 → dagster-k8s-0.23.6}/dagster_k8s/utils.py +0 -0
  23. {dagster-k8s-0.23.4 → dagster-k8s-0.23.6}/dagster_k8s.egg-info/SOURCES.txt +0 -0
  24. {dagster-k8s-0.23.4 → dagster-k8s-0.23.6}/dagster_k8s.egg-info/dependency_links.txt +0 -0
  25. {dagster-k8s-0.23.4 → dagster-k8s-0.23.6}/dagster_k8s.egg-info/not-zip-safe +0 -0
  26. {dagster-k8s-0.23.4 → dagster-k8s-0.23.6}/dagster_k8s.egg-info/top_level.txt +0 -0
  27. {dagster-k8s-0.23.4 → dagster-k8s-0.23.6}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: dagster-k8s
3
- Version: 0.23.4
3
+ Version: 0.23.6
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
@@ -386,6 +386,9 @@ class DagsterKubernetesClient:
386
386
  wait_time_between_attempts=wait_time_between_attempts,
387
387
  )
388
388
 
389
+ if not status:
390
+ raise DagsterK8sError(f"job {job_name} could not be found")
391
+
389
392
  # status.succeeded represents the number of pods which reached phase Succeeded.
390
393
  if status.succeeded == num_pods_to_wait_for:
391
394
  break
@@ -419,9 +422,16 @@ class DagsterKubernetesClient:
419
422
  job_name: str,
420
423
  namespace: str,
421
424
  wait_time_between_attempts=DEFAULT_WAIT_BETWEEN_ATTEMPTS,
422
- ) -> V1JobStatus:
425
+ ) -> Optional[V1JobStatus]:
423
426
  def _get_job_status():
424
- job = self.batch_api.read_namespaced_job_status(job_name, namespace=namespace)
427
+ try:
428
+ job = self.batch_api.read_namespaced_job_status(job_name, namespace=namespace)
429
+ except kubernetes.client.rest.ApiException as e:
430
+ if e.reason == "Not Found":
431
+ return None
432
+ else:
433
+ raise
434
+
425
435
  return job.status
426
436
 
427
437
  return k8s_api_retry(_get_job_status, max_retries=3, timeout=wait_time_between_attempts)
@@ -317,6 +317,10 @@ class K8sStepHandler(StepHandler):
317
317
  namespace=container_context.namespace,
318
318
  job_name=job_name,
319
319
  )
320
+ if not status:
321
+ return CheckStepHealthResult.unhealthy(
322
+ reason=f"Kubernetes job {job_name} for step {step_key} could not be found."
323
+ )
320
324
  if status.failed:
321
325
  return CheckStepHealthResult.unhealthy(
322
326
  reason=f"Discovered failed Kubernetes job {job_name} for step {step_key}.",
@@ -429,6 +429,9 @@ class K8sRunLauncher(RunLauncher, ConfigurableClass):
429
429
  WorkerStatus.UNKNOWN, str(serializable_error_info_from_exc_info(sys.exc_info()))
430
430
  )
431
431
 
432
+ if not status:
433
+ return CheckRunHealthResult(WorkerStatus.UNKNOWN, f"Job {job_name} could not be found")
434
+
432
435
  inactive_job_with_finished_pods = bool(
433
436
  (not status.active) and (status.failed or status.succeeded)
434
437
  )
@@ -11,7 +11,7 @@ from dagster import (
11
11
  _check as check,
12
12
  )
13
13
  from dagster._annotations import experimental
14
- from dagster._core.definitions.resource_annotation import ResourceParam
14
+ from dagster._core.definitions.resource_annotation import TreatAsResourceParam
15
15
  from dagster._core.errors import DagsterInvariantViolationError
16
16
  from dagster._core.pipes.client import (
17
17
  PipesClient,
@@ -93,7 +93,7 @@ class PipesK8sPodLogsMessageReader(PipesMessageReader):
93
93
 
94
94
 
95
95
  @experimental
96
- class _PipesK8sClient(PipesClient):
96
+ class PipesK8sClient(PipesClient, TreatAsResourceParam):
97
97
  """A pipes client for launching kubernetes pods.
98
98
 
99
99
  By default context is injected via environment variables and messages are parsed out of
@@ -423,6 +423,3 @@ def build_pod_body(
423
423
  "spec": spec,
424
424
  },
425
425
  )
426
-
427
-
428
- PipesK8sClient = ResourceParam[_PipesK8sClient]
@@ -0,0 +1 @@
1
+ __version__ = "0.23.6"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: dagster-k8s
3
- Version: 0.23.4
3
+ Version: 0.23.6
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
@@ -1,3 +1,3 @@
1
- dagster==1.7.4
1
+ dagster==1.7.6
2
2
  kubernetes
3
3
  google-auth!=2.23.1
@@ -35,7 +35,7 @@ setup(
35
35
  packages=find_packages(exclude=["dagster_k8s_tests*"]),
36
36
  python_requires=">=3.8,<3.13",
37
37
  install_requires=[
38
- "dagster==1.7.4",
38
+ "dagster==1.7.6",
39
39
  "kubernetes",
40
40
  # exclude a google-auth release that added an overly restrictive urllib3 pin that confuses dependency resolvers
41
41
  "google-auth!=2.23.1",
@@ -1 +0,0 @@
1
- __version__ = "0.23.4"
File without changes
File without changes
File without changes
File without changes