Skip to content

Commit

Permalink
Actually test MaxUnacknowledgedJobsPerExecutor (#3061)
Browse files Browse the repository at this point in the history
Signed-off-by: Noah Held <noahheld17@gmail.com>
  • Loading branch information
zuqq committed Oct 23, 2023
1 parent 03e99b1 commit fea5921
Showing 1 changed file with 22 additions and 5 deletions.
27 changes: 22 additions & 5 deletions internal/scheduler/scheduling_algo_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -70,24 +70,41 @@ func TestSchedule(t *testing.T) {
queuedJobs: testfixtures.N16Cpu128GiJobs(testfixtures.TestQueue, testfixtures.PriorityClass3, 10),
expectedScheduledIndices: []int{0, 1},
},
"schedule onto executors with some unacknowledged jobs": {
schedulingConfig: testfixtures.WithMaxUnacknowledgedJobsPerExecutorConfig(16, testfixtures.TestSchedulingConfig()),
executors: []*schedulerobjects.Executor{
testfixtures.Test1Node32CoreExecutor("executor1"),
testfixtures.Test1Node32CoreExecutor("executor2"),
},
queues: []*database.Queue{testfixtures.TestDbQueue()},
queuedJobs: testfixtures.N1Cpu4GiJobs(testfixtures.TestQueue, testfixtures.PriorityClass3, 48),
scheduledJobsByExecutorIndexAndNodeIndex: map[int]map[int]scheduledJobs{
0: {
0: scheduledJobs{
jobs: testfixtures.N1Cpu4GiJobs(testfixtures.TestQueue, testfixtures.PriorityClass3, 16),
acknowledged: false,
},
},
},
expectedScheduledIndices: testfixtures.IntRange(0, 47),
},
"do not schedule onto executors with too many unacknowledged jobs": {
// TODO: This test doesn't look right; we never set MaxUnacknowledgedJobsPerExecutor.
schedulingConfig: testfixtures.TestSchedulingConfig(),
schedulingConfig: testfixtures.WithMaxUnacknowledgedJobsPerExecutorConfig(15, testfixtures.TestSchedulingConfig()),
executors: []*schedulerobjects.Executor{
testfixtures.Test1Node32CoreExecutor("executor1"),
testfixtures.Test1Node32CoreExecutor("executor2"),
},
queues: []*database.Queue{testfixtures.TestDbQueue()},
queuedJobs: testfixtures.N16Cpu128GiJobs(testfixtures.TestQueue, testfixtures.PriorityClass3, 10),
queuedJobs: testfixtures.N1Cpu4GiJobs(testfixtures.TestQueue, testfixtures.PriorityClass3, 48),
scheduledJobsByExecutorIndexAndNodeIndex: map[int]map[int]scheduledJobs{
0: {
0: scheduledJobs{
jobs: testfixtures.N16Cpu128GiJobs(testfixtures.TestQueue, testfixtures.PriorityClass3, 2),
jobs: testfixtures.N1Cpu4GiJobs(testfixtures.TestQueue, testfixtures.PriorityClass3, 16),
acknowledged: false,
},
},
},
expectedScheduledIndices: []int{0, 1},
expectedScheduledIndices: testfixtures.IntRange(0, 31),
},
"one executor full": {
schedulingConfig: testfixtures.TestSchedulingConfig(),
Expand Down

0 comments on commit fea5921

Please sign in to comment.