Skip to content

Commit a30a677

Browse files
committed
Disable client-side caching for some orchestrators
1 parent 2b843f4 commit a30a677

File tree

5 files changed

+47
-9
lines changed

5 files changed

+47
-9
lines changed

src/zenml/integrations/kubernetes/flavors/kubernetes_orchestrator_flavor.py

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -134,6 +134,17 @@ def is_schedulable(self) -> bool:
134134
"""
135135
return True
136136

137+
@property
138+
def supports_client_side_caching(self) -> bool:
139+
"""Whether the orchestrator supports client side caching.
140+
141+
Returns:
142+
Whether the orchestrator supports client side caching.
143+
"""
144+
# The Kubernetes orchestrator starts step pods from a pipeline pod.
145+
# This is currently not supported when using client-side caching.
146+
return False
147+
137148

138149
class KubernetesOrchestratorFlavor(BaseOrchestratorFlavor):
139150
"""Kubernetes orchestrator flavor."""

src/zenml/integrations/lightning/flavors/lightning_orchestrator_flavor.py

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -94,6 +94,17 @@ def is_schedulable(self) -> bool:
9494
"""
9595
return False
9696

97+
@property
98+
def supports_client_side_caching(self) -> bool:
99+
"""Whether the orchestrator supports client side caching.
100+
101+
Returns:
102+
Whether the orchestrator supports client side caching.
103+
"""
104+
# The Lightning orchestrator starts step studios from a pipeline studio.
105+
# This is currently not supported when using client-side caching.
106+
return False
107+
97108

98109
class LightningOrchestratorFlavor(BaseOrchestratorFlavor):
99110
"""Lightning orchestrator flavor."""

src/zenml/integrations/skypilot/flavors/skypilot_orchestrator_base_vm_config.py

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -144,3 +144,15 @@ def is_local(self) -> bool:
144144
True if this config is for a local component, False otherwise.
145145
"""
146146
return False
147+
148+
@property
149+
def supports_client_side_caching(self) -> bool:
150+
"""Whether the orchestrator supports client side caching.
151+
152+
Returns:
153+
Whether the orchestrator supports client side caching.
154+
"""
155+
# The Skypilot orchestrator runs the entire pipeline in a single VM, or
156+
# starts additional VMs from the root VM. Both of those cases are
157+
# currently not supported when using client-side caching.
158+
return False

src/zenml/orchestrators/base_orchestrator.py

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -84,6 +84,15 @@ def is_schedulable(self) -> bool:
8484
"""
8585
return False
8686

87+
@property
88+
def supports_client_side_caching(self) -> bool:
89+
"""Whether the orchestrator supports client side caching.
90+
91+
Returns:
92+
Whether the orchestrator supports client side caching.
93+
"""
94+
return True
95+
8796

8897
class BaseOrchestrator(StackComponent, ABC):
8998
"""Base class for all orchestrators.
@@ -205,6 +214,7 @@ def run(
205214

206215
if (
207216
placeholder_run
217+
and self.config.supports_client_side_caching
208218
and not deployment.schedule
209219
and not prevent_client_side_caching
210220
):

src/zenml/service_connectors/service_connector_utils.py

Lines changed: 3 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -60,15 +60,9 @@ def _raise_specific_cloud_exception_if_needed(
6060
orchestrators: List[ResourcesInfo],
6161
container_registries: List[ResourcesInfo],
6262
) -> None:
63-
AWS_DOCS = (
64-
"https://docs.zenml.io/how-to/infrastructure-deployment/auth-management/aws-service-connector"
65-
)
66-
GCP_DOCS = (
67-
"https://docs.zenml.io/how-to/infrastructure-deployment/auth-management/gcp-service-connector"
68-
)
69-
AZURE_DOCS = (
70-
"https://docs.zenml.io/how-to/infrastructure-deployment/auth-management/azure-service-connector"
71-
)
63+
AWS_DOCS = "https://docs.zenml.io/how-to/infrastructure-deployment/auth-management/aws-service-connector"
64+
GCP_DOCS = "https://docs.zenml.io/how-to/infrastructure-deployment/auth-management/gcp-service-connector"
65+
AZURE_DOCS = "https://docs.zenml.io/how-to/infrastructure-deployment/auth-management/azure-service-connector"
7266

7367
if not artifact_stores:
7468
error_msg = (

0 commit comments

Comments
 (0)