From b3499eec624aad61946f917f9945829aed3fbf02 Mon Sep 17 00:00:00 2001 From: Abu Kashem Date: Tue, 31 Oct 2023 08:35:52 -0400 Subject: [PATCH] apiserver: set APF featuregate to ga Kubernetes-commit: c7fcef187562e1b3ffdaa2e2109c65d800b8f5d5 --- pkg/features/kube_features.go | 3 ++- pkg/server/config.go | 2 +- pkg/server/options/feature.go | 6 ++---- 3 files changed, 5 insertions(+), 6 deletions(-) diff --git a/pkg/features/kube_features.go b/pkg/features/kube_features.go index e157518f5..f059cef9b 100644 --- a/pkg/features/kube_features.go +++ b/pkg/features/kube_features.go @@ -63,6 +63,7 @@ const ( // owner: @MikeSpreitzer @yue9944882 // alpha: v1.18 // beta: v1.20 + // stable: 1.29 // // Enables managing request concurrency with prioritization and fairness at each server. // The FeatureGate was introduced in release 1.15 but the feature @@ -276,7 +277,7 @@ var defaultKubernetesFeatureGates = map[featuregate.Feature]featuregate.FeatureS APIListChunking: {Default: true, PreRelease: featuregate.GA, LockToDefault: true}, // remove in 1.32 - APIPriorityAndFairness: {Default: true, PreRelease: featuregate.Beta}, + APIPriorityAndFairness: {Default: true, PreRelease: featuregate.GA, LockToDefault: true}, // remove in 1.31 APIResponseCompression: {Default: true, PreRelease: featuregate.Beta}, diff --git a/pkg/server/config.go b/pkg/server/config.go index 0b5781f4b..beff08f14 100644 --- a/pkg/server/config.go +++ b/pkg/server/config.go @@ -1084,7 +1084,7 @@ func installAPI(s *GenericAPIServer, c *Config) { s.Handler.GoRestfulContainer.Add(s.DiscoveryGroupManager.WebService()) } } - if c.FlowControl != nil && utilfeature.DefaultFeatureGate.Enabled(genericfeatures.APIPriorityAndFairness) { + if c.FlowControl != nil { c.FlowControl.Install(s.Handler.NonGoRestfulMux) } } diff --git a/pkg/server/options/feature.go b/pkg/server/options/feature.go index f484be0b5..f01195560 100644 --- a/pkg/server/options/feature.go +++ b/pkg/server/options/feature.go @@ -22,9 +22,7 @@ import ( "github.com/spf13/pflag" "k8s.io/apimachinery/pkg/runtime/serializer" - "k8s.io/apiserver/pkg/features" "k8s.io/apiserver/pkg/server" - "k8s.io/apiserver/pkg/util/feature" utilflowcontrol "k8s.io/apiserver/pkg/util/flowcontrol" "k8s.io/client-go/informers" "k8s.io/client-go/kubernetes" @@ -60,7 +58,7 @@ func (o *FeatureOptions) AddFlags(fs *pflag.FlagSet) { fs.StringVar(&o.DebugSocketPath, "debug-socket-path", o.DebugSocketPath, "Use an unprotected (no authn/authz) unix-domain socket for profiling with the given path") fs.BoolVar(&o.EnablePriorityAndFairness, "enable-priority-and-fairness", o.EnablePriorityAndFairness, ""+ - "If true and the APIPriorityAndFairness feature gate is enabled, replace the max-in-flight handler with an enhanced one that queues and dispatches with priority and fairness") + "If true, replace the max-in-flight handler with an enhanced one that queues and dispatches with priority and fairness") } func (o *FeatureOptions) ApplyTo(c *server.Config, clientset kubernetes.Interface, informers informers.SharedInformerFactory) error { @@ -72,7 +70,7 @@ func (o *FeatureOptions) ApplyTo(c *server.Config, clientset kubernetes.Interfac c.DebugSocketPath = o.DebugSocketPath c.EnableContentionProfiling = o.EnableContentionProfiling - if o.EnablePriorityAndFairness && feature.DefaultFeatureGate.Enabled(features.APIPriorityAndFairness) { + if o.EnablePriorityAndFairness { if c.MaxRequestsInFlight+c.MaxMutatingRequestsInFlight <= 0 { return fmt.Errorf("invalid configuration: MaxRequestsInFlight=%d and MaxMutatingRequestsInFlight=%d; they must add up to something positive", c.MaxRequestsInFlight, c.MaxMutatingRequestsInFlight)