end
test "dns_server_conf_template" do
- Rails.configuration.Containers["SLURM"]["Managed"]["DNSServerConfDir"] = Rails.root.join 'tmp'
- Rails.configuration.Containers["SLURM"]["Managed"]["DNSServerConfTemplate"] = Rails.root.join 'config', 'unbound.template'
+ Rails.configuration.Containers.SLURM.Managed.DNSServerConfDir = Rails.root.join 'tmp'
+ Rails.configuration.Containers.SLURM.Managed.DNSServerConfTemplate = Rails.root.join 'config', 'unbound.template'
conffile = Rails.root.join 'tmp', 'compute65535.conf'
File.unlink conffile rescue nil
assert Node.dns_server_update 'compute65535', '127.0.0.1'
end
test "dns_server_restart_command" do
- Rails.configuration.Containers["SLURM"]["Managed"]["DNSServerConfDir"] = Rails.root.join 'tmp'
- Rails.configuration.Containers["SLURM"]["Managed"]["DNSServerReloadCommand"] = 'foobar'
+ Rails.configuration.Containers.SLURM.Managed.DNSServerConfDir = Rails.root.join 'tmp'
+ Rails.configuration.Containers.SLURM.Managed.DNSServerReloadCommand = 'foobar'
restartfile = Rails.root.join 'tmp', 'restart.txt'
File.unlink restartfile rescue nil
assert Node.dns_server_update 'compute65535', '127.0.0.127'
end
test "dns_server_restart_command fail" do
- Rails.configuration.Containers["SLURM"]["Managed"]["DNSServerConfDir"] = Rails.root.join 'tmp', 'bogusdir'
- Rails.configuration.Containers["SLURM"]["Managed"]["DNSServerReloadCommand"] = 'foobar'
+ Rails.configuration.Containers.SLURM.Managed.DNSServerConfDir = Rails.root.join 'tmp', 'bogusdir'
+ Rails.configuration.Containers.SLURM.Managed.DNSServerReloadCommand = 'foobar'
refute Node.dns_server_update 'compute65535', '127.0.0.127'
end
test "dns_server_update_command with valid command" do
testfile = Rails.root.join('tmp', 'node_test_dns_server_update_command.txt')
- Rails.configuration.Containers["SLURM"]["Managed"]["DNSServerUpdateCommand"] =
+ Rails.configuration.Containers.SLURM.Managed.DNSServerUpdateCommand =
('echo -n "%{hostname} == %{ip_address}" >' +
testfile.to_s.shellescape)
assert Node.dns_server_update 'compute65535', '127.0.0.1'
end
test "dns_server_update_command with failing command" do
- Rails.configuration.Containers["SLURM"]["Managed"]["DNSServerUpdateCommand"] = 'false %{hostname}'
+ Rails.configuration.Containers.SLURM.Managed.DNSServerUpdateCommand = 'false %{hostname}'
refute Node.dns_server_update 'compute65535', '127.0.0.1'
end
test "dns update with no commands/dirs configured" do
- Rails.configuration.Containers["SLURM"]["Managed"]["DNSServerUpdateCommand"] = false
- Rails.configuration.Containers["SLURM"]["Managed"]["DNSServerConfDir"] = false
- Rails.configuration.Containers["SLURM"]["Managed"]["DNSServerConfTemplate"] = 'ignored!'
- Rails.configuration.Containers["SLURM"]["Managed"]["DNSServerReloadCommand"] = 'ignored!'
+ Rails.configuration.Containers.SLURM.Managed.DNSServerUpdateCommand = ""
+ Rails.configuration.Containers.SLURM.Managed.DNSServerConfDir = ""
+ Rails.configuration.Containers.SLURM.Managed.DNSServerConfTemplate = 'ignored!'
+ Rails.configuration.Containers.SLURM.Managed.DNSServerReloadCommand = 'ignored!'
assert Node.dns_server_update 'compute65535', '127.0.0.127'
end
test "don't leave temp files behind if there's an error writing them" do
- Rails.configuration.Containers["SLURM"]["Managed"]["DNSServerConfTemplate"] = Rails.root.join 'config', 'unbound.template'
+ Rails.configuration.Containers.SLURM.Managed.DNSServerConfTemplate = Rails.root.join 'config', 'unbound.template'
Tempfile.any_instance.stubs(:puts).raises(IOError)
Dir.mktmpdir do |tmpdir|
- Rails.configuration.Containers["SLURM"]["Managed"]["DNSServerConfDir"] = tmpdir
+ Rails.configuration.Containers.SLURM.Managed.DNSServerConfDir = tmpdir
refute Node.dns_server_update 'compute65535', '127.0.0.127'
assert_empty Dir.entries(tmpdir).select{|f| File.file? f}
end
end
test "ping new node with no hostname and no config" do
- Rails.configuration.Containers["SLURM"]["Managed"]["AssignNodeHostname"] = false
+ Rails.configuration.Containers.SLURM.Managed.AssignNodeHostname = false
node = ping_node(:new_with_no_hostname, {})
refute_nil node.slot_number
assert_nil node.hostname
end
test "ping new node with zero padding config" do
- Rails.configuration.Containers["SLURM"]["Managed"]["AssignNodeHostname"] = 'compute%<slot_number>04d'
+ Rails.configuration.Containers.SLURM.Managed.AssignNodeHostname = 'compute%<slot_number>04d'
node = ping_node(:new_with_no_hostname, {})
slot_number = node.slot_number
refute_nil slot_number
end
test "ping node with hostname and no config and expect hostname unchanged" do
- Rails.configuration.Containers["SLURM"]["Managed"]["AssignNodeHostname"] = false
+ Rails.configuration.Containers.SLURM.Managed.AssignNodeHostname = false
node = ping_node(:new_with_custom_hostname, {})
assert_equal(23, node.slot_number)
assert_equal("custom1", node.hostname)
end
test 'run out of slots' do
- Rails.configuration.Containers["MaxComputeVMs"] = 3
+ Rails.configuration.Containers.MaxComputeVMs = 3
act_as_system_user do
Node.destroy_all
(1..4).each do |i|
n = Node.create!
args = { ip: "10.0.0.#{i}", ping_secret: n.info['ping_secret'] }
- if i <= Rails.configuration.Containers["MaxComputeVMs"]
+ if i <= Rails.configuration.Containers.MaxComputeVMs
n.ping(args)
else
assert_raises do