Graduate EfficientWatchResumption feature to GA

This commit is contained in:
Wojciech Tyczyński 2021-12-10 10:20:51 +01:00
parent cc6f12583f
commit b7257a4d6a
3 changed files with 3 additions and 9 deletions

View File

@ -155,6 +155,7 @@ const (
// owner: @wojtek-t // owner: @wojtek-t
// alpha: v1.20 // alpha: v1.20
// beta: v1.21 // beta: v1.21
// GA: v1.24
// //
// Allows for updating watchcache resource version with progress notify events. // Allows for updating watchcache resource version with progress notify events.
EfficientWatchResumption featuregate.Feature = "EfficientWatchResumption" EfficientWatchResumption featuregate.Feature = "EfficientWatchResumption"
@ -224,7 +225,7 @@ var defaultKubernetesFeatureGates = map[featuregate.Feature]featuregate.FeatureS
RemoveSelfLink: {Default: true, PreRelease: featuregate.Beta}, RemoveSelfLink: {Default: true, PreRelease: featuregate.Beta},
SelectorIndex: {Default: true, PreRelease: featuregate.GA, LockToDefault: true}, SelectorIndex: {Default: true, PreRelease: featuregate.GA, LockToDefault: true},
WarningHeaders: {Default: true, PreRelease: featuregate.GA, LockToDefault: true}, WarningHeaders: {Default: true, PreRelease: featuregate.GA, LockToDefault: true},
EfficientWatchResumption: {Default: true, PreRelease: featuregate.Beta}, EfficientWatchResumption: {Default: true, PreRelease: featuregate.GA, LockToDefault: true},
APIServerIdentity: {Default: false, PreRelease: featuregate.Alpha}, APIServerIdentity: {Default: false, PreRelease: featuregate.Alpha},
APIServerTracing: {Default: false, PreRelease: featuregate.Alpha}, APIServerTracing: {Default: false, PreRelease: featuregate.Alpha},
OpenAPIEnums: {Default: false, PreRelease: featuregate.Alpha}, OpenAPIEnums: {Default: false, PreRelease: featuregate.Alpha},

View File

@ -1134,9 +1134,7 @@ func (lw *cacherListerWatcher) Watch(options metav1.ListOptions) (watch.Interfac
ResourceVersion: options.ResourceVersion, ResourceVersion: options.ResourceVersion,
Predicate: storage.Everything, Predicate: storage.Everything,
Recursive: true, Recursive: true,
} ProgressNotify: true,
if utilfeature.DefaultFeatureGate.Enabled(features.EfficientWatchResumption) {
opts.ProgressNotify = true
} }
return lw.storage.Watch(context.TODO(), lw.resourcePrefix, opts) return lw.storage.Watch(context.TODO(), lw.resourcePrefix, opts)
} }

View File

@ -25,11 +25,8 @@ import (
v1 "k8s.io/api/core/v1" v1 "k8s.io/api/core/v1"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/util/wait" "k8s.io/apimachinery/pkg/util/wait"
"k8s.io/apiserver/pkg/features"
utilfeature "k8s.io/apiserver/pkg/util/feature"
clientset "k8s.io/client-go/kubernetes" clientset "k8s.io/client-go/kubernetes"
restclient "k8s.io/client-go/rest" restclient "k8s.io/client-go/rest"
featuregatetesting "k8s.io/component-base/featuregate/testing"
"k8s.io/kubernetes/pkg/controlplane/reconcilers" "k8s.io/kubernetes/pkg/controlplane/reconcilers"
"k8s.io/kubernetes/test/integration/framework" "k8s.io/kubernetes/test/integration/framework"
) )
@ -86,8 +83,6 @@ func multiEtcdSetup(t testing.TB) (clientset.Interface, framework.CloseFunc) {
} }
func TestWatchCacheUpdatedByEtcd(t *testing.T) { func TestWatchCacheUpdatedByEtcd(t *testing.T) {
defer featuregatetesting.SetFeatureGateDuringTest(t, utilfeature.DefaultFeatureGate, features.EfficientWatchResumption, true)()
c, closeFn := multiEtcdSetup(t) c, closeFn := multiEtcdSetup(t)
defer closeFn() defer closeFn()