Skip to content

Commit 1e5b655

Browse files
hanwen-clusterhanwen-pcluste
authored andcommitted
Upgrade ARM PL to 23.10
Different GCC versions are used for different operating systems. For existing operating systems, we keep the version unchanged (9.3 for alinux2, centos7, ubuntu20, rhel8, rocky8; 11.3 for ubuntu22). For newly added OSes (RHEL9 and Rocky9), we use 11.3 because 9.3 is not available. Signed-off-by: Hanwen <[email protected]>
1 parent b848bbe commit 1e5b655

File tree

8 files changed

+52
-36
lines changed

8 files changed

+52
-36
lines changed

cookbooks/aws-parallelcluster-platform/resources/arm_pl/arm_pl_amazon2.rb

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,10 @@
1818

1919
action_class do
2020
def armpl_platform
21-
'RHEL-8'
21+
'AmazonLinux-2'
22+
end
23+
24+
def gcc_major_minor_version
25+
'9.3'
2226
end
2327
end

cookbooks/aws-parallelcluster-platform/resources/arm_pl/arm_pl_centos7.rb

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,4 +30,8 @@
3030
def armpl_platform
3131
'RHEL-7'
3232
end
33+
34+
def gcc_major_minor_version
35+
'9.3'
36+
end
3337
end

cookbooks/aws-parallelcluster-platform/resources/arm_pl/arm_pl_redhat8.rb

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,15 @@
2020

2121
action_class do
2222
def armpl_platform
23-
'RHEL-8'
23+
"RHEL-#{node['platform_version'].to_i}"
24+
end
25+
26+
def gcc_major_minor_version
27+
case node['platform_version'].to_i
28+
when 8
29+
'9.3'
30+
else
31+
'11.3'
32+
end
2433
end
2534
end

cookbooks/aws-parallelcluster-platform/resources/arm_pl/arm_pl_rocky8.rb

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,15 @@
2020

2121
action_class do
2222
def armpl_platform
23-
'RHEL-8'
23+
"RHEL-#{node['platform_version'].to_i}"
24+
end
25+
26+
def gcc_major_minor_version
27+
case node['platform_version'].to_i
28+
when 8
29+
'9.3'
30+
else
31+
'11.3'
32+
end
2433
end
2534
end

cookbooks/aws-parallelcluster-platform/resources/arm_pl/arm_pl_ubuntu20.rb

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,4 +26,8 @@ def armpl_platform
2626
def modulefile_dir
2727
"/usr/share/modules/modulefiles"
2828
end
29+
30+
def gcc_major_minor_version
31+
'9.3'
32+
end
2933
end

cookbooks/aws-parallelcluster-platform/resources/arm_pl/arm_pl_ubuntu22.rb

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -18,11 +18,6 @@
1818

1919
use 'partial/_arm_pl_common.rb'
2020

21-
property :armpl_major_minor_version, String, default: '23.04'
22-
property :armpl_patch_version, String, default: '1'
23-
property :gcc_major_minor_version, String, default: '11.3'
24-
property :gcc_patch_version, String, default: '0'
25-
2621
action_class do
2722
def armpl_platform
2823
"Ubuntu-#{node['platform_version']}"
@@ -31,4 +26,8 @@ def armpl_platform
3126
def modulefile_dir
3227
"/usr/share/modules/modulefiles"
3328
end
29+
30+
def gcc_major_minor_version
31+
'11.3'
32+
end
3433
end

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

Lines changed: 9 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -27,9 +27,7 @@
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: '21.0'
31-
property :armpl_patch_version, String, default: '0'
32-
property :gcc_major_minor_version, String, default: '9.3'
30+
property :armpl_major_minor_version, String, default: '23.10'
3331
property :gcc_patch_version, String, default: '0'
3432

3533
action :arm_pl_prerequisite do
@@ -53,8 +51,8 @@
5351

5452
action_arm_pl_prerequisite
5553

56-
armpl_version = "#{new_resource.armpl_major_minor_version}.#{new_resource.armpl_patch_version}"
57-
armpl_tarball_name = "arm-performance-libraries_#{armpl_version}_#{armpl_platform}_gcc-#{new_resource.gcc_major_minor_version}.tar"
54+
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"
5856

5957
armpl_url = %W(
6058
https://#{new_resource.region}-aws-parallelcluster.s3.#{new_resource.region}.#{new_resource.aws_domain}
@@ -92,9 +90,9 @@
9290
directory "#{modulefile_dir}/armpl"
9391

9492
armpl_license_dir = if new_resource.armpl_major_minor_version == "21.0"
95-
"/opt/arm/armpl/#{armpl_version}/arm-performance-libraries_#{new_resource.armpl_major_minor_version}_gcc-#{new_resource.gcc_major_minor_version}/license_terms"
93+
"/opt/arm/armpl/#{armpl_version}/arm-performance-libraries_#{new_resource.armpl_major_minor_version}_gcc-#{gcc_major_minor_version}/license_terms"
9694
else
97-
"/opt/arm/armpl/#{armpl_version}/arm-performance-libraries_#{armpl_version}_gcc-#{new_resource.gcc_major_minor_version}/license_terms"
95+
"/opt/arm/armpl/#{armpl_version}/arm-performance-libraries_#{armpl_version}_gcc-#{gcc_major_minor_version}/license_terms"
9896
end
9997

10098
# arm performance library modulefile configuration
@@ -108,11 +106,11 @@
108106
armpl_version: armpl_version,
109107
armpl_major_minor_version: new_resource.armpl_major_minor_version,
110108
armpl_license_dir: armpl_license_dir,
111-
gcc_major_minor_version: new_resource.gcc_major_minor_version
109+
gcc_major_minor_version: gcc_major_minor_version
112110
)
113111
end
114112

115-
gcc_version = "#{new_resource.gcc_major_minor_version}.#{new_resource.gcc_patch_version}"
113+
gcc_version = "#{gcc_major_minor_version}.#{new_resource.gcc_patch_version}"
116114
gcc_url = "https://ftp.gnu.org/gnu/gcc/gcc-#{gcc_version}/gcc-#{gcc_version}.tar.gz"
117115
gcc_tarball = "#{new_resource.sources_dir}/gcc-#{gcc_version}.tar.gz"
118116

@@ -152,7 +150,7 @@
152150
creates '/opt/arm/armpl/gcc'
153151
end
154152

155-
gcc_modulefile = "/opt/arm/armpl/#{armpl_version}/modulefiles/armpl/gcc-#{new_resource.gcc_major_minor_version}"
153+
gcc_modulefile = "/opt/arm/armpl/#{armpl_version}/modulefiles/armpl/gcc-#{gcc_major_minor_version}"
156154

157155
# gcc modulefile configuration
158156
template gcc_modulefile do
@@ -170,9 +168,8 @@
170168
# to dependencies (for instance, test code)
171169
# Complete versions are intentionally redundant.
172170
node.default['cluster']['armpl']['major_minor_version'] = new_resource.armpl_major_minor_version
173-
node.default['cluster']['armpl']['patch_version'] = new_resource.armpl_patch_version
174171
node.default['cluster']['armpl']['version'] = armpl_version
175-
node.default['cluster']['armpl']['gcc']['major_minor_version'] = new_resource.gcc_major_minor_version
172+
node.default['cluster']['armpl']['gcc']['major_minor_version'] = gcc_major_minor_version
176173
node.default['cluster']['armpl']['gcc']['patch_version'] = new_resource.gcc_patch_version
177174
node.default['cluster']['armpl']['gcc']['version'] = gcc_version
178175

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

Lines changed: 6 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -16,18 +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-
if platform == 'ubuntu' && version == '22.04'
20-
'23.04'
21-
else
22-
'21.0'
23-
end
24-
end
25-
cached(:armpl_patch_version) do
26-
if platform == 'ubuntu' && version == '22.04'
27-
'1'
28-
else
29-
'0'
30-
end
19+
'23.10'
3120
end
3221

3322
cached(:armpl_platform) do
@@ -36,13 +25,15 @@ def self.setup(chef_run)
3625
'RHEL-7'
3726
when 'ubuntu'
3827
"Ubuntu-#{version}"
28+
when 'amazon'
29+
"AmazonLinux-2"
3930
else
40-
'RHEL-8'
31+
"RHEL-#{version}"
4132
end
4233
end
4334

4435
cached(:gcc_major_minor_version) do
45-
if platform == 'ubuntu' && version == '22.04'
36+
if platform == 'ubuntu' && version == '22.04' || version == '9'
4637
'11.3'
4738
else
4839
'9.3'
@@ -52,7 +43,7 @@ def self.setup(chef_run)
5243
cached(:gcc_patch_version) { '0' }
5344
cached(:sources_dir) { 'sources_test_dir' }
5445
cached(:modulefile_dir) { platform == 'ubuntu' ? '/usr/share/modules/modulefiles' : '/usr/share/Modules/modulefiles' }
55-
cached(:armpl_version) { "#{armpl_major_minor_version}.#{armpl_patch_version}" }
46+
cached(:armpl_version) { "#{armpl_major_minor_version}" }
5647
cached(:armpl_tarball_name) { "arm-performance-libraries_#{armpl_version}_#{armpl_platform}_gcc-#{gcc_major_minor_version}.tar" }
5748
cached(:armpl_url) { "https://#{aws_region}-aws-parallelcluster.s3.#{aws_region}.#{aws_domain}/archives/armpl/#{armpl_platform}/#{armpl_tarball_name}" }
5849
cached(:armpl_installer) { "#{sources_dir}/#{armpl_tarball_name}" }
@@ -187,7 +178,6 @@ def self.setup(chef_run)
187178

188179
it 'sets node attributes' do
189180
expect(node['cluster']['armpl']['major_minor_version']).to eq(armpl_major_minor_version)
190-
expect(node['cluster']['armpl']['patch_version']).to eq(armpl_patch_version)
191181
expect(node['cluster']['armpl']['version']).to eq(armpl_version)
192182
expect(node['cluster']['armpl']['gcc']['major_minor_version']).to eq(gcc_major_minor_version)
193183
expect(node['cluster']['armpl']['gcc']['patch_version']).to eq(gcc_patch_version)

0 commit comments

Comments
 (0)