File tree Expand file tree Collapse file tree
src/dstack/_internal/server/background/scheduled_tasks Expand file tree Collapse file tree Original file line number Diff line number Diff line change 105105)
106106from dstack ._internal .server .services .locking import get_locker , string_to_lock_id
107107from 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+ )
109112from 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
You can’t perform that action at this time.
0 commit comments