87101b131a
When the scheduler assigns a device instance, it iterates over the feasible devices and then picks the first instance with availability. If the jobspec uses a constraint on device ID, this can lead to buggy/surprising behavior where the node's device matches the constraint but then the individual device instance does not. Add a second filter based on the `${device.ids}` constraint after selecting a node's device to ensure the device instance ID falls within the constraint as well. Fixes: #18112 |
||
---|---|---|
.. | ||
benchmarks | ||
annotate.go | ||
annotate_test.go | ||
context.go | ||
context_test.go | ||
device.go | ||
device_test.go | ||
feasible.go | ||
feasible_test.go | ||
generic_sched.go | ||
generic_sched_test.go | ||
preemption.go | ||
preemption_test.go | ||
propertyset.go | ||
rank.go | ||
rank_test.go | ||
reconcile.go | ||
reconcile_test.go | ||
reconcile_util.go | ||
reconcile_util_test.go | ||
scheduler.go | ||
scheduler_oss.go | ||
scheduler_sysbatch_test.go | ||
scheduler_system.go | ||
scheduler_system_test.go | ||
scheduler_test.go | ||
select.go | ||
select_test.go | ||
spread.go | ||
spread_test.go | ||
stack.go | ||
stack_oss.go | ||
stack_test.go | ||
system_util.go | ||
system_util_test.go | ||
testing.go | ||
util.go | ||
util_test.go |