2121 ServiceConfiguration ,
2222 TaskConfiguration ,
2323)
24+ from dstack ._internal .core .models .fleets import FleetNodesSpec
2425from dstack ._internal .core .models .gateways import GatewayStatus
2526from dstack ._internal .core .models .instances import (
2627 InstanceAvailability ,
5960 create_run ,
6061 create_user ,
6162 get_auth_headers ,
63+ get_fleet_spec ,
6264 get_job_provisioning_data ,
6365 get_run_spec ,
6466)
@@ -173,7 +175,7 @@ def get_dev_env_run_plan_dict(
173175 "stop_duration" : None ,
174176 "max_price" : None ,
175177 "retry" : None ,
176- "spot_policy" : "spot " ,
178+ "spot_policy" : "auto " ,
177179 "idle_duration" : None ,
178180 "utilization_policy" : None ,
179181 "startup_order" : None ,
@@ -198,7 +200,7 @@ def get_dev_env_run_plan_dict(
198200 "max_price" : None ,
199201 "name" : "string" ,
200202 "retry" : None ,
201- "spot_policy" : "spot " ,
203+ "spot_policy" : "auto " ,
202204 "idle_duration" : None ,
203205 "utilization_policy" : None ,
204206 "startup_order" : None ,
@@ -249,7 +251,7 @@ def get_dev_env_run_plan_dict(
249251 "shm_size" : None ,
250252 },
251253 "max_price" : None ,
252- "spot" : True ,
254+ "spot" : None ,
253255 "reservation" : None ,
254256 "multinode" : False ,
255257 },
@@ -387,7 +389,7 @@ def get_dev_env_run_dict(
387389 "stop_duration" : None ,
388390 "max_price" : None ,
389391 "retry" : None ,
390- "spot_policy" : "spot " ,
392+ "spot_policy" : "auto " ,
391393 "idle_duration" : None ,
392394 "utilization_policy" : None ,
393395 "startup_order" : None ,
@@ -412,7 +414,7 @@ def get_dev_env_run_dict(
412414 "max_price" : None ,
413415 "name" : "string" ,
414416 "retry" : None ,
415- "spot_policy" : "spot " ,
417+ "spot_policy" : "auto " ,
416418 "idle_duration" : None ,
417419 "utilization_policy" : None ,
418420 "startup_order" : None ,
@@ -458,7 +460,7 @@ def get_dev_env_run_dict(
458460 "shm_size" : None ,
459461 },
460462 "max_price" : None ,
461- "spot" : True ,
463+ "spot" : None ,
462464 "reservation" : None ,
463465 "multinode" : False ,
464466 },
@@ -967,12 +969,15 @@ async def test_returns_run_plan_privileged_false(
967969 await add_project_member (
968970 session = session , project = project , user = user , project_role = ProjectRole .USER
969971 )
972+ fleet_spec = get_fleet_spec ()
973+ fleet_spec .configuration .nodes = FleetNodesSpec (min = 0 , target = 0 , max = None )
974+ await create_fleet (session = session , project = project , spec = fleet_spec )
970975 repo = await create_repo (session = session , project_id = project .id )
971976 offer_aws = InstanceOfferWithAvailability (
972977 backend = BackendType .AWS ,
973978 instance = InstanceType (
974979 name = "instance" ,
975- resources = Resources (cpus = 1 , memory_mib = 512 , spot = False , gpus = []),
980+ resources = Resources (cpus = 2 , memory_mib = 8192 , spot = False , gpus = []),
976981 ),
977982 region = "us" ,
978983 price = 1.0 ,
@@ -982,7 +987,7 @@ async def test_returns_run_plan_privileged_false(
982987 backend = BackendType .RUNPOD ,
983988 instance = InstanceType (
984989 name = "instance" ,
985- resources = Resources (cpus = 1 , memory_mib = 512 , spot = False , gpus = []),
990+ resources = Resources (cpus = 2 , memory_mib = 8192 , spot = False , gpus = []),
986991 ),
987992 region = "us" ,
988993 price = 2.0 ,
@@ -1030,12 +1035,15 @@ async def test_returns_run_plan_privileged_true(
10301035 await add_project_member (
10311036 session = session , project = project , user = user , project_role = ProjectRole .USER
10321037 )
1038+ fleet_spec = get_fleet_spec ()
1039+ fleet_spec .configuration .nodes = FleetNodesSpec (min = 0 , target = 0 , max = None )
1040+ await create_fleet (session = session , project = project , spec = fleet_spec )
10331041 repo = await create_repo (session = session , project_id = project .id )
10341042 offer_aws = InstanceOfferWithAvailability (
10351043 backend = BackendType .AWS ,
10361044 instance = InstanceType (
10371045 name = "instance" ,
1038- resources = Resources (cpus = 1 , memory_mib = 512 , spot = False , gpus = []),
1046+ resources = Resources (cpus = 2 , memory_mib = 8192 , spot = False , gpus = []),
10391047 ),
10401048 region = "us" ,
10411049 price = 1.0 ,
@@ -1045,7 +1053,7 @@ async def test_returns_run_plan_privileged_true(
10451053 backend = BackendType .RUNPOD ,
10461054 instance = InstanceType (
10471055 name = "instance" ,
1048- resources = Resources (cpus = 1 , memory_mib = 512 , spot = False , gpus = []),
1056+ resources = Resources (cpus = 2 , memory_mib = 8192 , spot = False , gpus = []),
10491057 ),
10501058 region = "us" ,
10511059 price = 2.0 ,
@@ -1090,12 +1098,15 @@ async def test_returns_run_plan_docker_true(
10901098 await add_project_member (
10911099 session = session , project = project , user = user , project_role = ProjectRole .USER
10921100 )
1101+ fleet_spec = get_fleet_spec ()
1102+ fleet_spec .configuration .nodes = FleetNodesSpec (min = 0 , target = 0 , max = None )
1103+ await create_fleet (session = session , project = project , spec = fleet_spec )
10931104 repo = await create_repo (session = session , project_id = project .id )
10941105 offer_aws = InstanceOfferWithAvailability (
10951106 backend = BackendType .AWS ,
10961107 instance = InstanceType (
10971108 name = "instance" ,
1098- resources = Resources (cpus = 1 , memory_mib = 512 , spot = False , gpus = []),
1109+ resources = Resources (cpus = 2 , memory_mib = 8192 , spot = False , gpus = []),
10991110 ),
11001111 region = "us" ,
11011112 price = 1.0 ,
@@ -1105,7 +1116,7 @@ async def test_returns_run_plan_docker_true(
11051116 backend = BackendType .RUNPOD ,
11061117 instance = InstanceType (
11071118 name = "instance" ,
1108- resources = Resources (cpus = 1 , memory_mib = 512 , spot = False , gpus = []),
1119+ resources = Resources (cpus = 2 , memory_mib = 8192 , spot = False , gpus = []),
11091120 ),
11101121 region = "us" ,
11111122 price = 2.0 ,
@@ -1150,6 +1161,9 @@ async def test_returns_run_plan_instance_volumes(
11501161 await add_project_member (
11511162 session = session , project = project , user = user , project_role = ProjectRole .USER
11521163 )
1164+ fleet_spec = get_fleet_spec ()
1165+ fleet_spec .configuration .nodes = FleetNodesSpec (min = 0 , target = 0 , max = None )
1166+ await create_fleet (session = session , project = project , spec = fleet_spec )
11531167 repo = await create_repo (session = session , project_id = project .id )
11541168 offer_aws = InstanceOfferWithAvailability (
11551169 backend = BackendType .AWS ,
0 commit comments