diff --git a/pkg/scheduler/core/generic_scheduler.go b/pkg/scheduler/core/generic_scheduler.go index 945a5f17221..afa83f29267 100644 --- a/pkg/scheduler/core/generic_scheduler.go +++ b/pkg/scheduler/core/generic_scheduler.go @@ -183,13 +183,6 @@ func (g *genericScheduler) Schedule(ctx context.Context, state *framework.CycleS } trace.Step("Basic checks done") - // Run "prefilter" plugins. - preFilterStatus := g.framework.RunPreFilterPlugins(ctx, state, pod) - if !preFilterStatus.IsSuccess() { - return result, preFilterStatus.AsError() - } - trace.Step("Running prefilter plugins done") - if err := g.snapshot(); err != nil { return result, err } @@ -199,6 +192,13 @@ func (g *genericScheduler) Schedule(ctx context.Context, state *framework.CycleS return result, ErrNoNodesAvailable } + // Run "prefilter" plugins. + preFilterStatus := g.framework.RunPreFilterPlugins(ctx, state, pod) + if !preFilterStatus.IsSuccess() { + return result, preFilterStatus.AsError() + } + trace.Step("Running prefilter plugins done") + startPredicateEvalTime := time.Now() filteredNodes, failedPredicateMap, filteredNodesStatuses, err := g.findNodesThatFit(ctx, state, pod) if err != nil {