From 762b458700be90cd277dcde0a6557df1b86de4f8 Mon Sep 17 00:00:00 2001 From: Jefftree Date: Tue, 23 Sep 2025 18:37:45 +0000 Subject: [PATCH] Lock AggregatedDiscoveryRemoveBetaType to true --- pkg/features/kube_features.go | 1 + .../pkg/endpoints/discovery/aggregated/handler_test.go | 2 ++ .../pkg/endpoints/discovery/aggregated/wrapper_test.go | 2 ++ staging/src/k8s.io/apiserver/pkg/features/kube_features.go | 1 + .../reference/versioned_feature_list.yaml | 4 ++++ 5 files changed, 10 insertions(+) diff --git a/pkg/features/kube_features.go b/pkg/features/kube_features.go index 64dd7459212..6ed3db97d83 100644 --- a/pkg/features/kube_features.go +++ b/pkg/features/kube_features.go @@ -1833,6 +1833,7 @@ var defaultVersionedKubernetesFeatureGates = map[featuregate.Feature]featuregate genericfeatures.AggregatedDiscoveryRemoveBetaType: { {Version: version.MustParse("1.0"), Default: false, PreRelease: featuregate.GA}, {Version: version.MustParse("1.33"), Default: true, PreRelease: featuregate.Deprecated}, + {Version: version.MustParse("1.35"), Default: true, PreRelease: featuregate.Deprecated, LockToDefault: true}, }, genericfeatures.AllowParsingUserUIDFromCertAuth: { diff --git a/staging/src/k8s.io/apiserver/pkg/endpoints/discovery/aggregated/handler_test.go b/staging/src/k8s.io/apiserver/pkg/endpoints/discovery/aggregated/handler_test.go index 4eb8e123b47..7f132055fb0 100644 --- a/staging/src/k8s.io/apiserver/pkg/endpoints/discovery/aggregated/handler_test.go +++ b/staging/src/k8s.io/apiserver/pkg/endpoints/discovery/aggregated/handler_test.go @@ -39,6 +39,7 @@ import ( "k8s.io/apimachinery/pkg/runtime/schema" runtimeserializer "k8s.io/apimachinery/pkg/runtime/serializer" utilruntime "k8s.io/apimachinery/pkg/util/runtime" + utilversion "k8s.io/apimachinery/pkg/util/version" "k8s.io/apimachinery/pkg/version" apidiscoveryv2conversion "k8s.io/apiserver/pkg/apis/apidiscovery/v2" discoveryendpoint "k8s.io/apiserver/pkg/endpoints/discovery/aggregated" @@ -190,6 +191,7 @@ func TestBasicResponseProtobuf(t *testing.T) { // V2Beta1 should still be served func TestV2Beta1SkewSupport(t *testing.T) { + featuregatetesting.SetFeatureGateEmulationVersionDuringTest(t, utilfeature.DefaultFeatureGate, utilversion.MustParse("1.34")) featuregatetesting.SetFeatureGateDuringTest(t, utilfeature.DefaultFeatureGate, genericfeatures.AggregatedDiscoveryRemoveBetaType, false) manager := discoveryendpoint.NewResourceManager("apis") diff --git a/staging/src/k8s.io/apiserver/pkg/endpoints/discovery/aggregated/wrapper_test.go b/staging/src/k8s.io/apiserver/pkg/endpoints/discovery/aggregated/wrapper_test.go index 5e25438c29e..7541e6ed20c 100644 --- a/staging/src/k8s.io/apiserver/pkg/endpoints/discovery/aggregated/wrapper_test.go +++ b/staging/src/k8s.io/apiserver/pkg/endpoints/discovery/aggregated/wrapper_test.go @@ -24,6 +24,7 @@ import ( "testing" "github.com/stretchr/testify/assert" + "k8s.io/apimachinery/pkg/util/version" "k8s.io/apiserver/pkg/endpoints/request" genericfeatures "k8s.io/apiserver/pkg/features" utilfeature "k8s.io/apiserver/pkg/util/feature" @@ -61,6 +62,7 @@ func (f fakeHTTPHandler) ServeHTTP(resp http.ResponseWriter, req *http.Request) } func TestAggregationEnabled(t *testing.T) { + featuregatetesting.SetFeatureGateEmulationVersionDuringTest(t, utilfeature.DefaultFeatureGate, version.MustParse("1.34")) unaggregated := fakeHTTPHandler{data: "unaggregated"} aggregated := fakeHTTPHandler{data: "aggregated"} wrapped := WrapAggregatedDiscoveryToHandler(unaggregated, aggregated) 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 3e1cd03cae8..eb7ffe88b37 100644 --- a/staging/src/k8s.io/apiserver/pkg/features/kube_features.go +++ b/staging/src/k8s.io/apiserver/pkg/features/kube_features.go @@ -319,6 +319,7 @@ var defaultVersionedKubernetesFeatureGates = map[featuregate.Feature]featuregate AggregatedDiscoveryRemoveBetaType: { {Version: version.MustParse("1.0"), Default: false, PreRelease: featuregate.GA}, {Version: version.MustParse("1.33"), Default: true, PreRelease: featuregate.Deprecated}, + {Version: version.MustParse("1.35"), Default: true, PreRelease: featuregate.Deprecated, LockToDefault: true}, }, AllowParsingUserUIDFromCertAuth: { diff --git a/test/compatibility_lifecycle/reference/versioned_feature_list.yaml b/test/compatibility_lifecycle/reference/versioned_feature_list.yaml index c361100ef21..48f79001b86 100644 --- a/test/compatibility_lifecycle/reference/versioned_feature_list.yaml +++ b/test/compatibility_lifecycle/reference/versioned_feature_list.yaml @@ -11,6 +11,10 @@ lockToDefault: false preRelease: Deprecated version: "1.33" + - default: true + lockToDefault: true + preRelease: Deprecated + version: "1.35" - name: AllowDNSOnlyNodeCSR versionedSpecs: - default: true