diff --git a/pkg/features/kube_features.go b/pkg/features/kube_features.go index 3346b6e1878..a024ec5c835 100644 --- a/pkg/features/kube_features.go +++ b/pkg/features/kube_features.go @@ -18,7 +18,6 @@ package features import ( "k8s.io/apimachinery/pkg/util/runtime" - genericfeatures "k8s.io/apiserver/pkg/features" utilfeature "k8s.io/apiserver/pkg/util/feature" clientfeatures "k8s.io/client-go/features" "k8s.io/component-base/featuregate" @@ -960,11 +959,4 @@ func init() { // // Entries are separated from each other with blank lines to avoid sweeping gofmt changes // when adding or removing one entry. -var defaultKubernetesFeatureGates = map[featuregate.Feature]featuregate.FeatureSpec{ - // inherited features from generic apiserver, relisted here to get a conflict if it is changed - // unintentionally on either side: - - genericfeatures.KMSv1: {Default: false, PreRelease: featuregate.Deprecated}, - - InPlacePodVerticalScaling: {Default: false, PreRelease: featuregate.Alpha}, -} +var defaultKubernetesFeatureGates = map[featuregate.Feature]featuregate.FeatureSpec{} diff --git a/pkg/features/versioned_kube_features.go b/pkg/features/versioned_kube_features.go index 14652a2be66..6f5d9046289 100644 --- a/pkg/features/versioned_kube_features.go +++ b/pkg/features/versioned_kube_features.go @@ -250,6 +250,11 @@ var defaultVersionedKubernetesFeatureGates = map[featuregate.Feature]featuregate {Version: version.MustParse("1.24"), Default: true, PreRelease: featuregate.GA, LockToDefault: true}, }, + genericfeatures.KMSv1: { + {Version: version.MustParse("1.28"), Default: true, PreRelease: featuregate.Deprecated}, + {Version: version.MustParse("1.29"), Default: false, PreRelease: featuregate.Deprecated}, + }, + genericfeatures.MutatingAdmissionPolicy: { {Version: version.MustParse("1.30"), Default: false, PreRelease: featuregate.Alpha}, }, @@ -362,6 +367,10 @@ var defaultVersionedKubernetesFeatureGates = map[featuregate.Feature]featuregate {Version: version.MustParse("1.31"), Default: false, PreRelease: featuregate.Alpha}, }, + InPlacePodVerticalScaling: { + {Version: version.MustParse("1.27"), Default: false, PreRelease: featuregate.Alpha}, + }, + InTreePluginPortworxUnregister: { {Version: version.MustParse("1.23"), Default: false, PreRelease: featuregate.Alpha}, }, 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 ced24a03d45..50ac6930b2e 100644 --- a/staging/src/k8s.io/apiserver/pkg/features/kube_features.go +++ b/staging/src/k8s.io/apiserver/pkg/features/kube_features.go @@ -363,6 +363,11 @@ var defaultVersionedKubernetesFeatureGates = map[featuregate.Feature]featuregate {Version: version.MustParse("1.24"), Default: true, PreRelease: featuregate.GA, LockToDefault: true}, }, + KMSv1: { + {Version: version.MustParse("1.28"), Default: true, PreRelease: featuregate.Deprecated}, + {Version: version.MustParse("1.29"), Default: false, PreRelease: featuregate.Deprecated}, + }, + MutatingAdmissionPolicy: { {Version: version.MustParse("1.30"), Default: false, PreRelease: featuregate.Alpha}, }, @@ -448,9 +453,6 @@ var defaultVersionedKubernetesFeatureGates = map[featuregate.Feature]featuregate }, } -// defaultKubernetesFeatureGates consists of all known Kubernetes-specific feature keys. -// To add a new feature, define a key for it above and add it here. The features will be -// available throughout Kubernetes binaries. -var defaultKubernetesFeatureGates = map[featuregate.Feature]featuregate.FeatureSpec{ - KMSv1: {Default: false, PreRelease: featuregate.Deprecated}, -} +// defaultKubernetesFeatureGates consists of legacy unversioned Kubernetes-specific feature keys. +// Please do not add to this struct and use defaultVersionedKubernetesFeatureGates instead. +var defaultKubernetesFeatureGates = map[featuregate.Feature]featuregate.FeatureSpec{} diff --git a/test/featuregates_linter/test_data/unversioned_feature_list.yaml b/test/featuregates_linter/test_data/unversioned_feature_list.yaml index 562275ed2d7..4296ca06761 100644 --- a/test/featuregates_linter/test_data/unversioned_feature_list.yaml +++ b/test/featuregates_linter/test_data/unversioned_feature_list.yaml @@ -10,18 +10,6 @@ lockToDefault: false preRelease: Beta version: "" -- name: InPlacePodVerticalScaling - versionedSpecs: - - default: false - lockToDefault: false - preRelease: Alpha - version: "" -- name: KMSv1 - versionedSpecs: - - default: false - lockToDefault: false - preRelease: Deprecated - version: "" - name: LoggingAlphaOptions versionedSpecs: - default: false diff --git a/test/featuregates_linter/test_data/versioned_feature_list.yaml b/test/featuregates_linter/test_data/versioned_feature_list.yaml index 31ab0f31838..e7de7567a78 100644 --- a/test/featuregates_linter/test_data/versioned_feature_list.yaml +++ b/test/featuregates_linter/test_data/versioned_feature_list.yaml @@ -462,6 +462,12 @@ lockToDefault: false preRelease: Alpha version: "1.31" +- name: InPlacePodVerticalScaling + versionedSpecs: + - default: false + lockToDefault: false + preRelease: Alpha + version: "1.27" - name: InTreePluginPortworxUnregister versionedSpecs: - default: false @@ -518,6 +524,16 @@ lockToDefault: false preRelease: Beta version: "1.31" +- name: KMSv1 + versionedSpecs: + - default: true + lockToDefault: false + preRelease: Deprecated + version: "1.28" + - default: false + lockToDefault: false + preRelease: Deprecated + version: "1.29" - name: KubeletCgroupDriverFromCRI versionedSpecs: - default: false