Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions spec/fixtures/output/slurm/owens_partitions.txt
Original file line number Diff line number Diff line change
Expand Up @@ -12,3 +12,4 @@ PartitionName=parallel AllowGroups=ALL DenyAccounts=pcon0003,pcon0014,pcon0015,p
PartitionName=quick AllowGroups=ALL DenyAccounts=pcon0003,pcon0014,pcon0015,pcon0016,pcon0401,pcon0008,pas1429,pcon0009,pcon0020,pcon0022,pcon0023,pcon0024,pcon0025,pcon0040,pcon0026,pcon0041,pcon0080,pcon0100,pcon0101,pcon0120,pcon0140,pcon0160,pcon0180,pcon0200,pas1901,pcon0220,pcon0240,pcon0260,pcon0280,pcon0300,pcon0320,pcon0340,pcon0341,pcon0360,pcon0380,pcon0381,pcon0441,pcon0481,pcon0501,pcon0421 AllowQos=ALL AllocNodes=web[02-09],webtest[02-09],webdev[02-09],owens-rw[01-02] Default=NO QoS=quick DefaultTime=01:00:00 DisableRootJobs=NO ExclusiveUser=NO GraceTime=0 Hidden=YES MaxNodes=2 MaxTime=1-00:00:00 MinNodes=0 LLN=NO MaxCPUsPerNode=28 NodeSets=quick Nodes=o[0807-0808] PriorityJobFactor=10000 PriorityTier=1 RootOnly=NO ReqResv=NO OverSubscribe=NO OverTimeLimit=NONE PreemptMode=OFF State=UP TotalCPUs=56 TotalNodes=2 SelectTypeParameters=NONE JobDefaults=(null) DefMemPerCPU=4315 MaxMemPerCPU=4315 TRES=cpu=56,mem=241640M,node=2,billing=56,gres/gpfs:ess=2,gres/gpfs:scratch=2,gres/pfsdir=2,gres/pfsdir:scratch=2,license/abaqus@osc=350,license/abaquscae@osc=10,license/ansys@osc=50,license/ansyspar@osc=900,license/comsolscript@osc=3,license/epik@osc=10,license/gauss-billing@osc=50000,license/glide@osc=20,license/ligprep@osc=10,license/lsdyna@osc=1000,license/macromodel@osc=10,license/qikprop@osc=10,license/starccm@osc=80,license/starccmpar@osc=4000,license/stata@osc=5,license/usearch@osc=1
PartitionName=serial AllowGroups=ALL DenyAccounts=pcon0003,pcon0014,pcon0015,pcon0016,pcon0401,pcon0008,pas1429,pcon0009,pcon0020,pcon0022,pcon0023,pcon0024,pcon0025,pcon0040,pcon0026,pcon0041,pcon0080,pcon0100,pcon0101,pcon0120,pcon0140,pcon0160,pcon0180,pcon0200,pas1901,pcon0220,pcon0240,pcon0260,pcon0280,pcon0300,pcon0320,pcon0340,pcon0341,pcon0360,pcon0380,pcon0381,pcon0441,pcon0481,pcon0501,pcon0421 AllowQos=ALL AllocNodes=ALL Default=NO QoS=N/A DefaultTime=01:00:00 DisableRootJobs=NO ExclusiveUser=NO GraceTime=0 Hidden=NO MaxNodes=1 MaxTime=7-00:00:00 MinNodes=0 LLN=NO MaxCPUsPerNode=28 NodeSets=cpu Nodes=o[0002-0006,0008-0011,0013-0183,0185-0261,0263-0399,0401-0499,0501-0647] PriorityJobFactor=2000 PriorityTier=1 RootOnly=NO ReqResv=NO OverSubscribe=NO OverTimeLimit=NONE PreemptMode=OFF State=UP TotalCPUs=17920 TotalNodes=640 SelectTypeParameters=NONE JobDefaults=(null) DefMemPerCPU=4315 MaxMemPerCPU=4315 TRES=cpu=17920,mem=75512.50G,node=640,billing=17920,gres/gpfs:ess=640,gres/gpfs:scratch=640,gres/pfsdir=640,gres/pfsdir:scratch=640,license/abaqus@osc=350,license/abaquscae@osc=10,license/ansys@osc=50,license/ansyspar@osc=900,license/comsolscript@osc=3,license/epik@osc=10,license/gauss-billing@osc=50000,license/glide@osc=20,license/ligprep@osc=10,license/lsdyna@osc=1000,license/macromodel@osc=10,license/qikprop@osc=10,license/starccm@osc=80,license/starccmpar@osc=4000,license/stata@osc=5,license/usearch@osc=1
PartitionName=systems AllowGroups=ALL AllowAccounts=root,pzs0708,pzs0710,pzs0722 AllowQos=ALL AllocNodes=ALL Default=NO QoS=N/A DefaultTime=NONE DisableRootJobs=NO ExclusiveUser=NO GraceTime=0 Hidden=NO MaxNodes=UNLIMITED MaxTime=UNLIMITED MinNodes=0 LLN=NO MaxCPUsPerNode=UNLIMITED NodeSets=allnodes Nodes=o[0002-0006,0008-0011,0013-0183,0185-0261,0263-0399,0401-0499,0501-0647,0649-0659,0661-0701,0703-0722,0724-0805,0807-0824] PriorityJobFactor=10000 PriorityTier=1 RootOnly=NO ReqResv=NO OverSubscribe=NO OverTimeLimit=NONE PreemptMode=OFF State=UP TotalCPUs=23056 TotalNodes=812 SelectTypeParameters=NONE JobDefaults=(null) DefMemPerNode=UNLIMITED MaxMemPerNode=UNLIMITED TRES=cpu=23056,mem=120633520M,node=812,billing=23056,gres/gpfs:ess=812,gres/gpfs:scratch=812,gres/gpu=154,gres/gpu:p100=154,gres/pfsdir=812,gres/pfsdir:scratch=812,gres/vis=154,license/abaqus@osc=350,license/abaquscae@osc=10,license/ansys@osc=50,license/ansyspar@osc=900,license/comsolscript@osc=3,license/epik@osc=10,license/gauss-billing@osc=50000,license/glide@osc=20,license/ligprep@osc=10,license/lsdyna@osc=1000,license/macromodel@osc=10,license/qikprop@osc=10,license/starccm@osc=80,license/starccmpar@osc=4000,license/stata@osc=5,license/usearch@osc=1
PartitionName=dynamic AllowGroups=ALL AllowAccounts=ALL AllowQos=ALL AllocNodes=ALL Default=NO QoS=N/A DefaultTime=NONE DisableRootJobs=NO ExclusiveUser=NO ExclusiveTopo=NO GraceTime=0 Hidden=NO MaxNodes=UNLIMITED MaxTime=UNLIMITED MinNodes=0 LLN=NO MaxCPUsPerNode=UNLIMITED MaxCPUsPerSocket=UNLIMITED NodeSets=dynamicns Nodes=(null) PriorityJobFactor=1 PriorityTier=1 RootOnly=NO ReqResv=NO OverSubscribe=NO OverTimeLimit=NONE PreemptMode=OFF State=UP TotalCPUs=0 TotalNodes=0 SelectTypeParameters=NONE JobDefaults=(null) DefMemPerNode=UNLIMITED MaxMemPerNode=UNLIMITED TRES=(null) ResumeTimeout=GLOBAL SuspendTimeout=GLOBAL SuspendTime=GLOBAL PowerDownOnIdle=NO
2 changes: 1 addition & 1 deletion spec/job/adapters/slurm_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -1374,7 +1374,7 @@ def job_info(opts = {})
let(:expected_queue_names) {[
'batch', 'debug', 'gpubackfill-parallel', 'gpubackfill-serial', 'gpudebug',
'gpuparallel', 'gpuserial', 'hugemem', 'hugemem-parallel', 'longserial',
'parallel', 'quick', 'serial', 'systems'
'parallel', 'quick', 'serial', 'systems', 'dynamic'
]}
let(:quick_deny_accounts) {[
'pcon0003','pcon0014','pcon0015','pcon0016','pcon0401','pcon0008','pas1429','pcon0009',
Expand Down
12 changes: 12 additions & 0 deletions test/job/adapters/slurm_test.rb
Original file line number Diff line number Diff line change
Expand Up @@ -103,4 +103,16 @@ def test_nil_parse_time
adapter = slurm_instance
assert_nil(adapter.send(:parse_time, nil))
end

def test_queues_with_tres_null
adapter = slurm_instance
Open3.stubs(:capture3).with({}, 'scontrol', 'show', 'part', '-o', stdin_data: '')
.returns([File.read('spec/fixtures/output/slurm/owens_partitions.txt'), '', exit_success])

queues = adapter.queues
queue = queues.find { |q| q.name == 'dynamic' }

refute_nil(queue)
assert_equal({}, queue.tres)
end
end
Loading