diff --git a/pkg/scheduler/framework/types.go b/pkg/scheduler/framework/types.go index 6856b78f270..687143e520a 100644 --- a/pkg/scheduler/framework/types.go +++ b/pkg/scheduler/framework/types.go @@ -339,9 +339,6 @@ type Diagnosis struct { PreFilterMsg string // PostFilterMsg records the messages returned from PostFilter plugins. PostFilterMsg string - // EvaluatedNodes records the number of nodes evaluated by Filter stage. - // It is used for debugging purposes only. - EvaluatedNodes int } // FitError describes a fit error of a pod. diff --git a/pkg/scheduler/schedule_one.go b/pkg/scheduler/schedule_one.go index 6b6992095d8..33f68468d2c 100644 --- a/pkg/scheduler/schedule_one.go +++ b/pkg/scheduler/schedule_one.go @@ -417,7 +417,7 @@ func (sched *Scheduler) schedulePod(ctx context.Context, fwk framework.Framework if len(feasibleNodes) == 1 { return ScheduleResult{ SuggestedHost: feasibleNodes[0].Node().Name, - EvaluatedNodes: diagnosis.EvaluatedNodes, + EvaluatedNodes: 1 + len(diagnosis.NodeToStatusMap), FeasibleNodes: 1, }, nil } @@ -432,7 +432,7 @@ func (sched *Scheduler) schedulePod(ctx context.Context, fwk framework.Framework return ScheduleResult{ SuggestedHost: host, - EvaluatedNodes: diagnosis.EvaluatedNodes, + EvaluatedNodes: len(feasibleNodes) + len(diagnosis.NodeToStatusMap), FeasibleNodes: len(feasibleNodes), }, err } @@ -589,7 +589,6 @@ func (sched *Scheduler) findNodesThatPassFilters( for i := range feasibleNodes { feasibleNodes[i] = nodes[(sched.nextStartNodeIndex+i)%numAllNodes] } - diagnosis.EvaluatedNodes = int(numNodesToFind) return feasibleNodes, nil } @@ -638,13 +637,11 @@ func (sched *Scheduler) findNodesThatPassFilters( // are found. fwk.Parallelizer().Until(ctx, numAllNodes, checkNode, metrics.Filter) feasibleNodes = feasibleNodes[:feasibleNodesLen] - diagnosis.EvaluatedNodes = int(feasibleNodesLen) for _, item := range result { if item == nil { continue } diagnosis.NodeToStatusMap[item.node] = item.status - diagnosis.EvaluatedNodes++ diagnosis.AddPluginStatus(item.status) } if err := errCh.ReceiveError(); err != nil { diff --git a/pkg/scheduler/schedule_one_test.go b/pkg/scheduler/schedule_one_test.go index 81c08147623..fdb4519a46c 100644 --- a/pkg/scheduler/schedule_one_test.go +++ b/pkg/scheduler/schedule_one_test.go @@ -937,7 +937,6 @@ func TestSchedulerNoPhantomPodAfterDelete(t *testing.T) { node.Name: framework.NewStatus(framework.Unschedulable, nodeports.ErrReason).WithPlugin(nodeports.Name), }, UnschedulablePlugins: sets.New(nodeports.Name), - EvaluatedNodes: 1, }, } if !reflect.DeepEqual(expectErr, err) { @@ -1045,7 +1044,6 @@ func TestSchedulerFailedSchedulingReasons(t *testing.T) { Diagnosis: framework.Diagnosis{ NodeToStatusMap: failedNodeStatues, UnschedulablePlugins: sets.New(noderesources.Name), - EvaluatedNodes: 100, }, } if len(fmt.Sprint(expectErr)) > 150 { @@ -1833,7 +1831,6 @@ func TestSchedulerSchedulePod(t *testing.T) { "node2": framework.NewStatus(framework.Unschedulable, tf.ErrReasonFake).WithPlugin("FalseFilter"), }, UnschedulablePlugins: sets.New("FalseFilter"), - EvaluatedNodes: 2, }, }, }, @@ -1924,7 +1921,6 @@ func TestSchedulerSchedulePod(t *testing.T) { "1": framework.NewStatus(framework.Unschedulable, tf.ErrReasonFake).WithPlugin("FalseFilter"), }, UnschedulablePlugins: sets.New("FalseFilter"), - EvaluatedNodes: 3, }, }, }, @@ -1951,7 +1947,6 @@ func TestSchedulerSchedulePod(t *testing.T) { "2": framework.NewStatus(framework.Unschedulable, tf.ErrReasonFake).WithPlugin("NoPodsFilter"), }, UnschedulablePlugins: sets.New("MatchFilter", "NoPodsFilter"), - EvaluatedNodes: 2, }, }, }, @@ -2117,7 +2112,6 @@ func TestSchedulerSchedulePod(t *testing.T) { "3": framework.NewStatus(framework.Unschedulable, "injecting failure for pod test-filter").WithPlugin("FakeFilter"), }, UnschedulablePlugins: sets.New("FakeFilter"), - EvaluatedNodes: 1, }, }, }, @@ -2151,7 +2145,6 @@ func TestSchedulerSchedulePod(t *testing.T) { "3": framework.NewStatus(framework.Unschedulable, "injecting failure for pod test-filter").WithPlugin("FakeFilter"), }, UnschedulablePlugins: sets.New("FakeFilter", framework.ExtenderName), - EvaluatedNodes: 3, }, }, }, @@ -2177,7 +2170,6 @@ func TestSchedulerSchedulePod(t *testing.T) { "3": framework.NewStatus(framework.UnschedulableAndUnresolvable, "injecting failure for pod test-filter").WithPlugin("FakeFilter"), }, UnschedulablePlugins: sets.New("FakeFilter"), - EvaluatedNodes: 1, }, }, }, @@ -2256,9 +2248,10 @@ func TestSchedulerSchedulePod(t *testing.T) { ), tf.RegisterBindPlugin(defaultbinder.Name, defaultbinder.New), }, - nodes: []string{"node1", "node2", "node3"}, - pod: st.MakePod().Name("test-prefilter").UID("test-prefilter").Obj(), - wantNodes: sets.New("node2"), + nodes: []string{"node1", "node2", "node3"}, + pod: st.MakePod().Name("test-prefilter").UID("test-prefilter").Obj(), + wantNodes: sets.New("node2"), + // since this case has no score plugin, we'll only try to find one node in Filter stage wantEvaluatedNodes: ptr.To[int32](1), }, { @@ -2347,7 +2340,6 @@ func TestSchedulerSchedulePod(t *testing.T) { "node2": framework.NewStatus(framework.Unschedulable, "injecting failure for pod test-prefilter").WithPlugin("FakeFilter"), }, UnschedulablePlugins: sets.New("FakeFilter"), - EvaluatedNodes: 1, PreFilterMsg: "", }, }, @@ -2571,7 +2563,6 @@ func TestFindFitAllError(t *testing.T) { "3": framework.NewStatus(framework.Unschedulable, tf.ErrReasonFake).WithPlugin("MatchFilter"), }, UnschedulablePlugins: sets.New("MatchFilter"), - EvaluatedNodes: 3, } if diff := cmp.Diff(diagnosis, expected); diff != "" { t.Errorf("Unexpected diagnosis: (-want, +got): %s", diff) diff --git a/pkg/scheduler/scheduler.go b/pkg/scheduler/scheduler.go index 8288f02bd01..ad302067439 100644 --- a/pkg/scheduler/scheduler.go +++ b/pkg/scheduler/scheduler.go @@ -139,7 +139,6 @@ type ScheduleResult struct { SuggestedHost string // The number of nodes the scheduler evaluated the pod against in the filtering // phase and beyond. - // Note that it contains the number of nodes that filtered out by PreFilterResult. EvaluatedNodes int // The number of nodes out of the evaluated ones that fit the pod. FeasibleNodes int