@@ -903,9 +903,10 @@ def update_config_for_exostellar(self):
903903 if self .slurm_compute_node_sg_id :
904904 if self .slurm_compute_node_sg_id not in self .config ['slurm' ]['Xio' ]['WorkerSecurityGroupIds' ]:
905905 self .config ['slurm' ]['Xio' ]['WorkerSecurityGroupIds' ].append (self .slurm_compute_node_sg_id )
906- if self .res_dcv_security_group_id :
907- if self .res_dcv_security_group_id not in self .config ['slurm' ]['Xio' ]['WorkerSecurityGroupIds' ]:
908- self .config ['slurm' ]['Xio' ]['WorkerSecurityGroupIds' ].append (self .res_dcv_security_group_id )
906+ if 'RESStackName' in self .config :
907+ if self .res_dcv_security_group_id :
908+ if self .res_dcv_security_group_id not in self .config ['slurm' ]['Xio' ]['WorkerSecurityGroupIds' ]:
909+ self .config ['slurm' ]['Xio' ]['WorkerSecurityGroupIds' ].append (self .res_dcv_security_group_id )
909910
910911 # Get values from stack outputs
911912 ems_ip_address = None
@@ -1376,8 +1377,9 @@ def check_regions_config(self):
13761377 self .instance_types = sorted (self .instance_types )
13771378
13781379 # Filter the instance types by architecture due to PC limitation to 1 architecture
1379- # Also require at least 2 GB of memory.
1380+ # Also require at least 4 GB of memory.
13801381 # Also filter by the CPU vendor from the config
1382+ MIN_COMPUTE_NODE_GB = 4
13811383 cluster_architecture = self .config ['slurm' ]['ParallelClusterConfig' ]['Architecture' ]
13821384 logger .info (f"ParallelCluster Architecture: { cluster_architecture } " )
13831385 filtered_instance_types = []
@@ -1387,7 +1389,7 @@ def check_regions_config(self):
13871389 logger .warning (f"Excluding { instance_type } because architecture ({ instance_architecture } ) != { cluster_architecture } " )
13881390 continue
13891391 mem_gb = int (self .plugin .get_MemoryInMiB (self .cluster_region , instance_type ) / 1024 )
1390- if mem_gb < 2 :
1392+ if mem_gb < MIN_COMPUTE_NODE_GB :
13911393 logger .warning (f"Excluding { instance_type } because has less than 2 GiB of memory." )
13921394 continue
13931395 cpu_vendor = self .plugin .get_cpu_vendor (self .cluster_region , instance_type )
@@ -1425,9 +1427,7 @@ def create_parallel_cluster_lambdas(self):
14251427 aws_lambda .Architecture .X86_64 ,
14261428 ],
14271429 compatible_runtimes = [
1428- aws_lambda .Runtime .PYTHON_3_9 ,
1429- # aws_lambda.Runtime.PYTHON_3_10, # Doesn't work: No module named 'rpds.rpds'
1430- # aws_lambda.Runtime.PYTHON_3_11, # Doesn't work: No module named 'rpds.rpds'
1430+ aws_lambda .Runtime .PYTHON_3_12 ,
14311431 ],
14321432 )
14331433
@@ -1437,7 +1437,7 @@ def create_parallel_cluster_lambdas(self):
14371437 function_name = f"{ self .stack_name } -CreateBuildFiles" ,
14381438 description = "Create ParallelCluster build configuration files" ,
14391439 memory_size = 2048 ,
1440- runtime = aws_lambda .Runtime .PYTHON_3_9 ,
1440+ runtime = aws_lambda .Runtime .PYTHON_3_12 ,
14411441 architecture = aws_lambda .Architecture .X86_64 ,
14421442 timeout = Duration .minutes (2 ),
14431443 log_retention = logs .RetentionDays .INFINITE ,
@@ -1499,7 +1499,7 @@ def create_parallel_cluster_lambdas(self):
14991499 function_name = f"{ self .stack_name } -CreateParallelClusterConfig" ,
15001500 description = "Create ParallelCluster config" ,
15011501 memory_size = 2048 ,
1502- runtime = aws_lambda .Runtime .PYTHON_3_9 ,
1502+ runtime = aws_lambda .Runtime .PYTHON_3_12 ,
15031503 architecture = aws_lambda .Architecture .X86_64 ,
15041504 timeout = Duration .minutes (15 ),
15051505 log_retention = logs .RetentionDays .INFINITE ,
@@ -1547,7 +1547,7 @@ def create_parallel_cluster_lambdas(self):
15471547 function_name = f"{ self .stack_name } -CreateParallelCluster" ,
15481548 description = "Create ParallelCluster" ,
15491549 memory_size = 2048 ,
1550- runtime = aws_lambda .Runtime .PYTHON_3_9 ,
1550+ runtime = aws_lambda .Runtime .PYTHON_3_12 ,
15511551 architecture = aws_lambda .Architecture .X86_64 ,
15521552 timeout = Duration .minutes (15 ),
15531553 log_retention = logs .RetentionDays .INFINITE ,
@@ -1846,7 +1846,7 @@ def create_parallel_cluster_lambdas(self):
18461846 function_name = f"{ self .stack_name } -CreateHeadNodeARecord" ,
18471847 description = "Create head node A record" ,
18481848 memory_size = 2048 ,
1849- runtime = aws_lambda .Runtime .PYTHON_3_9 ,
1849+ runtime = aws_lambda .Runtime .PYTHON_3_12 ,
18501850 architecture = aws_lambda .Architecture .X86_64 ,
18511851 timeout = Duration .minutes (15 ),
18521852 log_retention = logs .RetentionDays .INFINITE ,
@@ -1893,7 +1893,7 @@ def create_parallel_cluster_lambdas(self):
18931893 function_name = f"{ self .stack_name } -UpdateHeadNode" ,
18941894 description = "Update head node" ,
18951895 memory_size = 2048 ,
1896- runtime = aws_lambda .Runtime .PYTHON_3_9 ,
1896+ runtime = aws_lambda .Runtime .PYTHON_3_12 ,
18971897 architecture = aws_lambda .Architecture .X86_64 ,
18981898 timeout = Duration .minutes (15 ),
18991899 log_retention = logs .RetentionDays .INFINITE ,
@@ -1935,7 +1935,7 @@ def create_parallel_cluster_lambdas(self):
19351935 function_name = f"{ self .stack_name } -ConfigUsersGroupsJson" ,
19361936 description = "Configure users and groups json file" ,
19371937 memory_size = 2048 ,
1938- runtime = aws_lambda .Runtime .PYTHON_3_9 ,
1938+ runtime = aws_lambda .Runtime .PYTHON_3_12 ,
19391939 architecture = aws_lambda .Architecture .X86_64 ,
19401940 timeout = Duration .minutes (15 ),
19411941 log_retention = logs .RetentionDays .INFINITE ,
@@ -1983,7 +1983,7 @@ def create_parallel_cluster_lambdas(self):
19831983 function_name = f"{ self .stack_name } -ConfigExternalLoginNodes" ,
19841984 description = "Configure external login nodes" ,
19851985 memory_size = 2048 ,
1986- runtime = aws_lambda .Runtime .PYTHON_3_9 ,
1986+ runtime = aws_lambda .Runtime .PYTHON_3_12 ,
19871987 architecture = aws_lambda .Architecture .X86_64 ,
19881988 timeout = Duration .minutes (15 ),
19891989 log_retention = logs .RetentionDays .INFINITE ,
@@ -2030,7 +2030,7 @@ def create_parallel_cluster_lambdas(self):
20302030 function_name = f"{ self .stack_name } -DeconfigUsersGroupsJson" ,
20312031 description = "Deconfigure RES users and groups json file" ,
20322032 memory_size = 2048 ,
2033- runtime = aws_lambda .Runtime .PYTHON_3_9 ,
2033+ runtime = aws_lambda .Runtime .PYTHON_3_12 ,
20342034 architecture = aws_lambda .Architecture .X86_64 ,
20352035 timeout = Duration .minutes (15 ),
20362036 log_retention = logs .RetentionDays .INFINITE ,
@@ -2072,7 +2072,7 @@ def create_parallel_cluster_lambdas(self):
20722072 function_name = f"{ self .stack_name } -DeconfigExternalLoginNodes" ,
20732073 description = "Deconfigure external login nodes" ,
20742074 memory_size = 2048 ,
2075- runtime = aws_lambda .Runtime .PYTHON_3_9 ,
2075+ runtime = aws_lambda .Runtime .PYTHON_3_12 ,
20762076 architecture = aws_lambda .Architecture .X86_64 ,
20772077 timeout = Duration .minutes (15 ),
20782078 log_retention = logs .RetentionDays .INFINITE ,
@@ -2114,7 +2114,7 @@ def create_callSlurmRestApiLambda(self):
21142114 function_name = f"{ self .stack_name } -CallSlurmRestApiLambda" ,
21152115 description = "Example showing how to call Slurm REST API" ,
21162116 memory_size = 128 ,
2117- runtime = aws_lambda .Runtime .PYTHON_3_9 ,
2117+ runtime = aws_lambda .Runtime .PYTHON_3_12 ,
21182118 architecture = aws_lambda .Architecture .ARM_64 ,
21192119 timeout = Duration .minutes (1 ),
21202120 log_retention = logs .RetentionDays .INFINITE ,
0 commit comments