Skip to content

Commit 32aa3c3

Browse files
authored
Add support for ParallelCluster 3.11.0 (#260)
* Add ParallelCluster 3.11.0 support Resolves #258 * Add support for APC 3.11.0 Disable spack pyxis plugin so that external login nodes work. The spack plugin has to be built on each login node OS and arch. Related to #259 Resolves #258
1 parent 4a3c78c commit 32aa3c3

File tree

4 files changed

+35
-2
lines changed

4 files changed

+35
-2
lines changed

source/cdk/config_schema.py

+17
Original file line numberDiff line numberDiff line change
@@ -87,6 +87,9 @@
8787
# * Upgrade Python to 3.9.19 (from 3.9.17).
8888
# 3.10.1:
8989
# * Build fix for China regions
90+
# 3.11.0:
91+
# * Add support for ap-southeast-3
92+
# * login node enhancements
9093
MIN_PARALLEL_CLUSTER_VERSION = parse_version('3.6.0')
9194
# Update source/resources/default_config.yml with latest version when this is updated.
9295
PARALLEL_CLUSTER_VERSIONS = [
@@ -102,7 +105,16 @@
102105
'3.9.3',
103106
'3.10.0',
104107
'3.10.1',
108+
'3.11.0',
105109
]
110+
PARALLEL_CLUSTER_ENROOT_VERSIONS = {
111+
# This can be found on the head node by running 'yum info enroot'
112+
'3.11.0': '3.4.1', # confirmed
113+
}
114+
PARALLEL_CLUSTER_PYXIS_VERSIONS = {
115+
# This can be found on the head node at /opt/parallelcluster/sources
116+
'3.11.0': '0.20.0', # confirmed
117+
}
106118
PARALLEL_CLUSTER_MUNGE_VERSIONS = {
107119
# This can be found on the head node at /opt/parallelcluster/sources
108120
# This can be found on the head node at /etc/chef/local-mode-cache/cache/
@@ -118,6 +130,7 @@
118130
'3.9.3': '0.5.15', # confirmed
119131
'3.10.0': '0.5.16', # confirmed
120132
'3.10.1': '0.5.16', # confirmed
133+
'3.11.0': '0.5.16', # confirmed
121134
}
122135
PARALLEL_CLUSTER_PYTHON_VERSIONS = {
123136
# This can be found on the head node at /opt/parallelcluster/pyenv/versions
@@ -133,6 +146,7 @@
133146
'3.9.3': '3.9.17', # confirmed
134147
'3.10.0': '3.9.19', # confirmed
135148
'3.10.1': '3.9.19', # confirmed
149+
'3.11.0': '3.9.20', # confirmed
136150
}
137151
PARALLEL_CLUSTER_SLURM_VERSIONS = {
138152
# This can be found on the head node at /etc/chef/local-mode-cache/cache/
@@ -148,6 +162,7 @@
148162
'3.9.3': '23.11.7', # confirmed
149163
'3.10.0': '23.11.7', # confirmed
150164
'3.10.1': '23.11.7', # confirmed
165+
'3.11.0': '23.11.10', # confirmed
151166
}
152167
PARALLEL_CLUSTER_PC_SLURM_VERSIONS = {
153168
# This can be found on the head node at /etc/chef/local-mode-cache/cache/
@@ -163,6 +178,7 @@
163178
'3.9.3': '23-11-7-1', # confirmed
164179
'3.10.0': '23-11-7-1', # confirmed
165180
'3.10.1': '23-11-7-1', # confirmed
181+
'3.11.0': '23-11-10-1', # confirmed
166182
}
167183
SLURM_REST_API_VERSIONS = {
168184
'23-02-2-1': '0.0.39',
@@ -173,6 +189,7 @@
173189
'23-02-7-1': '0.0.39',
174190
'23-11-4-1': '0.0.39',
175191
'23-11-7-1': '0.0.39',
192+
'23-11-10-1': '0.0.39',
176193
}
177194

178195
def get_parallel_cluster_version(config):

source/resources/lambdas/CreateParallelCluster/CreateParallelCluster.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -150,8 +150,8 @@ def lambda_handler(event, context):
150150
logger.info("Create call succeeded.")
151151
logger.info(f"response={response}")
152152
except Exception as e:
153-
logger.exception("ParallelCluster create exception. Ignoring exception so config stack deployment doesn't fail,")
154-
message = f"ParallelCluster create exception:\n\n{e}"
153+
logger.exception(f"ParallelCluster create exception. Ignoring exception so config stack deployment doesn't fail\n\nException:\n{e}\n\nException dict:\n{e.__dict__}")
154+
message = f"ParallelCluster create exception:\n\nException:\n{e}\n\nException dict:\n{e.__dict__}"
155155
sns_client.publish(
156156
TopicArn = environ['ErrorSnsTopicArn'],
157157
Subject = f"{cluster_name} CreateParallelCluster create failed",
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
---
2+
# APC 3.11.0 added the pyxis Slurm Spank plugin
3+
# This needs to also be built on login nodes.
4+
# Currently, I am not doing that so until then, disable the Spank plugin by
5+
# renaming plugstack.conf
6+
7+
- name: Rename plugstack.conf to plugstack.conf.back
8+
shell:
9+
cmd: |
10+
set -ex
11+
12+
plugstack_conf=/opt/slurm/etc/plugstack.conf
13+
if [[ -e $plugstack_conf ]]; then
14+
mv $plugstack_conf ${plugstack_conf}.back
15+
fi

source/resources/playbooks/roles/ParallelClusterHeadNode/tasks/main.yml

+1
Original file line numberDiff line numberDiff line change
@@ -7,3 +7,4 @@
77
- { include_tasks: config-slurmrestd.yml, tags: slurmrestd }
88
- { include_tasks: config-licenses.yml, tags: licenses }
99
- { include_tasks: config-slurmdb-accounts.yml, tags: accounts }
10+
- { include_tasks: config-pyxis.yml }

0 commit comments

Comments
 (0)