diff --git a/pkg/scheduler/framework/runtime/framework.go b/pkg/scheduler/framework/runtime/framework.go index 0a5fd494656..5c87fea9977 100644 --- a/pkg/scheduler/framework/runtime/framework.go +++ b/pkg/scheduler/framework/runtime/framework.go @@ -1030,7 +1030,7 @@ func (f *frameworkImpl) RunScorePlugins(ctx context.Context, state *framework.Cy metrics.FrameworkExtensionPointDuration.WithLabelValues(metrics.Score, status.Code().String(), f.profileName).Observe(metrics.SinceInSeconds(startTime)) }() allNodePluginScores := make([]framework.NodePluginScores, len(nodes)) - numPlugins := len(f.scorePlugins) - state.SkipScorePlugins.Len() + numPlugins := len(f.scorePlugins) plugins := make([]framework.ScorePlugin, 0, numPlugins) pluginToNodeScores := make(map[string]framework.NodeScoreList, numPlugins) for _, pl := range f.scorePlugins { diff --git a/pkg/scheduler/framework/runtime/framework_test.go b/pkg/scheduler/framework/runtime/framework_test.go index 75fb31c5ecb..9acf3b43c70 100644 --- a/pkg/scheduler/framework/runtime/framework_test.go +++ b/pkg/scheduler/framework/runtime/framework_test.go @@ -1385,6 +1385,22 @@ func TestRunScorePlugins(t *testing.T) { }, }, }, + { + name: "skipped prescore plugin number greater than the number of score plugins", + plugins: buildScoreConfigDefaultWeights(scorePlugin1), + pluginConfigs: nil, + skippedPlugins: sets.New(scorePlugin1, "score-plugin-unknown"), + want: []framework.NodePluginScores{ + { + Name: "node1", + Scores: []framework.PluginScore{}, + }, + { + Name: "node2", + Scores: []framework.PluginScore{}, + }, + }, + }, } for _, tt := range tests {