diff --git a/CHANGELOG.md b/CHANGELOG.md index 3f172094ad..46bf3925f5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,6 +10,17 @@ This file is used to list changes made in each version of the AWS ParallelCluste - Add chef attribute `cluster/in_place_update_on_fleet_enabled` to disable in-place updates on compute and login nodes and achieve better performance at scale. - Load kernel module `drm_client_lib` before installation of NVIDIA driver, if available on the kernel. +- Upgrade Slurm to version 24.11.7 (from 24.11.6). +- Upgrade Pmix to 5.0.9 (from 5.0.6). +- Upgrade libjwt to version 1.18.4 (from 1.17.0) for all OSs except Amazon Linux 2. +- Upgrade amazon-efs-utils to version 2.4.0 (from v2.3.1). +- Upgrade EFA installer to 1.44.0 (from 1.43.2). + - Efa-driver: efa-2.17.3-1 + - Efa-config: efa-config-1.18-1 + - Efa-profile: efa-profile-1.7-1 + - Libfabric-aws: libfabric-aws-2.3.1-1 + - Rdma-core: rdma-core-59.0-1 + - Open MPI: openmpi40-aws-4.1.7-2 and openmpi50-aws-5.0.8-11 3.14.0 ------ diff --git a/cookbooks/aws-parallelcluster-environment/attributes/environment.rb b/cookbooks/aws-parallelcluster-environment/attributes/environment.rb index 02041927b3..bad665800c 100644 --- a/cookbooks/aws-parallelcluster-environment/attributes/environment.rb +++ b/cookbooks/aws-parallelcluster-environment/attributes/environment.rb @@ -70,11 +70,11 @@ default['cluster']['head_node_private_ip'] = nil -default['cluster']['efa']['version'] = '1.43.2' -default['cluster']['efa']['sha256'] = 'de15c5bdbc83b952afbde876110830c604ad0796680e5157c05f7c1979a41069' +default['cluster']['efa']['version'] = '1.44.0' +default['cluster']['efa']['sha256'] = 'f129a5b44a49d593d247e55a59eb9bcb57121566e1c2e42b832a4e794fa83d8a' -default['cluster']['efs']['version'] = '2.3.1' -default['cluster']['efs']['sha256'] = 'ced12f82e76f9740476b63f30c49bd76cc00b6375e12a9f5f7ba852635c49e15' +default['cluster']['efs']['version'] = '2.4.0' +default['cluster']['efs']['sha256'] = '9b60c039c162388091d6fab6e9c6cfc5832f34b26b6d05b0a68b333147d78a25' if platform?('amazon') default['cluster']['efs']['version'] = '2.1.0' end diff --git a/cookbooks/aws-parallelcluster-environment/resources/efs/efs_redhat8.rb b/cookbooks/aws-parallelcluster-environment/resources/efs/efs_redhat8.rb index 6af950560c..783386bc5f 100644 --- a/cookbooks/aws-parallelcluster-environment/resources/efs/efs_redhat8.rb +++ b/cookbooks/aws-parallelcluster-environment/resources/efs/efs_redhat8.rb @@ -37,7 +37,7 @@ def adc_install_script_code(efs_utils_tarball, efs_utils_package, efs_utils_vers end def prerequisites - %w(rpm-build make rust cargo openssl-devel) + %w(rpm-build make rust go cargo openssl-devel cmake perl) end action :install_efs_utils do diff --git a/cookbooks/aws-parallelcluster-environment/resources/efs/partial/_debian.rb b/cookbooks/aws-parallelcluster-environment/resources/efs/partial/_debian.rb index 4af4e52ddc..5e7c727f6d 100644 --- a/cookbooks/aws-parallelcluster-environment/resources/efs/partial/_debian.rb +++ b/cookbooks/aws-parallelcluster-environment/resources/efs/partial/_debian.rb @@ -24,5 +24,5 @@ def install_script_code(efs_utils_tarball, efs_utils_package, efs_utils_version) end def prerequisites - %w(dkms pkg-config libssl-dev rustc cargo ) + %w(dkms pkg-config libssl-dev rustc cargo golang cmake perl) end diff --git a/cookbooks/aws-parallelcluster-environment/resources/efs/partial/_redhat_based.rb b/cookbooks/aws-parallelcluster-environment/resources/efs/partial/_redhat_based.rb index bc7887a5a7..1f0f58193a 100644 --- a/cookbooks/aws-parallelcluster-environment/resources/efs/partial/_redhat_based.rb +++ b/cookbooks/aws-parallelcluster-environment/resources/efs/partial/_redhat_based.rb @@ -24,5 +24,5 @@ def install_script_code(efs_utils_tarball, efs_utils_package, efs_utils_version) end def prerequisites - %w(rpm-build make rust cargo openssl-devel) + %w(rpm-build make rust go cargo openssl-devel cmake perl) end diff --git a/cookbooks/aws-parallelcluster-environment/spec/unit/resources/efa_spec.rb b/cookbooks/aws-parallelcluster-environment/spec/unit/resources/efa_spec.rb index c72466258c..26fc4020ab 100644 --- a/cookbooks/aws-parallelcluster-environment/spec/unit/resources/efa_spec.rb +++ b/cookbooks/aws-parallelcluster-environment/spec/unit/resources/efa_spec.rb @@ -2,8 +2,8 @@ # parallelcluster default source dir defined in attributes source_dir = '/opt/parallelcluster/sources' -efa_version = '1.43.2' -efa_checksum = 'de15c5bdbc83b952afbde876110830c604ad0796680e5157c05f7c1979a41069' +efa_version = '1.44.0' +efa_checksum = 'f129a5b44a49d593d247e55a59eb9bcb57121566e1c2e42b832a4e794fa83d8a' class ConvergeEfa def self.setup(chef_run, efa_version: nil, efa_checksum: nil) diff --git a/cookbooks/aws-parallelcluster-environment/spec/unit/resources/efs_spec.rb b/cookbooks/aws-parallelcluster-environment/spec/unit/resources/efs_spec.rb index 8ad07f0644..051d7c0d66 100644 --- a/cookbooks/aws-parallelcluster-environment/spec/unit/resources/efs_spec.rb +++ b/cookbooks/aws-parallelcluster-environment/spec/unit/resources/efs_spec.rb @@ -200,8 +200,8 @@ def mock_already_installed(package, expected_version, installed) end cached(:required_packages) do { - "redhat" => %w(rpm-build make rust cargo openssl-devel), - "rocky" => %w(rpm-build make rust cargo openssl-devel), + "redhat" => %w(rpm-build make rust go cargo openssl-devel cmake perl), + "rocky" => %w(rpm-build make rust go cargo openssl-devel cmake perl), } end diff --git a/cookbooks/aws-parallelcluster-environment/test/controls/efs_spec.rb b/cookbooks/aws-parallelcluster-environment/test/controls/efs_spec.rb index 7d9e812496..f54a81911f 100644 --- a/cookbooks/aws-parallelcluster-environment/test/controls/efs_spec.rb +++ b/cookbooks/aws-parallelcluster-environment/test/controls/efs_spec.rb @@ -4,9 +4,9 @@ only_if { !os_properties.redhat_on_docker? } - describe file("#{node['cluster']['sources_dir']}/efs-utils-2.3.1.tar.gz") do + describe file("#{node['cluster']['sources_dir']}/efs-utils-2.4.0.tar.gz") do it { should exist } - its('sha256sum') { should eq 'ced12f82e76f9740476b63f30c49bd76cc00b6375e12a9f5f7ba852635c49e15' } + its('sha256sum') { should eq '9b60c039c162388091d6fab6e9c6cfc5832f34b26b6d05b0a68b333147d78a25' } its('owner') { should eq 'root' } its('group') { should eq 'root' } its('mode') { should cmp '0644' } diff --git a/cookbooks/aws-parallelcluster-slurm/attributes/slurm_attributes.rb b/cookbooks/aws-parallelcluster-slurm/attributes/slurm_attributes.rb index b6f0670a5c..a7c40d8cf4 100644 --- a/cookbooks/aws-parallelcluster-slurm/attributes/slurm_attributes.rb +++ b/cookbooks/aws-parallelcluster-slurm/attributes/slurm_attributes.rb @@ -13,8 +13,8 @@ default['cluster']['enable_nss_slurm'] = node['cluster']['directory_service']['enabled'] # PMIX Version and Checksum -default['cluster']['pmix']['version'] = '5.0.6' -default['cluster']['pmix']['sha256'] = '5a5e0cd36067144e2171d59164d59ea478a2e540ccf4eee4530f55fc6e8cf78b' +default['cluster']['pmix']['version'] = '5.0.9' +default['cluster']['pmix']['sha256'] = '11b9911aadaac590e5b02749caa618837de9fb644183c1bdc04378b54bf396bb' # Slurmdbd default['cluster']['slurmdbd_service_enabled'] = "true" diff --git a/cookbooks/aws-parallelcluster-slurm/attributes/versions.rb b/cookbooks/aws-parallelcluster-slurm/attributes/versions.rb index e14f0ae6f3..b1a9360a7a 100644 --- a/cookbooks/aws-parallelcluster-slurm/attributes/versions.rb +++ b/cookbooks/aws-parallelcluster-slurm/attributes/versions.rb @@ -1,10 +1,18 @@ # Slurm -default['cluster']['slurm']['version'] = '24-11-6-1' +default['cluster']['slurm']['version'] = '24-11-7-1' default['cluster']['slurm']['commit'] = '' default['cluster']['slurm']['branch'] = '' -default['cluster']['slurm']['sha256'] = '282708483326f381eb001a14852a1a82e65e18f37b62b7a5f4936c0ed443b600' +default['cluster']['slurm']['sha256'] = 'f0912d85a9a9b417fd23ca4997c8d3dfed89b3b70b15aad4da54f2812d30d48c' default['cluster']['slurm']['base_url'] = "#{node['cluster']['artifacts_s3_url']}/dependencies/slurm" # Munge default['cluster']['munge']['munge_version'] = '0.5.16' default['cluster']['munge']['sha256'] = 'fa27205d6d29ce015b0d967df8f3421067d7058878e75d0d5ec3d91f4d32bb57' default['cluster']['munge']['base_url'] = "#{node['cluster']['artifacts_s3_url']}/dependencies/munge" +# LibJwt +default['cluster']['jwt']['version'] = '1.18.4' +default['cluster']['jwt']['sha256'] = '8496257cb39ee7dddfdfc919e7b80a997399b0319f9fdcbefd374b0e4f147159' +if platform?('amazon') && node['platform_version'] == "2" + default['cluster']['jwt']['version'] = '1.17.0' + default['cluster']['jwt']['sha256'] = '617778f9687682220abf9b7daacbe72bab7c2985479f8bee4db9648bd2440687' +end +default['cluster']['jwt']['base_url'] = "#{node['cluster']['artifacts_s3_url']}/dependencies/jwt" diff --git a/cookbooks/aws-parallelcluster-slurm/recipes/install/install_jwt.rb b/cookbooks/aws-parallelcluster-slurm/recipes/install/install_jwt.rb index 427cde1363..1d292f83c3 100644 --- a/cookbooks/aws-parallelcluster-slurm/recipes/install/install_jwt.rb +++ b/cookbooks/aws-parallelcluster-slurm/recipes/install/install_jwt.rb @@ -15,17 +15,16 @@ # OR CONDITIONS OF ANY KIND, express or implied. See the License for the specific language governing permissions and # limitations under the License. -jwt_version = '1.17.0' -jwt_url = "#{node['cluster']['artifacts_s3_url']}/dependencies/jwt/v#{jwt_version}.tar.gz" +jwt_version = node['cluster']['jwt']['version'] +jwt_url = "#{node['cluster']['jwt']['base_url']}/v#{jwt_version}.tar.gz" jwt_tarball = "#{node['cluster']['sources_dir']}/libjwt-#{jwt_version}.tar.gz" -jwt_sha256 = '617778f9687682220abf9b7daacbe72bab7c2985479f8bee4db9648bd2440687' remote_file jwt_tarball do source jwt_url mode '0644' retries 3 retry_delay 5 - checksum jwt_sha256 + checksum node['cluster']['jwt']['sha256'] action :create_if_missing end diff --git a/cookbooks/aws-parallelcluster-slurm/spec/unit/recipes/install_jwt_spec.rb b/cookbooks/aws-parallelcluster-slurm/spec/unit/recipes/install_jwt_spec.rb index 19901247e0..1197ef8d7d 100644 --- a/cookbooks/aws-parallelcluster-slurm/spec/unit/recipes/install_jwt_spec.rb +++ b/cookbooks/aws-parallelcluster-slurm/spec/unit/recipes/install_jwt_spec.rb @@ -18,8 +18,8 @@ context "on #{platform}#{version}" do cached(:cluster_artifacts_s3_url) { 'https://REGION-aws-parallelcluster.s3.REGION.AWS_DOMAIN' } cached(:cluster_sources_dir) { '/path/to/cluster/sources/dir' } - cached(:jwt_version) { '1.17.0' } - cached(:jwt_checksum) { '617778f9687682220abf9b7daacbe72bab7c2985479f8bee4db9648bd2440687' } + cached(:jwt_version) { '1.2.3' } + cached(:jwt_checksum) { 'somechecksum' } cached(:chef_run) do runner = runner(platform: platform, version: version) do |node| @@ -27,6 +27,8 @@ node.override['cluster']['artifacts_s3_url'] = cluster_artifacts_s3_url node.override['cluster']['sources_dir'] = cluster_sources_dir + node.override['cluster']['jwt']['version'] = jwt_version + node.override['cluster']['jwt']['sha256'] = jwt_checksum end allow_any_instance_of(Object).to receive(:nvidia_enabled?).and_return(true) runner.converge(described_recipe)