From 7164967662c5e99cf3095a00b97a49a976572723 Mon Sep 17 00:00:00 2001 From: zhangmingld Date: Fri, 26 Oct 2018 15:45:38 +0800 Subject: [PATCH] combine similar code where calucate schedule priority --- pkg/scheduler/core/generic_scheduler.go | 27 ++++++++++--------------- 1 file changed, 11 insertions(+), 16 deletions(-) diff --git a/pkg/scheduler/core/generic_scheduler.go b/pkg/scheduler/core/generic_scheduler.go index 092b9026af..adcea5e051 100644 --- a/pkg/scheduler/core/generic_scheduler.go +++ b/pkg/scheduler/core/generic_scheduler.go @@ -653,28 +653,23 @@ func PrioritizeNodes( results := make([]schedulerapi.HostPriorityList, len(priorityConfigs), len(priorityConfigs)) - for i, priorityConfig := range priorityConfigs { - if priorityConfig.Function != nil { - // DEPRECATED - wg.Add(1) - go func(index int, config algorithm.PriorityConfig) { - defer wg.Done() - var err error - results[index], err = config.Function(pod, nodeNameToInfo, nodes) - if err != nil { - appendError(err) - } - }(i, priorityConfig) - } else { - results[i] = make(schedulerapi.HostPriorityList, len(nodes)) - } + for i := range priorityConfigs { + results[i] = make(schedulerapi.HostPriorityList, len(nodes)) } processNode := func(index int) { nodeInfo := nodeNameToInfo[nodes[index].Name] var err error - for i := range priorityConfigs { + for i, priorityConfig := range priorityConfigs { + // DEPRECATED when ALL priorityConfigs have Map-Reduce pattern. if priorityConfigs[i].Function != nil { + // Make sure that the old-style priority function only runs once. + if results[i][0].Host == "" { + results[i], err = priorityConfig.Function(pod, nodeNameToInfo, nodes) + if err != nil { + appendError(err) + } + } continue } results[i][index], err = priorityConfigs[i].Map(pod, meta, nodeInfo)