Skip to content

Commit fc13b42

Browse files
authored
fix(iris): use marin_temp_bucket for bundle storage (#3112)
- Add default_bundle_prefix() fallback in controller CLI using marin_temp_bucket(ttl_days=7, prefix="iris/bundles") when no explicit bundle_prefix is configured - Remove hardcoded gs://marin-us-central2/tmp/iris/bundles from GCP example configs (smoke.yaml, demo.yaml, marin.yaml) - Bundles now go to gs://marin-tmp-{region}/ttl=7d/iris/bundles (lifecycle-managed) instead of the main data bucket Fixes #3068
1 parent 77f12c5 commit fc13b42

File tree

4 files changed

+14
-9
lines changed

4 files changed

+14
-9
lines changed

lib/iris/examples/demo.yaml

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,9 +21,6 @@ defaults:
2121
port: 10001
2222
controller_address: "${IRIS_CONTROLLER_ADDRESS}"
2323

24-
storage:
25-
bundle_prefix: gs://marin-us-central2/tmp/iris/bundles
26-
2724
controller:
2825
image: ghcr.io/marin-community/iris-controller:latest
2926
gcp:

lib/iris/examples/marin.yaml

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,9 +19,6 @@ defaults:
1919
default_task_image: ghcr.io/marin-community/iris-task:latest
2020
port: 10001
2121

22-
storage:
23-
bundle_prefix: gs://marin-us-central2/tmp/iris/bundles
24-
2522
controller:
2623
image: ghcr.io/marin-community/iris-controller:latest
2724
gcp:

lib/iris/examples/smoke.yaml

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,9 +19,6 @@ defaults:
1919
default_task_image: ghcr.io/marin-community/iris-task:latest
2020
port: 10001
2121

22-
storage:
23-
bundle_prefix: gs://marin-us-central2/tmp/iris/bundles
24-
2522
controller:
2623
image: ghcr.io/marin-community/iris-controller:latest
2724
gcp:

lib/iris/src/iris/cluster/controller/main.py

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,11 +14,21 @@
1414
from iris.cluster.controller.controller import Controller, ControllerConfig, RpcWorkerStubFactory
1515
from iris.cluster.controller.state import HEARTBEAT_FAILURE_THRESHOLD
1616
from iris.logging import configure_logging
17+
from iris.marin_fs import marin_temp_bucket
1718
from iris.time_utils import Duration
1819

1920
logger = logging.getLogger(__name__)
2021

2122

23+
def default_bundle_prefix() -> str:
24+
"""Return a region-local temp bucket path for bundle storage.
25+
26+
Uses the same marin_temp_bucket API that log_prefix uses, with a 7-day TTL
27+
since bundles are ephemeral and regenerated on each job submission.
28+
"""
29+
return marin_temp_bucket(ttl_days=7, prefix="iris/bundles")
30+
31+
2232
@click.group()
2333
def cli():
2434
"""Iris Controller - Cluster control plane."""
@@ -108,6 +118,10 @@ def serve(
108118
cluster_config.controller.heartbeat_failure_threshold if cluster_config else HEARTBEAT_FAILURE_THRESHOLD
109119
)
110120

121+
if bundle_prefix is None:
122+
bundle_prefix = default_bundle_prefix()
123+
logger.info("Using auto-detected bundle_prefix: %s", bundle_prefix)
124+
111125
logger.info("Configuration: host=%s port=%d bundle_prefix=%s", host, port, bundle_prefix)
112126
logger.info("Configuration: scheduler_interval=%.2fs", scheduler_interval)
113127

0 commit comments

Comments
 (0)