Remove feature gate check for placement score plugin validation

This commit is contained in:
Bartosz
2026-03-09 10:00:50 +00:00
parent 108c133ce0
commit f50ae7284a
2 changed files with 10 additions and 25 deletions

View File

@@ -449,19 +449,17 @@ func NewFramework(ctx context.Context, r Registry, profile *config.KubeScheduler
}
}
if utilfeature.DefaultFeatureGate.Enabled(features.TopologyAwareWorkloadScheduling) {
placementScoreWeights, err := getValidScoreWeights(f, reflect.TypeFor[fwk.PlacementScorePlugin](), append(profile.Plugins.PlacementScore.Enabled, profile.Plugins.MultiPoint.Enabled...))
if err != nil {
return nil, fmt.Errorf("placement score plugins: %w", err)
}
f.placementScorePluginWeight = placementScoreWeights
placementScoreWeights, err := getValidScoreWeights(f, reflect.TypeFor[fwk.PlacementScorePlugin](), append(profile.Plugins.PlacementScore.Enabled, profile.Plugins.MultiPoint.Enabled...))
if err != nil {
return nil, fmt.Errorf("placement score plugins: %w", err)
}
f.placementScorePluginWeight = placementScoreWeights
// Verifying the placement score weights again since Plugin.Name() could return a different
// value from the one used in the configuration.
for _, placementScorePlugin := range f.placementScorePlugins {
if f.placementScorePluginWeight[placementScorePlugin.Name()] == 0 {
return nil, fmt.Errorf("placement score plugin %q is not configured with weight", placementScorePlugin.Name())
}
// Verifying the placement score weights again since Plugin.Name() could return a different
// value from the one used in the configuration.
for _, placementScorePlugin := range f.placementScorePlugins {
if f.placementScorePluginWeight[placementScorePlugin.Name()] == 0 {
return nil, fmt.Errorf("placement score plugin %q is not configured with weight", placementScorePlugin.Name())
}
}

View File

@@ -32,14 +32,11 @@ import (
"k8s.io/apimachinery/pkg/runtime"
"k8s.io/apimachinery/pkg/types"
"k8s.io/apimachinery/pkg/util/sets"
utilfeature "k8s.io/apiserver/pkg/util/feature"
"k8s.io/client-go/informers"
clientsetfake "k8s.io/client-go/kubernetes/fake"
featuregatetesting "k8s.io/component-base/featuregate/testing"
"k8s.io/component-base/metrics/testutil"
"k8s.io/klog/v2/ktesting"
fwk "k8s.io/kube-scheduler/framework"
"k8s.io/kubernetes/pkg/features"
"k8s.io/kubernetes/pkg/scheduler/apis/config"
"k8s.io/kubernetes/pkg/scheduler/backend/cache"
internalqueue "k8s.io/kubernetes/pkg/scheduler/backend/queue"
@@ -598,11 +595,6 @@ func TestNewFrameworkErrors(t *testing.T) {
}
func TestNewFrameworkMultiPointExpansion(t *testing.T) {
featuregatetesting.SetFeatureGatesDuringTest(t, utilfeature.DefaultFeatureGate, featuregatetesting.FeatureOverrides{
features.GenericWorkload: true,
features.TopologyAwareWorkloadScheduling: true,
})
tests := []struct {
name string
plugins *config.Plugins
@@ -3974,11 +3966,6 @@ func (pl *testPlacementScorePlugin) NormalizePlacementScore(ctx context.Context,
}
func TestRunPlacementScorePlugins(t *testing.T) {
featuregatetesting.SetFeatureGatesDuringTest(t, utilfeature.DefaultFeatureGate, featuregatetesting.FeatureOverrides{
features.GenericWorkload: true,
features.TopologyAwareWorkloadScheduling: true,
})
// 3 placements, the content doesn't matter as they're not used in the test
placements := []*fwk.Placement{{}, {}, {}}