From 5937184db70a624e899de7009ccc8aa53d8ea338 Mon Sep 17 00:00:00 2001 From: stewart-yu Date: Mon, 18 Sep 2017 10:06:20 +0800 Subject: [PATCH] When only one node after predicate, just return it --- plugin/pkg/scheduler/core/generic_scheduler.go | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/plugin/pkg/scheduler/core/generic_scheduler.go b/plugin/pkg/scheduler/core/generic_scheduler.go index abfd746c91..1b5c669b80 100644 --- a/plugin/pkg/scheduler/core/generic_scheduler.go +++ b/plugin/pkg/scheduler/core/generic_scheduler.go @@ -127,6 +127,12 @@ func (g *genericScheduler) Schedule(pod *v1.Pod, nodeLister algorithm.NodeLister } trace.Step("Prioritizing") + + // When only one node after predicate, just use it. + if len(filteredNodes) == 1 { + return filteredNodes[0].Name, nil + } + metaPrioritiesInterface := g.priorityMetaProducer(pod, g.cachedNodeInfoMap) priorityList, err := PrioritizeNodes(pod, g.cachedNodeInfoMap, metaPrioritiesInterface, g.prioritizers, filteredNodes, g.extenders) if err != nil {