From 2c6447b845980ad043afe0ac33778044f7e02d5b Mon Sep 17 00:00:00 2001 From: Himani Anil Deshpande Date: Mon, 6 Oct 2025 13:18:57 -0400 Subject: [PATCH] [B200] Not installing NVLSM in Isolated regions --- .../partial/_nvidia_nvlsm_common.rb | 1 + .../spec/unit/resources/nvidia_nvlsm_spec.rb | 40 +++++++++++++++++++ 2 files changed, 41 insertions(+) diff --git a/cookbooks/aws-parallelcluster-platform/resources/nvidia_nvlsm/partial/_nvidia_nvlsm_common.rb b/cookbooks/aws-parallelcluster-platform/resources/nvidia_nvlsm/partial/_nvidia_nvlsm_common.rb index dbc64213d..17dbb166b 100644 --- a/cookbooks/aws-parallelcluster-platform/resources/nvidia_nvlsm/partial/_nvidia_nvlsm_common.rb +++ b/cookbooks/aws-parallelcluster-platform/resources/nvidia_nvlsm/partial/_nvidia_nvlsm_common.rb @@ -17,6 +17,7 @@ action :install do return unless nvlsm_installation_enabled? + return if aws_region.start_with?("us-iso") action_install_nvlsm_dependencies action_install_nvlsm diff --git a/cookbooks/aws-parallelcluster-platform/spec/unit/resources/nvidia_nvlsm_spec.rb b/cookbooks/aws-parallelcluster-platform/spec/unit/resources/nvidia_nvlsm_spec.rb index ca34f0be8..1bb6a33a2 100644 --- a/cookbooks/aws-parallelcluster-platform/spec/unit/resources/nvidia_nvlsm_spec.rb +++ b/cookbooks/aws-parallelcluster-platform/spec/unit/resources/nvidia_nvlsm_spec.rb @@ -101,6 +101,46 @@ def self.install(chef_run) end end + context 'when region starts with us-iso' do + let(:nvlsm_version) { "2025.03.9-1" } + let(:region_name) { 'us-iso-region' } + cached(:chef_run) do + stubs_for_resource('nvidia_nvlsm') do |res| + allow(res).to receive(:nvlsm_installation_enabled?).and_return(true) + allow(res).to receive(:nvidia_enabled?).and_return(true) + end + runner = runner(platform: platform, version: version, step_into: ['nvidia_nvlsm']) do |node| + node.override['cluster']['region'] = region_name + node.override['cluster']['artifacts_s3_url'] = cluster_artifacts_s3_url + node.override['cluster']['sources_dir'] = source_dir + node.automatic['kernel']['machine'] = 'x86_64' + end + ConvergeNvidiaNvlsm.install(runner) + end + cached(:node) { chef_run.node } + + before do + allow_any_instance_of(Chef::RunContext).to receive(:aws_region).and_return(region_name) + end + + it 'does not install nvlsm' do + is_expected.not_to run_bash("Install nvlsm") + end + + it 'does not install nvlsm dependencies' do + is_expected.not_to run_bash("Install nvlsm dependencies") + end + + it 'does not download nvlsm package' do + package_name = if %(redhat rocky amazon).include?(platform) + "nvlsm-#{nvlsm_version}.#{arch_suffix_rhel['x86_64']}.rpm" + else + "nvlsm_#{nvlsm_version}_#{arch_suffix_debian['x86_64']}.deb" + end + is_expected.not_to create_if_missing_remote_file("#{source_dir}/#{package_name}") + end + end + %w(x86_64 aarch64).each do |arch| context "when nvlsm installation is enabled on #{arch}" do cached(:chef_run) do