Skip to content

Commit 444c5fa

Browse files
committed
Fix missing az restriction for clusters in submitted_jobs
1 parent b29dda0 commit 444c5fa

1 file changed

Lines changed: 11 additions & 1 deletion

File tree

src/dstack/_internal/server/background/scheduled_tasks/submitted_jobs.py

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -105,7 +105,10 @@
105105
)
106106
from dstack._internal.server.services.locking import get_locker, string_to_lock_id
107107
from dstack._internal.server.services.logging import fmt
108-
from dstack._internal.server.services.offers import get_offers_by_requirements
108+
from dstack._internal.server.services.offers import (
109+
get_instance_offer_with_restricted_az,
110+
get_offers_by_requirements,
111+
)
109112
from dstack._internal.server.services.placement import (
110113
find_or_create_suitable_placement_group,
111114
get_fleet_placement_group_models,
@@ -782,6 +785,13 @@ async def _run_jobs_on_new_instances(
782785
offer_volumes = _get_offer_volumes(volumes, offer)
783786
job_configurations = [JobConfiguration(job=j, volumes=offer_volumes) for j in jobs]
784787
compute = backend.compute()
788+
if master_job_provisioning_data is not None:
789+
# `get_offers_by_requirements()` already restricts backend and region from the master.
790+
# Availability zone still has to be narrowed per offer.
791+
offer = get_instance_offer_with_restricted_az(
792+
instance_offer=offer,
793+
master_job_provisioning_data=master_job_provisioning_data,
794+
)
785795
if (
786796
fleet_model is not None
787797
and len(fleet_model.instances) == 0

0 commit comments

Comments
 (0)