feat(scheduler): scale the extender output in generic scheduler

This commit is contained in:
draveness 2019-10-04 10:21:01 +08:00
parent 3b58b35921
commit 27326e4f9a
2 changed files with 5 additions and 3 deletions

View File

@ -23,10 +23,10 @@ import (
const ( const (
// MinExtenderPriority defines the min priority value for extender. // MinExtenderPriority defines the min priority value for extender.
MinExtenderPriority int = 0 MinExtenderPriority int64 = 0
// MaxExtenderPriority defines the max priority value for extender. // MaxExtenderPriority defines the max priority value for extender.
MaxExtenderPriority int = 10 MaxExtenderPriority int64 = 10
) )
// ExtenderPreemptionResult represents the result returned by preemption phase of extender. // ExtenderPreemptionResult represents the result returned by preemption phase of extender.

View File

@ -840,7 +840,9 @@ func PrioritizeNodes(
// wait for all go routines to finish // wait for all go routines to finish
wg.Wait() wg.Wait()
for i := range result { for i := range result {
result[i].Score += combinedScores[result[i].Name] // MaxExtenderPriority may diverge from the max priority used in the scheduler and defined by MaxNodeScore,
// therefore we need to scale the score returned by extenders to the score range used by the scheduler.
result[i].Score += combinedScores[result[i].Name] * (framework.MaxNodeScore / extenderv1.MaxExtenderPriority)
} }
} }