21
21
from cfn_stacks_factory import CfnVpcStack
22
22
from conftest import inject_additional_config_settings
23
23
from conftest_networking import CIDR_FOR_CUSTOM_SUBNETS
24
- from utils import get_instance_info
24
+ from utils import get_free_tier_instance_types , get_instance_info , or_regex
25
25
26
26
PROMPTS = {
27
27
"region" : lambda region : {"prompt" : r"AWS Region ID \[.*\]: " , "response" : region },
28
28
"key_pair" : lambda key_name : {"prompt" : r"EC2 Key Pair Name \[.*\]: " , "response" : key_name },
29
29
"scheduler" : lambda scheduler : {"prompt" : r"Scheduler \[slurm\]: " , "response" : scheduler },
30
30
"os" : lambda os : {"prompt" : r"Operating System \[alinux2\]: " , "response" : os , "skip_for_batch" : True },
31
- "head_instance_type" : lambda instance : {"prompt" : r"Head node instance type \[t.\.micro\]: " , "response" : instance },
31
+ "head_instance_type" : lambda free_tier_instance_types , instance : {
32
+ "prompt" : rf"Head node instance type \[({ or_regex (free_tier_instance_types )} )\]: " ,
33
+ "response" : instance ,
34
+ },
32
35
"no_of_queues" : lambda n : {"prompt" : rf"Number of queues \[{ n } \]: " , "response" : f"{ n } " , "skip_for_batch" : True },
33
36
"queue_name" : lambda queue , name : {"prompt" : rf"Name of queue { queue } \[queue{ queue } \]: " , "response" : name },
34
37
"no_of_compute_resources" : lambda queue_name , queue , n : {
35
38
"prompt" : rf"Number of compute resources for { queue_name } \[{ queue } \]: " ,
36
39
"response" : f"{ n } " ,
37
40
"skip_for_batch" : True ,
38
41
},
39
- "compute_instance_type" : lambda resource , queue_name , instance : {
40
- "prompt" : rf"Compute instance type for compute resource { resource } in { queue_name } \[t.\.micro\]: " ,
42
+ "compute_instance_type" : lambda free_tier_instance_types , resource , queue_name , instance : {
43
+ "prompt" : rf"Compute instance type for compute resource { resource } in { queue_name } " +
44
+ rf"\[({ or_regex (free_tier_instance_types )} )\]: " ,
41
45
"response" : instance ,
42
46
"skip_for_batch" : True ,
43
47
},
@@ -161,7 +165,12 @@ def test_efa_and_placement_group(
161
165
PROMPTS ["no_of_queues" ](1 ),
162
166
PROMPTS ["queue_name" ](queue = 1 , name = "myqueue" ),
163
167
PROMPTS ["no_of_compute_resources" ](queue_name = "myqueue" , queue = 1 , n = 1 ),
164
- PROMPTS ["compute_instance_type" ](resource = 1 , queue_name = "myqueue" , instance = instance ),
168
+ PROMPTS ["compute_instance_type" ](
169
+ free_tier_instance_types = get_free_tier_instance_types (region ),
170
+ resource = 1 ,
171
+ queue_name = "myqueue" ,
172
+ instance = instance ,
173
+ ),
165
174
PROMPTS ["enable_efa" ](efa_response ),
166
175
prompt_max_size (scheduler = scheduler ),
167
176
]
@@ -237,7 +246,10 @@ def standard_first_stage_prompts(region, key_name, scheduler, os, instance):
237
246
PROMPTS ["key_pair" ](key_name ),
238
247
PROMPTS ["scheduler" ](scheduler ),
239
248
PROMPTS ["os" ](os ),
240
- PROMPTS ["head_instance_type" ](instance ),
249
+ PROMPTS ["head_instance_type" ](
250
+ free_tier_instance_types = get_free_tier_instance_types (region ),
251
+ instance = instance ,
252
+ ),
241
253
]
242
254
243
255
@@ -246,7 +258,12 @@ def standard_queue_prompts(scheduler, instance, region, size=""):
246
258
PROMPTS ["no_of_queues" ](1 ),
247
259
PROMPTS ["queue_name" ](queue = 1 , name = "myqueue" ),
248
260
PROMPTS ["no_of_compute_resources" ](queue_name = "myqueue" , queue = 1 , n = 1 ),
249
- PROMPTS ["compute_instance_type" ](resource = 1 , queue_name = "myqueue" , instance = instance ),
261
+ PROMPTS ["compute_instance_type" ](
262
+ free_tier_instance_types = get_free_tier_instance_types (region ),
263
+ resource = 1 ,
264
+ queue_name = "myqueue" ,
265
+ instance = instance ,
266
+ ),
250
267
]
251
268
252
269
is_efa_supported = False
0 commit comments