Skip to content

Commit 52bd654

Browse files
author
Himani Deshpande
committed
[Dependencies] Upgrade ARMPL to 24.10
* Renaming armpl files and location as per the latest naming convention used. * Update armpl Kitchen test * Removing duplicate use of armpl_version and armpl_major_minor_version * Remove unwanted arm_pl_prerequisite action which does nothing * Remove usage of if condition for ARMPL 21.0 which is no longer used * Changing Path to examples directory as it gives error `No such file or directory` error and documentation mentions its a symlink to the directory examples_lp64
1 parent 7a5bae3 commit 52bd654

File tree

5 files changed

+25
-39
lines changed

5 files changed

+25
-39
lines changed

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ This file is used to list changes made in each version of the AWS ParallelCluste
1717
- yum-7.4.20 (from yum-7.4.13)
1818
- yum-epel-5.0.8 (from yum-epel-5.0.2)
1919
- Upgrade Pmix to 5.0.6 (from 5.0.3).
20+
- Upgrade ARM PL to version 24.10 (from 23.10).
2021

2122
3.12.0
2223
------

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

0 commit comments

Comments
 (0)