diff --git a/pkg/apis/core/v1/defaults.go b/pkg/apis/core/v1/defaults.go index dc936458708..466ab441bb3 100644 --- a/pkg/apis/core/v1/defaults.go +++ b/pkg/apis/core/v1/defaults.go @@ -326,20 +326,17 @@ func SetDefaults_HTTPGetAction(obj *v1.HTTPGetAction) { // SetDefaults_Namespace adds a default label for all namespaces func SetDefaults_Namespace(obj *v1.Namespace) { - // TODO, remove the feature gate in 1.22 // we can't SetDefaults for nameless namespaces (generateName). // This code needs to be kept in sync with the implementation that exists // in Namespace Canonicalize strategy (pkg/registry/core/namespace) // note that this can result in many calls to feature enablement in some cases, but // we assume that there's no real cost there. - if utilfeature.DefaultFeatureGate.Enabled(features.NamespaceDefaultLabelName) { - if len(obj.Name) > 0 { - if obj.Labels == nil { - obj.Labels = map[string]string{} - } - obj.Labels[v1.LabelMetadataName] = obj.Name + if len(obj.Name) > 0 { + if obj.Labels == nil { + obj.Labels = map[string]string{} } + obj.Labels[v1.LabelMetadataName] = obj.Name } } diff --git a/pkg/features/kube_features.go b/pkg/features/kube_features.go index bcc80f8fd44..a9622284e9b 100644 --- a/pkg/features/kube_features.go +++ b/pkg/features/kube_features.go @@ -695,14 +695,6 @@ const ( // Enable POD resources API to return allocatable resources KubeletPodResourcesGetAllocatable featuregate.Feature = "KubeletPodResourcesGetAllocatable" - // owner: @jayunit100 @abhiraut @rikatz - // kep: http://kep.k8s.io/2161 - // beta: v1.21 - // ga: v1.22 - // - // Labels all namespaces with a default label "kubernetes.io/metadata.name: " - NamespaceDefaultLabelName featuregate.Feature = "NamespaceDefaultLabelName" - // owner: @fengzixu // alpha: v1.21 // @@ -956,7 +948,6 @@ var defaultKubernetesFeatureGates = map[featuregate.Feature]featuregate.FeatureS LogarithmicScaleDown: {Default: true, PreRelease: featuregate.Beta}, SuspendJob: {Default: true, PreRelease: featuregate.Beta}, KubeletPodResourcesGetAllocatable: {Default: true, PreRelease: featuregate.Beta}, - NamespaceDefaultLabelName: {Default: true, PreRelease: featuregate.GA, LockToDefault: true}, // remove in 1.24 CSIVolumeHealth: {Default: false, PreRelease: featuregate.Alpha}, WindowsHostProcessContainers: {Default: true, PreRelease: featuregate.Beta}, DisableCloudProviders: {Default: false, PreRelease: featuregate.Alpha}, diff --git a/pkg/registry/core/namespace/strategy.go b/pkg/registry/core/namespace/strategy.go index 9147ada3637..e172a589da4 100644 --- a/pkg/registry/core/namespace/strategy.go +++ b/pkg/registry/core/namespace/strategy.go @@ -28,11 +28,9 @@ import ( "k8s.io/apiserver/pkg/registry/generic" apistorage "k8s.io/apiserver/pkg/storage" "k8s.io/apiserver/pkg/storage/names" - utilfeature "k8s.io/apiserver/pkg/util/feature" "k8s.io/kubernetes/pkg/api/legacyscheme" api "k8s.io/kubernetes/pkg/apis/core" "k8s.io/kubernetes/pkg/apis/core/validation" - "k8s.io/kubernetes/pkg/features" "sigs.k8s.io/structured-merge-diff/v4/fieldpath" ) @@ -125,12 +123,10 @@ func (namespaceStrategy) Canonicalize(obj runtime.Object) { // GET: // Only defaulting will be applied. ns := obj.(*api.Namespace) - if utilfeature.DefaultFeatureGate.Enabled(features.NamespaceDefaultLabelName) { - if ns.Labels == nil { - ns.Labels = map[string]string{} - } - ns.Labels[v1.LabelMetadataName] = ns.Name + if ns.Labels == nil { + ns.Labels = map[string]string{} } + ns.Labels[v1.LabelMetadataName] = ns.Name } // AllowCreateOnUpdate is false for namespaces. diff --git a/pkg/registry/core/namespace/strategy_test.go b/pkg/registry/core/namespace/strategy_test.go index d4597accac7..115843e87f7 100644 --- a/pkg/registry/core/namespace/strategy_test.go +++ b/pkg/registry/core/namespace/strategy_test.go @@ -22,11 +22,8 @@ import ( v1 "k8s.io/api/core/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" genericapirequest "k8s.io/apiserver/pkg/endpoints/request" - utilfeature "k8s.io/apiserver/pkg/util/feature" - featuregatetesting "k8s.io/component-base/featuregate/testing" apitesting "k8s.io/kubernetes/pkg/api/testing" api "k8s.io/kubernetes/pkg/apis/core" - "k8s.io/kubernetes/pkg/features" // ensure types are installed _ "k8s.io/kubernetes/pkg/apis/core/install" @@ -73,8 +70,6 @@ func TestNamespaceStrategy(t *testing.T) { } func TestNamespaceDefaultLabelCanonicalize(t *testing.T) { - defer featuregatetesting.SetFeatureGateDuringTest(t, utilfeature.DefaultFeatureGate, features.NamespaceDefaultLabelName, true)() - namespace := &api.Namespace{ ObjectMeta: metav1.ObjectMeta{Name: "foo"}, }