Skip to content

Commit af7b163

Browse files
author
Himani Anil Deshpande
committed
[Nvidia-Imex] Use nvidia-imex shared directory for Inspec and configuration files
1 parent 33017e9 commit af7b163

File tree

6 files changed

+37
-22
lines changed

6 files changed

+37
-22
lines changed

cookbooks/aws-parallelcluster-platform/attributes/platform.rb

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,9 @@
2222
default['cluster']['nvidia']['driver_version'] = '550.127.08'
2323
end
2424

25+
# Nvidia-imex
26+
default['cluster']['nvidia']['imex']['shared_dir'] = "#{node['cluster']['shared_dir']}/nvidia-imex"
27+
2528
# DCV
2629
default['cluster']['dcv']['authenticator']['user'] = "dcvextauth"
2730
default['cluster']['dcv']['authenticator']['user_id'] = node['cluster']['reserved_base_uid'] + 3

cookbooks/aws-parallelcluster-platform/resources/nvidia_imex/partial/_nvidia_imex_common.rb

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -24,16 +24,16 @@
2424
action :add
2525
end
2626

27-
directory "#{node['cluster']['shared_dir']}/#{nvidia_imex_service}"
27+
directory node['cluster']['nvidia']['imex']['shared_dir']
2828

29-
template "#{node['cluster']['shared_dir']}/#{nvidia_imex_service}/config.cfg" do
29+
template "#{node['cluster']['nvidia']['imex']['shared_dir']}/config.cfg" do
3030
source 'nvidia-imex/nvidia-imex-config.erb'
3131
owner 'root'
3232
group 'root'
3333
mode '0755'
3434
end
3535

36-
template "#{node['cluster']['shared_dir']}/#{nvidia_imex_service}/nodes_config.cfg" do
36+
template "#{node['cluster']['nvidia']['imex']['shared_dir']}/nodes_config.cfg" do
3737
source 'nvidia-imex/nvidia-imex-nodes.erb'
3838
owner 'root'
3939
group 'root'

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

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,7 @@
11
require 'spec_helper'
22

3-
shared_dir = "SHARED_DIR"
43
nvidia_version = "1.2.3"
5-
nvidia_imex_shared_dir = "#{shared_dir}/nvidia-imex"
4+
nvidia_imex_shared_dir = "SHARED_DIR/nvidia-imex"
65
imex_binary = '/usr/bin/nvidia-imex'
76
imex_ctl_binary = '/usr/bin/nvidia-imex-ctl'
87

@@ -189,7 +188,7 @@ def self.configure(chef_run)
189188
cached(:node) { chef_run.node }
190189

191190
before do
192-
chef_run.node.override['cluster']['shared_dir'] = shared_dir
191+
chef_run.node.override['cluster']['nvidia']['imex']['shared_dir'] = nvidia_imex_shared_dir
193192
chef_run.node.override['cluster']['region'] = 'aws_region'
194193
chef_run.node.override['cluster']['nvidia']['driver_version'] = nvidia_version
195194
ConvergeNvidiaImex.install(chef_run)

cookbooks/aws-parallelcluster-platform/templates/nvidia-imex/nvidia-imex-config.erb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,7 @@ SERVER_PORT=50000
8686
# Possible Values:
8787
# Full path/filename string (max length of 256).
8888
# Default Value: /etc/nvidia-imex/nodes_config.cfg
89-
IMEX_NODE_CONFIG_FILE=<%= node['cluster']['shared_dir'] %>/nodes_config.cfg
89+
IMEX_NODE_CONFIG_FILE=<%= node['cluster']['nvidia']['imex']['shared_dir'] %>/nodes_config.cfg
9090

9191
# Description: Name of the network interface used for communication.
9292
# OPTIONAL - If empty, network interface will be determined by matching bind IP to

cookbooks/aws-parallelcluster-platform/templates/nvidia-imex/nvidia-imex.service.erb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ PrivateTmp=false
1010
Type=forking
1111
TimeoutStartSec=infinity
1212

13-
ExecStart=/usr/bin/nvidia-imex -c <%= node['cluster']['shared_dir'] %>/nvidia-imex/config.cfg
13+
ExecStart=/usr/bin/nvidia-imex -c <%= node['cluster']['nvidia']['imex']['shared_dir'] %>/config.cfg
1414

1515
LimitCORE=infinity
1616

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

Lines changed: 27 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -13,12 +13,6 @@
1313
only_if { ['yes', true, 'true'].include?(node['cluster']['nvidia']['enabled']) && !os_properties.alinux2? }
1414

1515
nvidia_imex_service = 'nvidia-imex'
16-
17-
describe package("#{node['cluster']['nvidia']['imex']['package']}") do
18-
it { should be_installed }
19-
its('version') { should match /#{node['cluster']['nvidia']['imex']['version']}/ }
20-
end
21-
2216
["/usr/bin/#{nvidia_imex_service}", "/usr/bin/#{nvidia_imex_service}-ctl"].each do |path|
2317
describe file(path) do
2418
it { should exist }
@@ -28,15 +22,34 @@
2822
end
2923
end
3024

31-
nvidia_imex_dir = "#{node['cluster']['shared_dir']}/#{nvidia_imex_service}"
25+
nvidia_imex_dir = "#{node['cluster']['nvidia']['imex']['shared_dir']}"
3226

33-
["#{nvidia_imex_dir}/config.cfg", "#{nvidia_imex_dir}/nodes_config.cfg"].each do |conf_files|
34-
describe file(conf_files) do
35-
it { should exist }
36-
its('owner') { should eq 'root' }
37-
its('group') { should eq 'root' }
38-
its('mode') { should cmp '0755' }
39-
end
27+
describe file("#{nvidia_imex_dir}/config.cfg") do
28+
it { should exist }
29+
its('owner') { should eq 'root' }
30+
its('group') { should eq 'root' }
31+
its('mode') { should cmp '0755' }
32+
its('content') { should match %r{/IMEX_NODE_CONFIG_FILE=#{nvidia_imex_dir}/nodes_config.cfg/} }
33+
end
34+
35+
describe file("#{nvidia_imex_dir}/nodes_config.cfg") do
36+
it { should exist }
37+
its('owner') { should eq 'root' }
38+
its('group') { should eq 'root' }
39+
its('mode') { should cmp '0755' }
40+
end
41+
42+
describe file("/etc/systemd/system/#{nvidia_imex_service}.service") do
43+
it { should exist }
44+
its('owner') { should eq 'root' }
45+
its('group') { should eq 'root' }
46+
its('mode') { should cmp '0644' }
47+
its('content') { should match %r{ExecStart=/usr/bin/nvidia-imex -c #{nvidia_imex_dir}/config.cfg} }
48+
end
49+
50+
describe package("#{node['cluster']['nvidia']['imex']['package']}") do
51+
it { should be_installed }
52+
its('version') { should match /#{node['cluster']['nvidia']['imex']['version']}/ }
4053
end
4154
end
4255

0 commit comments

Comments
 (0)