Skip to content

Commit 4d71692

Browse files
authored
Merge branch 'develop' into develop
2 parents 36964dd + 1cd7740 commit 4d71692

File tree

13 files changed

+2294
-492
lines changed

13 files changed

+2294
-492
lines changed

CHANGELOG.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ aws-parallelcluster-cookbook CHANGELOG
22
======================================
33

44
This file is used to list changes made in each version of the AWS ParallelCluster cookbook.
5+
56
3.13.0
67
------
78

@@ -16,6 +17,10 @@ This file is used to list changes made in each version of the AWS ParallelCluste
1617
- openssh-2.11.14 (from openssh-2.11.12)
1718
- yum-7.4.20 (from yum-7.4.13)
1819
- yum-epel-5.0.8 (from yum-epel-5.0.2)
20+
- Upgrade Pmix to 5.0.6 (from 5.0.3).
21+
- Upgrade ARM PL to version 24.10 (from 23.10).
22+
- Remove generation of DSA keys for login nodes as DSA, which became unsupported in OpenSSH 9.7+.
23+
- Set instance ID and instance type information in Slurm upon compute nodes launch.
1924

2025
3.12.0
2126
------

THIRD-PARTY-LICENSES.txt

Lines changed: 2237 additions & 440 deletions
Large diffs are not rendered by default.

cookbooks/aws-parallelcluster-environment/files/imds/imds-access.sh

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,24 @@ function help() {
3232
--unset <user1,...,userN> Remove iptables rules related to IMDS for the given list of users
3333
--flush Restore default IMDS access
3434
--help Print this help message
35+
36+
Examples:
37+
38+
Allow access for USER1 and USER2, without changing other users
39+
${cmd} --allow USER1,USER2
40+
41+
Deny access for USER1 and USER2, without changing other users
42+
${cmd} --deny USER1,USER2
43+
44+
Allow access only for USER1 and USER2, removing every other user from the allowlist
45+
${cmd} --flush
46+
${cmd} --allow USER1,USER2
47+
48+
Remove rules for USER1 and USER2, without changing other users
49+
${cmd} --unset USER1,USER2
50+
51+
Remove IMDS lockdown, so that all users will be able to access IMDS
52+
${cmd} --flush
3553
EOF
3654
}
3755

cookbooks/aws-parallelcluster-environment/files/login_nodes/keys-manager.sh

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -38,9 +38,6 @@ function create_keys() {
3838
ssh-keygen -t ecdsa -f "$FOLDER_PATH/ssh_host_ecdsa_key" -q -P ""
3939
ssh-keygen -t ed25519 -f "$FOLDER_PATH/ssh_host_ed25519_key" -q -P ""
4040
ssh-keygen -t rsa -f "$FOLDER_PATH/ssh_host_rsa_key" -q -P ""
41-
if is_ubuntu; then
42-
ssh-keygen -t dsa -f "$FOLDER_PATH/ssh_host_dsa_key" -q -P ""
43-
fi
4441
}
4542

4643
function import_keys() {
@@ -50,7 +47,6 @@ function import_keys() {
5047
cp "$FOLDER_PATH/ssh_host_ed25519"* /etc/ssh/
5148
cp "$FOLDER_PATH/ssh_host_rsa"* /etc/ssh/
5249
if is_ubuntu; then
53-
cp "$FOLDER_PATH/ssh_host_dsa"* /etc/ssh/
5450
chown root:root /etc/ssh/ssh_host_*
5551
chmod 600 /etc/ssh/ssh_host_*_key
5652
else

cookbooks/aws-parallelcluster-environment/test/controls/login_nodes_keys_spec.rb

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,6 @@
1111

1212
key_types = %w(ecdsa ed25519 rsa)
1313
is_ubuntu = os_properties.ubuntu?
14-
if is_ubuntu
15-
key_types << 'dsa'
16-
end
1714

1815
control 'head_node_directory_initialized' do
1916
only_if { instance.head_node? && node['cluster']['scheduler'] != 'awsbatch' }

cookbooks/aws-parallelcluster-platform/resources/arm_pl/partial/_arm_pl_common.rb

Lines changed: 12 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -27,13 +27,9 @@
2727
# We upload ArmPL to a ParallelCluster bucket (account for it in scope of the upgrade) and download it from there
2828
# to install ArmPL on the AMI.
2929
# We download gcc directly from gnu.org repository to install correct gcc version on the AMI.
30-
property :armpl_major_minor_version, String, default: '23.10'
30+
property :armpl_major_minor_version, String, default: '24.10'
3131
property :gcc_patch_version, String, default: '0'
3232

33-
action :arm_pl_prerequisite do
34-
# Do nothing
35-
end
36-
3733
action :setup do
3834
return unless node['conditions']['arm_pl_supported']
3935

@@ -49,10 +45,8 @@
4945
build_tools 'Prerequisite: build tools'
5046
package %w(wget bzip2)
5147

52-
action_arm_pl_prerequisite
53-
5448
armpl_version = "#{new_resource.armpl_major_minor_version}"
55-
armpl_tarball_name = "arm-performance-libraries_#{armpl_version}_#{armpl_platform}_gcc-#{gcc_major_minor_version}.tar"
49+
armpl_tarball_name = "arm-performance-libraries_#{armpl_version}_#{package_manager}_gcc.tar"
5650

5751
armpl_url = %W(
5852
#{node['cluster']['artifacts_s3_url']}
@@ -62,7 +56,7 @@
6256

6357
armpl_installer = "#{new_resource.sources_dir}/#{armpl_tarball_name}"
6458

65-
armpl_name = "arm-performance-libraries_#{armpl_version}_#{armpl_platform}"
59+
armpl_name = "arm-performance-libraries_#{armpl_version}_#{package_manager}"
6660

6761
# download ArmPL tarball
6862
remote_file armpl_installer do
@@ -89,11 +83,7 @@
8983
# create armpl module directory
9084
directory "#{modulefile_dir}/armpl"
9185

92-
armpl_license_dir = if new_resource.armpl_major_minor_version == "21.0"
93-
"/opt/arm/armpl/#{armpl_version}/arm-performance-libraries_#{new_resource.armpl_major_minor_version}_gcc-#{gcc_major_minor_version}/license_terms"
94-
else
95-
"/opt/arm/armpl/#{armpl_version}/arm-performance-libraries_#{armpl_version}_gcc-#{gcc_major_minor_version}/license_terms"
96-
end
86+
armpl_license_dir = "/opt/arm/armpl/#{armpl_version}/arm-performance-libraries_#{armpl_version}_gcc/license_terms"
9787

9888
# arm performance library modulefile configuration
9989
template "#{modulefile_dir}/armpl/#{armpl_version}" do
@@ -104,7 +94,6 @@
10494
mode '0755'
10595
variables(
10696
armpl_version: armpl_version,
107-
armpl_major_minor_version: new_resource.armpl_major_minor_version,
10897
armpl_license_dir: armpl_license_dir,
10998
gcc_major_minor_version: gcc_major_minor_version
11099
)
@@ -167,7 +156,6 @@
167156
# save ArmPL and gcc versions on the node environment so that they will be available
168157
# to dependencies (for instance, test code)
169158
# Complete versions are intentionally redundant.
170-
node.default['cluster']['armpl']['major_minor_version'] = new_resource.armpl_major_minor_version
171159
node.default['cluster']['armpl']['version'] = armpl_version
172160
node.default['cluster']['armpl']['gcc']['major_minor_version'] = gcc_major_minor_version
173161
node.default['cluster']['armpl']['gcc']['patch_version'] = new_resource.gcc_patch_version
@@ -180,4 +168,12 @@
180168
def modulefile_dir
181169
'/usr/share/Modules/modulefiles'
182170
end
171+
172+
def package_manager
173+
if platform_family?('debian')
174+
'deb'
175+
else
176+
'rpm'
177+
end
178+
end
183179
end

cookbooks/aws-parallelcluster-platform/spec/unit/resources/arm_pl_spec.rb

Lines changed: 5 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ def self.setup(chef_run)
1616
cached(:aws_region) { 'test_region' }
1717
cached(:aws_domain) { 'test_domain' }
1818
cached(:armpl_major_minor_version) do
19-
'23.10'
19+
'24.10'
2020
end
2121

2222
cached(:armpl_platform) do
@@ -43,11 +43,12 @@ def self.setup(chef_run)
4343
cached(:gcc_patch_version) { '0' }
4444
cached(:sources_dir) { 'sources_test_dir' }
4545
cached(:modulefile_dir) { platform == 'ubuntu' ? '/usr/share/modules/modulefiles' : '/usr/share/Modules/modulefiles' }
46+
cached(:package_manager) { platform == 'ubuntu' ? 'deb' : 'rpm' }
4647
cached(:armpl_version) { "#{armpl_major_minor_version}" }
47-
cached(:armpl_tarball_name) { "arm-performance-libraries_#{armpl_version}_#{armpl_platform}_gcc-#{gcc_major_minor_version}.tar" }
48+
cached(:armpl_tarball_name) { "arm-performance-libraries_#{armpl_version}_#{package_manager}_gcc.tar" }
4849
cached(:armpl_url) { "https://bucket.s3.amazonaws.com/archives/armpl/#{armpl_platform}/#{armpl_tarball_name}" }
4950
cached(:armpl_installer) { "#{sources_dir}/#{armpl_tarball_name}" }
50-
cached(:armpl_name) { "arm-performance-libraries_#{armpl_version}_#{armpl_platform}" }
51+
cached(:armpl_name) { "arm-performance-libraries_#{armpl_version}_#{package_manager}" }
5152
cached(:gcc_version) { "#{gcc_major_minor_version}.#{gcc_patch_version}" }
5253
cached(:gcc_url) { "https://bucket.s3.amazonaws.com/archives/dependencies/gcc/gcc-#{gcc_version}.tar.gz" }
5354
cached(:gcc_tarball) { "#{sources_dir}/gcc-#{gcc_version}.tar.gz" }
@@ -128,19 +129,14 @@ def self.setup(chef_run)
128129
end
129130

130131
it 'creates arm performance library modulefile configuration' do
131-
armpl_license_dir = if armpl_major_minor_version == "21.0"
132-
"/opt/arm/armpl/#{armpl_version}/arm-performance-libraries_#{armpl_major_minor_version}_gcc-#{gcc_major_minor_version}/license_terms"
133-
else
134-
"/opt/arm/armpl/#{armpl_version}/arm-performance-libraries_#{armpl_version}_gcc-#{gcc_major_minor_version}/license_terms"
135-
end
132+
armpl_license_dir = "/opt/arm/armpl/#{armpl_version}/arm-performance-libraries_#{armpl_version}_gcc/license_terms"
136133
is_expected.to create_template("#{modulefile_dir}/armpl/#{armpl_version}").with(
137134
source: 'arm_pl/armpl_modulefile.erb',
138135
user: 'root',
139136
group: 'root',
140137
mode: '0755',
141138
variables: {
142139
armpl_version: armpl_version,
143-
armpl_major_minor_version: armpl_major_minor_version,
144140
armpl_license_dir: armpl_license_dir,
145141
gcc_major_minor_version: gcc_major_minor_version,
146142
}
@@ -179,7 +175,6 @@ def self.setup(chef_run)
179175
end
180176

181177
it 'sets node attributes' do
182-
expect(node['cluster']['armpl']['major_minor_version']).to eq(armpl_major_minor_version)
183178
expect(node['cluster']['armpl']['version']).to eq(armpl_version)
184179
expect(node['cluster']['armpl']['gcc']['major_minor_version']).to eq(gcc_major_minor_version)
185180
expect(node['cluster']['armpl']['gcc']['patch_version']).to eq(gcc_patch_version)

cookbooks/aws-parallelcluster-platform/templates/arm_pl/armpl_modulefile.erb

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
set category arm
55
set name armpl
66
set version <%= @armpl_version %>
7-
set major_minor_version <%= @armpl_major_minor_version %>
7+
set major_minor_version <%= @armpl_version %>
88
set gcc_version <%= @gcc_major_minor_version %>
99
set root /opt/$category/$name/$version
1010

@@ -40,7 +40,7 @@ puts stderr "At compile time add '-I<armpl_include>' and at link time"
4040
}
4141

4242
# Load the pre-installed armpl module
43-
module load $root/modulefiles/armpl/${full_version}_gcc-${gcc_version}
43+
module load $root/modulefiles/armpl/${full_version}_gcc
4444

4545
# EULA
4646
if [ module-info mode load ] {

cookbooks/aws-parallelcluster-platform/test/controls/arm_pl_spec.rb

Lines changed: 5 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -13,21 +13,15 @@
1313
title "Check ARM Performance libraries installation"
1414
only_if { os_properties.arm? && !os_properties.on_docker? }
1515

16-
armpl_major_minor_version = node['cluster']['armpl']['major_minor_version']
1716
armpl_version = node['cluster']['armpl']['version']
1817
gcc_major_minor_version = node['cluster']['armpl']['gcc']['major_minor_version']
1918

2019
armpl_module_general_name = "armpl/#{armpl_version}"
21-
armpl_module_name = "armpl/#{armpl_version}.0_gcc-#{gcc_major_minor_version}"
20+
armpl_module_name = "armpl/#{armpl_version}.0_gcc"
2221
gcc_module_name = "armpl/gcc-#{gcc_major_minor_version}"
2322

24-
if os_properties.ubuntu2204?
25-
armpl_script_dir = "/opt/arm/#{armpl_module_general_name}/arm-performance-libraries_#{armpl_version}_gcc-#{gcc_major_minor_version}"
26-
armpl_install_dir = "/opt/arm/#{armpl_module_general_name}/armpl_#{armpl_version}_gcc-#{gcc_major_minor_version}"
27-
else
28-
armpl_script_dir = "/opt/arm/#{armpl_module_general_name}/arm-performance-libraries_#{armpl_major_minor_version}_gcc-#{gcc_major_minor_version}"
29-
armpl_install_dir = "/opt/arm/#{armpl_module_general_name}/armpl_#{armpl_major_minor_version}_gcc-#{gcc_major_minor_version}"
30-
end
23+
armpl_script_dir = "/opt/arm/#{armpl_module_general_name}/arm-performance-libraries_#{armpl_version}_gcc"
24+
armpl_install_dir = "/opt/arm/#{armpl_module_general_name}/armpl_#{armpl_version}_gcc"
3125

3226
setup = "unset MODULEPATH && source /etc/profile.d/modules.sh"
3327

@@ -50,14 +44,14 @@
5044
scl_centos7 = "scl enable devtoolset-8" if os_properties.centos?
5145

5246
describe bash("#{setup} && module load #{armpl_module_general_name} && "\
53-
"cd #{armpl_install_dir}/examples && "\
47+
"cd #{armpl_install_dir}/examples_lp64 && "\
5448
"make clean && #{scl_centos7} make") do
5549
its('exit_status') { should eq(0) }
5650
its('stdout') { should match /testing: no example difference files were generated/i }
5751
its('stdout') { should match /test passed ok/i }
5852
end
5953

60-
describe bash("sudo bash -c 'unset MODULEPATH && source /etc/profile.d/modules.sh && module load armpl && cd #{armpl_install_dir}/examples && \
54+
describe bash("sudo bash -c 'unset MODULEPATH && source /etc/profile.d/modules.sh && module load armpl && cd #{armpl_install_dir}/examples_lp64 && \
6155
gcc -c -I#{armpl_install_dir}/include #{test_software}.c -o #{test_software}.o && \
6256
gcc #{test_software}.o -L#{armpl_install_dir}/lib -o #{test_software}.exe -larmpl_lp64 -lm && \
6357
./#{test_software}.exe'") do

cookbooks/aws-parallelcluster-slurm/attributes/slurm_attributes.rb

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,8 @@
1313
default['cluster']['enable_nss_slurm'] = node['cluster']['directory_service']['enabled']
1414

1515
# PMIX Version and Checksum
16-
default['cluster']['pmix']['version'] = '5.0.3'
17-
default['cluster']['pmix']['sha256'] = 'd9b0b81ba45f58f44573796eb05858061ed7f47ea6b29af8058090023e35dfa9'
16+
default['cluster']['pmix']['version'] = '5.0.6'
17+
default['cluster']['pmix']['sha256'] = '5a5e0cd36067144e2171d59164d59ea478a2e540ccf4eee4530f55fc6e8cf78b'
1818

1919
# Slurmdbd
2020
default['cluster']['slurmdbd_service_enabled'] = "true"

0 commit comments

Comments
 (0)