dagster-k8s 0.24.3__py3-none-any.whl → 0.24.5__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.
- dagster_k8s/__init__.py +6 -6
- dagster_k8s/container_context.py +3 -3
- dagster_k8s/executor.py +4 -5
- dagster_k8s/job.py +2 -2
- dagster_k8s/launcher.py +9 -9
- dagster_k8s/ops/__init__.py +1 -1
- dagster_k8s/ops/k8s_job_op.py +4 -4
- dagster_k8s/pipes.py +8 -5
- dagster_k8s/version.py +1 -1
- {dagster_k8s-0.24.3.dist-info → dagster_k8s-0.24.5.dist-info}/METADATA +2 -2
- dagster_k8s-0.24.5.dist-info/RECORD +19 -0
- dagster_k8s-0.24.3.dist-info/RECORD +0 -19
- {dagster_k8s-0.24.3.dist-info → dagster_k8s-0.24.5.dist-info}/LICENSE +0 -0
- {dagster_k8s-0.24.3.dist-info → dagster_k8s-0.24.5.dist-info}/WHEEL +0 -0
- {dagster_k8s-0.24.3.dist-info → dagster_k8s-0.24.5.dist-info}/top_level.txt +0 -0
dagster_k8s/__init__.py
CHANGED
|
@@ -1,20 +1,20 @@
|
|
|
1
1
|
from dagster._core.libraries import DagsterLibraryRegistry
|
|
2
2
|
|
|
3
|
-
from .executor import k8s_job_executor as k8s_job_executor
|
|
4
|
-
from .job import (
|
|
3
|
+
from dagster_k8s.executor import k8s_job_executor as k8s_job_executor
|
|
4
|
+
from dagster_k8s.job import (
|
|
5
5
|
DagsterK8sJobConfig as DagsterK8sJobConfig,
|
|
6
6
|
K8sConfigMergeBehavior as K8sConfigMergeBehavior,
|
|
7
7
|
construct_dagster_k8s_job as construct_dagster_k8s_job,
|
|
8
8
|
)
|
|
9
|
-
from .launcher import K8sRunLauncher as K8sRunLauncher
|
|
10
|
-
from .ops import (
|
|
9
|
+
from dagster_k8s.launcher import K8sRunLauncher as K8sRunLauncher
|
|
10
|
+
from dagster_k8s.ops import (
|
|
11
11
|
execute_k8s_job as execute_k8s_job,
|
|
12
12
|
k8s_job_op as k8s_job_op,
|
|
13
13
|
)
|
|
14
|
-
from .pipes import (
|
|
14
|
+
from dagster_k8s.pipes import (
|
|
15
15
|
PipesK8sClient as PipesK8sClient,
|
|
16
16
|
PipesK8sPodLogsMessageReader as PipesK8sPodLogsMessageReader,
|
|
17
17
|
)
|
|
18
|
-
from .version import __version__ as __version__
|
|
18
|
+
from dagster_k8s.version import __version__ as __version__
|
|
19
19
|
|
|
20
20
|
DagsterLibraryRegistry.register("dagster-k8s", __version__)
|
dagster_k8s/container_context.py
CHANGED
|
@@ -13,15 +13,15 @@ from dagster._core.utils import parse_env_var
|
|
|
13
13
|
from dagster._utils import hash_collection
|
|
14
14
|
|
|
15
15
|
if TYPE_CHECKING:
|
|
16
|
-
from
|
|
16
|
+
from dagster_k8s import K8sRunLauncher
|
|
17
17
|
|
|
18
|
-
from .job import (
|
|
18
|
+
from dagster_k8s.job import (
|
|
19
19
|
DagsterK8sJobConfig,
|
|
20
20
|
K8sConfigMergeBehavior,
|
|
21
21
|
UserDefinedDagsterK8sConfig,
|
|
22
22
|
get_user_defined_k8s_config,
|
|
23
23
|
)
|
|
24
|
-
from .models import k8s_snake_case_dict, k8s_snake_case_keys
|
|
24
|
+
from dagster_k8s.models import k8s_snake_case_dict, k8s_snake_case_keys
|
|
25
25
|
|
|
26
26
|
|
|
27
27
|
def _dedupe_list(values):
|
dagster_k8s/executor.py
CHANGED
|
@@ -24,11 +24,9 @@ from dagster._core.executor.step_delegating import (
|
|
|
24
24
|
)
|
|
25
25
|
from dagster._utils.merger import merge_dicts
|
|
26
26
|
|
|
27
|
-
from dagster_k8s.
|
|
28
|
-
|
|
29
|
-
from .
|
|
30
|
-
from .container_context import K8sContainerContext
|
|
31
|
-
from .job import (
|
|
27
|
+
from dagster_k8s.client import DagsterKubernetesClient
|
|
28
|
+
from dagster_k8s.container_context import K8sContainerContext
|
|
29
|
+
from dagster_k8s.job import (
|
|
32
30
|
USER_DEFINED_K8S_CONFIG_SCHEMA,
|
|
33
31
|
DagsterK8sJobConfig,
|
|
34
32
|
UserDefinedDagsterK8sConfig,
|
|
@@ -36,6 +34,7 @@ from .job import (
|
|
|
36
34
|
get_k8s_job_name,
|
|
37
35
|
get_user_defined_k8s_config,
|
|
38
36
|
)
|
|
37
|
+
from dagster_k8s.launcher import K8sRunLauncher
|
|
39
38
|
|
|
40
39
|
_K8S_EXECUTOR_CONFIG_SCHEMA = merge_dicts(
|
|
41
40
|
DagsterK8sJobConfig.config_type_job(),
|
dagster_k8s/job.py
CHANGED
|
@@ -23,8 +23,8 @@ from dagster._serdes import whitelist_for_serdes
|
|
|
23
23
|
from dagster._utils.merger import merge_dicts
|
|
24
24
|
from dagster._utils.security import non_secure_md5_hash_str
|
|
25
25
|
|
|
26
|
-
from .models import k8s_model_from_dict, k8s_snake_case_dict
|
|
27
|
-
from .utils import get_common_labels, sanitize_k8s_label
|
|
26
|
+
from dagster_k8s.models import k8s_model_from_dict, k8s_snake_case_dict
|
|
27
|
+
from dagster_k8s.utils import get_common_labels, sanitize_k8s_label
|
|
28
28
|
|
|
29
29
|
# To retry step worker, users should raise RetryRequested() so that the dagster system is aware of the
|
|
30
30
|
# retry. As an example, see retry_job in dagster_test.test_project.test_jobs.repo
|
dagster_k8s/launcher.py
CHANGED
|
@@ -14,9 +14,9 @@ from dagster._grpc.types import ResumeRunArgs
|
|
|
14
14
|
from dagster._serdes import ConfigurableClass, ConfigurableClassData
|
|
15
15
|
from dagster._utils.error import serializable_error_info_from_exc_info
|
|
16
16
|
|
|
17
|
-
from .client import DagsterKubernetesClient
|
|
18
|
-
from .container_context import K8sContainerContext
|
|
19
|
-
from .job import DagsterK8sJobConfig, construct_dagster_k8s_job, get_job_name_from_run_id
|
|
17
|
+
from dagster_k8s.client import DagsterKubernetesClient
|
|
18
|
+
from dagster_k8s.container_context import K8sContainerContext
|
|
19
|
+
from dagster_k8s.job import DagsterK8sJobConfig, construct_dagster_k8s_job, get_job_name_from_run_id
|
|
20
20
|
|
|
21
21
|
|
|
22
22
|
class K8sRunLauncher(RunLauncher, ConfigurableClass):
|
|
@@ -225,12 +225,6 @@ class K8sRunLauncher(RunLauncher, ConfigurableClass):
|
|
|
225
225
|
job_config = container_context.get_k8s_job_config(
|
|
226
226
|
job_image=repository_origin.container_image, run_launcher=self
|
|
227
227
|
)
|
|
228
|
-
job_image = job_config.job_image
|
|
229
|
-
if job_image: # expected to be set
|
|
230
|
-
self._instance.add_run_tags(
|
|
231
|
-
run.run_id,
|
|
232
|
-
{DOCKER_IMAGE_TAG: job_image},
|
|
233
|
-
)
|
|
234
228
|
|
|
235
229
|
labels = {
|
|
236
230
|
"dagster/job": job_origin.job_name,
|
|
@@ -257,6 +251,12 @@ class K8sRunLauncher(RunLauncher, ConfigurableClass):
|
|
|
257
251
|
],
|
|
258
252
|
)
|
|
259
253
|
|
|
254
|
+
# Set docker/image tag here, as it can also be provided by `user_defined_k8s_config`.
|
|
255
|
+
self._instance.add_run_tags(
|
|
256
|
+
run.run_id,
|
|
257
|
+
{DOCKER_IMAGE_TAG: job.spec.template.spec.containers[0].image},
|
|
258
|
+
)
|
|
259
|
+
|
|
260
260
|
namespace = check.not_none(container_context.namespace)
|
|
261
261
|
|
|
262
262
|
self._instance.report_engine_event(
|
dagster_k8s/ops/__init__.py
CHANGED
dagster_k8s/ops/k8s_job_op.py
CHANGED
|
@@ -19,16 +19,16 @@ from dagster._annotations import experimental
|
|
|
19
19
|
from dagster._core.errors import DagsterExecutionInterruptedError
|
|
20
20
|
from dagster._utils.merger import merge_dicts
|
|
21
21
|
|
|
22
|
-
from
|
|
23
|
-
from
|
|
24
|
-
from
|
|
22
|
+
from dagster_k8s.client import DEFAULT_JOB_POD_COUNT, DagsterKubernetesClient, k8s_api_retry
|
|
23
|
+
from dagster_k8s.container_context import K8sContainerContext
|
|
24
|
+
from dagster_k8s.job import (
|
|
25
25
|
DagsterK8sJobConfig,
|
|
26
26
|
K8sConfigMergeBehavior,
|
|
27
27
|
UserDefinedDagsterK8sConfig,
|
|
28
28
|
construct_dagster_k8s_job,
|
|
29
29
|
get_k8s_job_name,
|
|
30
30
|
)
|
|
31
|
-
from
|
|
31
|
+
from dagster_k8s.launcher import K8sRunLauncher
|
|
32
32
|
|
|
33
33
|
K8S_JOB_OP_CONFIG = merge_dicts(
|
|
34
34
|
DagsterK8sJobConfig.config_type_container(),
|
dagster_k8s/pipes.py
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import os
|
|
2
2
|
import random
|
|
3
|
+
import re
|
|
3
4
|
import string
|
|
4
5
|
from contextlib import contextmanager
|
|
5
6
|
from pathlib import Path
|
|
@@ -33,15 +34,17 @@ from dagster_pipes import (
|
|
|
33
34
|
encode_env_var,
|
|
34
35
|
)
|
|
35
36
|
|
|
36
|
-
from dagster_k8s.client import
|
|
37
|
+
from dagster_k8s.client import (
|
|
38
|
+
DEFAULT_WAIT_BETWEEN_ATTEMPTS,
|
|
39
|
+
DagsterKubernetesClient,
|
|
40
|
+
WaitForPodState,
|
|
41
|
+
)
|
|
42
|
+
from dagster_k8s.models import k8s_model_from_dict, k8s_snake_case_dict
|
|
37
43
|
from dagster_k8s.utils import get_common_labels
|
|
38
44
|
|
|
39
|
-
from .client import DagsterKubernetesClient, WaitForPodState
|
|
40
|
-
from .models import k8s_model_from_dict, k8s_snake_case_dict
|
|
41
|
-
|
|
42
45
|
|
|
43
46
|
def get_pod_name(run_id: str, op_name: str):
|
|
44
|
-
clean_op_name = op_name.replace("_", "-")
|
|
47
|
+
clean_op_name = re.sub("[^a-z0-9-]", "", op_name.lower().replace("_", "-"))
|
|
45
48
|
suffix = "".join(random.choice(string.digits) for i in range(10))
|
|
46
49
|
return f"dagster-{run_id[:18]}-{clean_op_name[:20]}-{suffix}"
|
|
47
50
|
|
dagster_k8s/version.py
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
__version__ = "0.24.
|
|
1
|
+
__version__ = "0.24.5"
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: dagster-k8s
|
|
3
|
-
Version: 0.24.
|
|
3
|
+
Version: 0.24.5
|
|
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.
|
|
18
|
+
Requires-Dist: dagster ==1.8.5
|
|
19
19
|
Requires-Dist: kubernetes
|
|
20
20
|
Requires-Dist: google-auth !=2.23.1
|
|
21
21
|
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
dagster_k8s/__init__.py,sha256=7LyrMxxhXKdGQYClq7OJwMiVJW0KYPP-8lTDrWLwyzU,750
|
|
2
|
+
dagster_k8s/client.py,sha256=BpQ987_Xd0UtadEFEjgFvKnB3xIxODvxZKU3Scjvx4o,36326
|
|
3
|
+
dagster_k8s/container_context.py,sha256=gyFS0FgdupEUHIIsfYzS-TKHzXOd2mx-yX7onw2XuiY,21353
|
|
4
|
+
dagster_k8s/executor.py,sha256=IZMWEtzXXd37INbU4gxkMU46cX4qoZw4MdgszxngZuQ,13934
|
|
5
|
+
dagster_k8s/job.py,sha256=2tCIYlGUIt3ZydbZ9WRyPgr7YWz8t_2vaD20u7h5efw,41512
|
|
6
|
+
dagster_k8s/launcher.py,sha256=R1OPsJUpjjR-B2m5a0duCc0eKOG1vdxmhBzj6Kqj1Nw,16625
|
|
7
|
+
dagster_k8s/models.py,sha256=AAHdyfoxzz360bNnrvD-30BidTK2M_qT-mRQdpwys0Y,5532
|
|
8
|
+
dagster_k8s/pipes.py,sha256=lsf657zbvxAH71zjEOIc-Oxo2oRvN-mp2XBjbahPUyU,17195
|
|
9
|
+
dagster_k8s/py.typed,sha256=la67KBlbjXN-_-DfGNcdOcjYumVpKG_Tkw-8n5dnGB4,8
|
|
10
|
+
dagster_k8s/test.py,sha256=cNtcbzxytiZtd01wY5ip7KPi01y0BUQuQhohoIfAFUM,684
|
|
11
|
+
dagster_k8s/utils.py,sha256=c1bHqh5f1p5RZ0JCT6WEbPPjDvbgUp3pl4nYZRaaI4s,786
|
|
12
|
+
dagster_k8s/version.py,sha256=6YOhWuSbeZZXix_MT-DcF-iErMerXY0XS-OBD0tO35s,23
|
|
13
|
+
dagster_k8s/ops/__init__.py,sha256=ur-9GrE_DRfnsFCpYan03qOY9cWbjagC8KHZFZuiCmc,113
|
|
14
|
+
dagster_k8s/ops/k8s_job_op.py,sha256=cIrIn30Ew1MQDVJOf4A4LsERG60m64Vp9J4q90enebw,20533
|
|
15
|
+
dagster_k8s-0.24.5.dist-info/LICENSE,sha256=TMatHW4_G9ldRdodEAp-l2Xa2WvsdeOh60E3v1R2jis,11349
|
|
16
|
+
dagster_k8s-0.24.5.dist-info/METADATA,sha256=-Y3agMQBXG5N0qAQiCm6B21CM3_Mytjnn5pXJeH8AdE,778
|
|
17
|
+
dagster_k8s-0.24.5.dist-info/WHEEL,sha256=yQN5g4mg4AybRjkgi-9yy4iQEFibGQmlz78Pik5Or-A,92
|
|
18
|
+
dagster_k8s-0.24.5.dist-info/top_level.txt,sha256=wFPjskoWPlk2hOLugYCaoZhSiZdUcbCA1QZe9I4dals,12
|
|
19
|
+
dagster_k8s-0.24.5.dist-info/RECORD,,
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
dagster_k8s/__init__.py,sha256=7EsJw7IaVXAvp1S6zG9yabYWEmFzpeBpmUVJ0o86ok0,684
|
|
2
|
-
dagster_k8s/client.py,sha256=BpQ987_Xd0UtadEFEjgFvKnB3xIxODvxZKU3Scjvx4o,36326
|
|
3
|
-
dagster_k8s/container_context.py,sha256=DL9CRdzxYFqksYoAXzDsThxQ3ZxCX0mlzTTeJne_o4c,21321
|
|
4
|
-
dagster_k8s/executor.py,sha256=TpTTp-MF6zYVDbs5zg4Aec40av8KcaypilEVaCjNUQ8,13902
|
|
5
|
-
dagster_k8s/job.py,sha256=4lubrexwCw5oQXqEe7VjSkddht-lH9DoJr1fbpH6_NM,41490
|
|
6
|
-
dagster_k8s/launcher.py,sha256=rfaLt5x9BDxv6dYi7BHt67vo_NKnLMuthSeHl8bFWzg,16565
|
|
7
|
-
dagster_k8s/models.py,sha256=AAHdyfoxzz360bNnrvD-30BidTK2M_qT-mRQdpwys0Y,5532
|
|
8
|
-
dagster_k8s/pipes.py,sha256=u2PragMjTbulcHqA11oPEDvz4UZIvBEmFPEzsjr4U2w,17143
|
|
9
|
-
dagster_k8s/py.typed,sha256=la67KBlbjXN-_-DfGNcdOcjYumVpKG_Tkw-8n5dnGB4,8
|
|
10
|
-
dagster_k8s/test.py,sha256=cNtcbzxytiZtd01wY5ip7KPi01y0BUQuQhohoIfAFUM,684
|
|
11
|
-
dagster_k8s/utils.py,sha256=c1bHqh5f1p5RZ0JCT6WEbPPjDvbgUp3pl4nYZRaaI4s,786
|
|
12
|
-
dagster_k8s/version.py,sha256=FVT3zgMnGxhctio1D7Bj2hvIqrqQQ-a9tvDQYKSSekk,23
|
|
13
|
-
dagster_k8s/ops/__init__.py,sha256=uqUmYaOIHMxiFT5tnw3VniHhq270S6zoqxE_gARLu2A,98
|
|
14
|
-
dagster_k8s/ops/k8s_job_op.py,sha256=OdYOYWEr5LEKvJ1W2iZYX6N2Dh31CF6V_BuYbUmamkk,20493
|
|
15
|
-
dagster_k8s-0.24.3.dist-info/LICENSE,sha256=TMatHW4_G9ldRdodEAp-l2Xa2WvsdeOh60E3v1R2jis,11349
|
|
16
|
-
dagster_k8s-0.24.3.dist-info/METADATA,sha256=BqyV4e0Ix3QirCjZ2mFPBejrnCQHjEGWmQ0t3ESv6PY,778
|
|
17
|
-
dagster_k8s-0.24.3.dist-info/WHEEL,sha256=yQN5g4mg4AybRjkgi-9yy4iQEFibGQmlz78Pik5Or-A,92
|
|
18
|
-
dagster_k8s-0.24.3.dist-info/top_level.txt,sha256=wFPjskoWPlk2hOLugYCaoZhSiZdUcbCA1QZe9I4dals,12
|
|
19
|
-
dagster_k8s-0.24.3.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|