Run old-style priority functions in parallel to the map-reduce style ones

This commit is contained in:
Bobby (Babak) Salamat 2018-12-04 17:58:28 -08:00
parent 76591db7d4
commit ece8f42ea2

View File

@ -657,19 +657,21 @@ func PrioritizeNodes(
// DEPRECATED: we can remove this when all priorityConfigs implement the // DEPRECATED: we can remove this when all priorityConfigs implement the
// Map-Reduce pattern. // Map-Reduce pattern.
workqueue.ParallelizeUntil(context.TODO(), 16, len(priorityConfigs), func(i int) { for i := range priorityConfigs {
priorityConfig := priorityConfigs[i] if priorityConfigs[i].Function != nil {
if priorityConfig.Function == nil { wg.Add(1)
results[i] = make(schedulerapi.HostPriorityList, len(nodes)) go func(index int) {
return defer wg.Done()
}
var err error var err error
results[i], err = priorityConfig.Function(pod, nodeNameToInfo, nodes) results[index], err = priorityConfigs[index].Function(pod, nodeNameToInfo, nodes)
if err != nil { if err != nil {
appendError(err) appendError(err)
} }
}) }(i)
} else {
results[i] = make(schedulerapi.HostPriorityList, len(nodes))
}
}
workqueue.ParallelizeUntil(context.TODO(), 16, len(nodes), func(index int) { workqueue.ParallelizeUntil(context.TODO(), 16, len(nodes), func(index int) {
nodeInfo := nodeNameToInfo[nodes[index].Name] nodeInfo := nodeNameToInfo[nodes[index].Name]