open-nomad/scheduler
Tim Gross 2426aae832
scheduler: prevent -Inf in spread scoring (#17198)
When spread targets have a percent value of zero it's possible for them to
return -Inf scoring because of a float divide by zero. This is very hard for
operators to debug because the string "-Inf" is returned in the API and that
breaks the presentation of debugging data.

Most scoring iterators are bracketed to -1/+1, but spread iterators do not so
that they can handle greatly unbalanced scoring so we can't simply return a -1
score without generating a score that might be greater than the negative scores
set by other spread targets. Instead, track the lowest-seen spread boost and use
that as the spread boost for any cases where we'd divide by zero.

Fixes: #8863
2023-05-16 16:01:32 -04:00
..
benchmarks api: enable support for setting original job source (#16763) 2023-04-11 08:45:08 -05:00
annotate.go logs: fix missing allocation logs after update to Nomad 1.5.4 (#17087) 2023-05-04 16:01:18 -04:00
annotate_test.go logs: fix missing allocation logs after update to Nomad 1.5.4 (#17087) 2023-05-04 16:01:18 -04:00
context.go [COMPLIANCE] Add Copyright and License Headers 2023-04-10 15:36:59 +00:00
context_test.go [COMPLIANCE] Add Copyright and License Headers 2023-04-10 15:36:59 +00:00
device.go [COMPLIANCE] Add Copyright and License Headers 2023-04-10 15:36:59 +00:00
device_test.go [COMPLIANCE] Add Copyright and License Headers 2023-04-10 15:36:59 +00:00
feasible.go [scheduler] Honor `false` for distinct hosts constraint (#16907) 2023-04-17 17:43:56 -04:00
feasible_test.go [scheduler] Honor `false` for distinct hosts constraint (#16907) 2023-04-17 17:43:56 -04:00
generic_sched.go [COMPLIANCE] Add Copyright and License Headers 2023-04-10 15:36:59 +00:00
generic_sched_test.go api: enable support for setting original job source (#16763) 2023-04-11 08:45:08 -05:00
preemption.go [COMPLIANCE] Add Copyright and License Headers 2023-04-10 15:36:59 +00:00
preemption_test.go api: enable support for setting original job source (#16763) 2023-04-11 08:45:08 -05:00
propertyset.go [COMPLIANCE] Add Copyright and License Headers 2023-04-10 15:36:59 +00:00
rank.go [COMPLIANCE] Add Copyright and License Headers 2023-04-10 15:36:59 +00:00
rank_test.go [COMPLIANCE] Add Copyright and License Headers 2023-04-10 15:36:59 +00:00
reconcile.go [COMPLIANCE] Add Copyright and License Headers 2023-04-10 15:36:59 +00:00
reconcile_test.go [COMPLIANCE] Add Copyright and License Headers 2023-04-10 15:36:59 +00:00
reconcile_util.go [COMPLIANCE] Add Copyright and License Headers 2023-04-10 15:36:59 +00:00
reconcile_util_test.go [COMPLIANCE] Add Copyright and License Headers 2023-04-10 15:36:59 +00:00
scheduler.go [COMPLIANCE] Add Copyright and License Headers 2023-04-10 15:36:59 +00:00
scheduler_oss.go [COMPLIANCE] Add Copyright and License Headers 2023-04-10 15:36:59 +00:00
scheduler_sysbatch_test.go api: enable support for setting original job source (#16763) 2023-04-11 08:45:08 -05:00
scheduler_system.go [COMPLIANCE] Add Copyright and License Headers 2023-04-10 15:36:59 +00:00
scheduler_system_test.go api: enable support for setting original job source (#16763) 2023-04-11 08:45:08 -05:00
select.go [COMPLIANCE] Add Copyright and License Headers 2023-04-10 15:36:59 +00:00
select_test.go [COMPLIANCE] Add Copyright and License Headers 2023-04-10 15:36:59 +00:00
spread.go scheduler: prevent -Inf in spread scoring (#17198) 2023-05-16 16:01:32 -04:00
spread_test.go scheduler: prevent -Inf in spread scoring (#17198) 2023-05-16 16:01:32 -04:00
stack.go [COMPLIANCE] Add Copyright and License Headers 2023-04-10 15:36:59 +00:00
stack_oss.go [COMPLIANCE] Add Copyright and License Headers 2023-04-10 15:36:59 +00:00
stack_test.go [COMPLIANCE] Add Copyright and License Headers 2023-04-10 15:36:59 +00:00
system_util.go [COMPLIANCE] Add Copyright and License Headers 2023-04-10 15:36:59 +00:00
system_util_test.go [COMPLIANCE] Add Copyright and License Headers 2023-04-10 15:36:59 +00:00
testing.go [COMPLIANCE] Add Copyright and License Headers 2023-04-10 15:36:59 +00:00
util.go logs: fix missing allocation logs after update to Nomad 1.5.4 (#17087) 2023-05-04 16:01:18 -04:00
util_test.go [COMPLIANCE] Add Copyright and License Headers 2023-04-10 15:36:59 +00:00