From fe9d9ebce1ffddc2ea181eaa042f3eb5eec06d41 Mon Sep 17 00:00:00 2001 From: skilxn-go Date: Tue, 2 Jun 2020 20:11:32 +0800 Subject: [PATCH] Fix pick-node strategy when there is no filter plugin --- pkg/scheduler/core/generic_scheduler.go | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/pkg/scheduler/core/generic_scheduler.go b/pkg/scheduler/core/generic_scheduler.go index e31993ed8f6..a8292bca223 100644 --- a/pkg/scheduler/core/generic_scheduler.go +++ b/pkg/scheduler/core/generic_scheduler.go @@ -427,10 +427,11 @@ func (g *genericScheduler) findNodesThatPassFilters(ctx context.Context, prof *p filtered := make([]*v1.Node, numNodesToFind) if !prof.HasFilterPlugins() { + length := len(allNodes) for i := range filtered { - filtered[i] = allNodes[i].Node() + filtered[i] = allNodes[(g.nextStartNodeIndex+i)%length].Node() } - g.nextStartNodeIndex = (g.nextStartNodeIndex + len(filtered)) % len(allNodes) + g.nextStartNodeIndex = (g.nextStartNodeIndex + len(filtered)) % length return filtered, nil }