diff --git a/pkg/features/versioned_kube_features.go b/pkg/features/versioned_kube_features.go index 1ffe1777de4..4f99ad07d42 100644 --- a/pkg/features/versioned_kube_features.go +++ b/pkg/features/versioned_kube_features.go @@ -368,6 +368,7 @@ var defaultVersionedKubernetesFeatureGates = map[featuregate.Feature]featuregate genericfeatures.WatchFromStorageWithoutResourceVersion: { {Version: version.MustParse("1.27"), Default: false, PreRelease: featuregate.Beta}, + {Version: version.MustParse("1.33"), Default: false, PreRelease: featuregate.Deprecated, LockToDefault: true}, }, genericfeatures.WatchList: { diff --git a/staging/src/k8s.io/apiserver/pkg/features/kube_features.go b/staging/src/k8s.io/apiserver/pkg/features/kube_features.go index 59f9a48479c..a6885cadca9 100644 --- a/staging/src/k8s.io/apiserver/pkg/features/kube_features.go +++ b/staging/src/k8s.io/apiserver/pkg/features/kube_features.go @@ -407,6 +407,7 @@ var defaultVersionedKubernetesFeatureGates = map[featuregate.Feature]featuregate WatchFromStorageWithoutResourceVersion: { {Version: version.MustParse("1.27"), Default: false, PreRelease: featuregate.Beta}, + {Version: version.MustParse("1.33"), Default: false, PreRelease: featuregate.Deprecated, LockToDefault: true}, }, WatchList: { diff --git a/staging/src/k8s.io/apiserver/pkg/storage/cacher/cacher_whitebox_test.go b/staging/src/k8s.io/apiserver/pkg/storage/cacher/cacher_whitebox_test.go index 5378560a6f4..d267503cd73 100644 --- a/staging/src/k8s.io/apiserver/pkg/storage/cacher/cacher_whitebox_test.go +++ b/staging/src/k8s.io/apiserver/pkg/storage/cacher/cacher_whitebox_test.go @@ -594,27 +594,7 @@ func TestWatchCacheBypass(t *testing.T) { Predicate: storage.Everything, }) if err != nil { - t.Errorf("Watch with RV=0 should be served from cache: %v", err) - } - - featuregatetesting.SetFeatureGateDuringTest(t, utilfeature.DefaultFeatureGate, features.WatchFromStorageWithoutResourceVersion, false) - _, err = proxy.Watch(context.TODO(), "pod/ns", storage.ListOptions{ - ResourceVersion: "", - Predicate: storage.Everything, - }) - if err != nil { - t.Errorf("With WatchFromStorageWithoutResourceVersion disabled, watch with unset RV should be served from cache: %v", err) - } - - // Inject error to underlying layer and check if cacher is not bypassed. - backingStorage.injectError(errDummy) - featuregatetesting.SetFeatureGateDuringTest(t, utilfeature.DefaultFeatureGate, features.WatchFromStorageWithoutResourceVersion, true) - _, err = proxy.Watch(context.TODO(), "pod/ns", storage.ListOptions{ - ResourceVersion: "", - Predicate: storage.Everything, - }) - if !errors.Is(err, errDummy) { - t.Errorf("With WatchFromStorageWithoutResourceVersion enabled, watch with unset RV should be served from storage: %v", err) + t.Errorf("Watch without RV=0 should be served from cache: %v", err) } } diff --git a/test/featuregates_linter/test_data/versioned_feature_list.yaml b/test/featuregates_linter/test_data/versioned_feature_list.yaml index 8dbe0a18b3b..c216c50fe8a 100644 --- a/test/featuregates_linter/test_data/versioned_feature_list.yaml +++ b/test/featuregates_linter/test_data/versioned_feature_list.yaml @@ -1482,6 +1482,10 @@ lockToDefault: false preRelease: Beta version: "1.27" + - default: false + lockToDefault: true + preRelease: Deprecated + version: "1.33" - name: WatchList versionedSpecs: - default: false