From 128e189fcd0efd369059593dae55dc317a89a4b8 Mon Sep 17 00:00:00 2001 From: Tim Hockin Date: Wed, 21 Aug 2024 13:07:52 -0700 Subject: [PATCH] Remove AllowServiceLBStatusOnNonLB gate --- pkg/apis/core/validation/validation.go | 2 +- pkg/apis/core/validation/validation_test.go | 17 +---------------- pkg/features/kube_features.go | 9 --------- .../test_data/unversioned_feature_list.yaml | 6 ------ 4 files changed, 2 insertions(+), 32 deletions(-) diff --git a/pkg/apis/core/validation/validation.go b/pkg/apis/core/validation/validation.go index 248d57d237c..2ba34c3f2ce 100644 --- a/pkg/apis/core/validation/validation.go +++ b/pkg/apis/core/validation/validation.go @@ -7476,7 +7476,7 @@ var ( func ValidateLoadBalancerStatus(status *core.LoadBalancerStatus, fldPath *field.Path, spec *core.ServiceSpec) field.ErrorList { allErrs := field.ErrorList{} ingrPath := fldPath.Child("ingress") - if !utilfeature.DefaultFeatureGate.Enabled(features.AllowServiceLBStatusOnNonLB) && spec.Type != core.ServiceTypeLoadBalancer && len(status.Ingress) != 0 { + if spec.Type != core.ServiceTypeLoadBalancer && len(status.Ingress) != 0 { allErrs = append(allErrs, field.Forbidden(ingrPath, "may only be used when `spec.type` is 'LoadBalancer'")) } else { for i, ingress := range status.Ingress { diff --git a/pkg/apis/core/validation/validation_test.go b/pkg/apis/core/validation/validation_test.go index 18bbdecd524..9d8f539023b 100644 --- a/pkg/apis/core/validation/validation_test.go +++ b/pkg/apis/core/validation/validation_test.go @@ -24048,14 +24048,12 @@ func TestValidateLoadBalancerStatus(t *testing.T) { testCases := []struct { name string ipModeEnabled bool - nonLBAllowed bool tweakLBStatus func(s *core.LoadBalancerStatus) tweakSvcSpec func(s *core.ServiceSpec) numErrs int }{ { - name: "type is not LB", - nonLBAllowed: false, + name: "type is not LB", tweakSvcSpec: func(s *core.ServiceSpec) { s.Type = core.ServiceTypeClusterIP }, @@ -24065,18 +24063,6 @@ func TestValidateLoadBalancerStatus(t *testing.T) { }} }, numErrs: 1, - }, { - name: "type is not LB. back-compat", - nonLBAllowed: true, - tweakSvcSpec: func(s *core.ServiceSpec) { - s.Type = core.ServiceTypeClusterIP - }, - tweakLBStatus: func(s *core.LoadBalancerStatus) { - s.Ingress = []core.LoadBalancerIngress{{ - IP: "1.2.3.4", - }} - }, - numErrs: 0, }, { name: "valid vip ipMode", ipModeEnabled: true, @@ -24139,7 +24125,6 @@ func TestValidateLoadBalancerStatus(t *testing.T) { for _, tc := range testCases { t.Run(tc.name, func(t *testing.T) { featuregatetesting.SetFeatureGateDuringTest(t, utilfeature.DefaultFeatureGate, features.LoadBalancerIPMode, tc.ipModeEnabled) - featuregatetesting.SetFeatureGateDuringTest(t, utilfeature.DefaultFeatureGate, features.AllowServiceLBStatusOnNonLB, tc.nonLBAllowed) status := core.LoadBalancerStatus{} tc.tweakLBStatus(&status) spec := core.ServiceSpec{Type: core.ServiceTypeLoadBalancer} diff --git a/pkg/features/kube_features.go b/pkg/features/kube_features.go index b0dd04ee1e4..924b65252a6 100644 --- a/pkg/features/kube_features.go +++ b/pkg/features/kube_features.go @@ -52,13 +52,6 @@ const ( // with DNS names. AllowDNSOnlyNodeCSR featuregate.Feature = "AllowDNSOnlyNodeCSR" - // owner: @thockin - // deprecated: v1.29 - // - // Enables Service.status.ingress.loadBanace to be set on - // services of types other than LoadBalancer. - AllowServiceLBStatusOnNonLB featuregate.Feature = "AllowServiceLBStatusOnNonLB" - // owner: @bswartz // alpha: v1.18 // beta: v1.24 @@ -1014,8 +1007,6 @@ var defaultKubernetesFeatureGates = map[featuregate.Feature]featuregate.FeatureS AllowDNSOnlyNodeCSR: {Default: false, PreRelease: featuregate.Deprecated}, // remove after 1.33 - AllowServiceLBStatusOnNonLB: {Default: false, PreRelease: featuregate.Deprecated}, // remove after 1.29 - AnyVolumeDataSource: {Default: true, PreRelease: featuregate.Beta}, // on by default in 1.24 AppArmor: {Default: true, PreRelease: featuregate.GA, LockToDefault: true}, // remove in 1.33 diff --git a/test/featuregates_linter/test_data/unversioned_feature_list.yaml b/test/featuregates_linter/test_data/unversioned_feature_list.yaml index 8ed6dfe22e3..b1ece6fceb5 100644 --- a/test/featuregates_linter/test_data/unversioned_feature_list.yaml +++ b/test/featuregates_linter/test_data/unversioned_feature_list.yaml @@ -22,12 +22,6 @@ lockToDefault: false preRelease: Deprecated version: "" -- name: AllowServiceLBStatusOnNonLB - versionedSpecs: - - default: false - lockToDefault: false - preRelease: Deprecated - version: "" - name: AnonymousAuthConfigurableEndpoints versionedSpecs: - default: false