mirror of
				https://github.com/optim-enterprises-bv/kubernetes.git
				synced 2025-11-04 04:08:16 +00:00 
			
		
		
		
	Remove AllowServiceLBStatusOnNonLB gate
This commit is contained in:
		@@ -7476,7 +7476,7 @@ var (
 | 
				
			|||||||
func ValidateLoadBalancerStatus(status *core.LoadBalancerStatus, fldPath *field.Path, spec *core.ServiceSpec) field.ErrorList {
 | 
					func ValidateLoadBalancerStatus(status *core.LoadBalancerStatus, fldPath *field.Path, spec *core.ServiceSpec) field.ErrorList {
 | 
				
			||||||
	allErrs := field.ErrorList{}
 | 
						allErrs := field.ErrorList{}
 | 
				
			||||||
	ingrPath := fldPath.Child("ingress")
 | 
						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'"))
 | 
							allErrs = append(allErrs, field.Forbidden(ingrPath, "may only be used when `spec.type` is 'LoadBalancer'"))
 | 
				
			||||||
	} else {
 | 
						} else {
 | 
				
			||||||
		for i, ingress := range status.Ingress {
 | 
							for i, ingress := range status.Ingress {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -24048,14 +24048,12 @@ func TestValidateLoadBalancerStatus(t *testing.T) {
 | 
				
			|||||||
	testCases := []struct {
 | 
						testCases := []struct {
 | 
				
			||||||
		name          string
 | 
							name          string
 | 
				
			||||||
		ipModeEnabled bool
 | 
							ipModeEnabled bool
 | 
				
			||||||
		nonLBAllowed  bool
 | 
					 | 
				
			||||||
		tweakLBStatus func(s *core.LoadBalancerStatus)
 | 
							tweakLBStatus func(s *core.LoadBalancerStatus)
 | 
				
			||||||
		tweakSvcSpec  func(s *core.ServiceSpec)
 | 
							tweakSvcSpec  func(s *core.ServiceSpec)
 | 
				
			||||||
		numErrs       int
 | 
							numErrs       int
 | 
				
			||||||
	}{
 | 
						}{
 | 
				
			||||||
		{
 | 
							{
 | 
				
			||||||
			name:         "type is not LB",
 | 
								name: "type is not LB",
 | 
				
			||||||
			nonLBAllowed: false,
 | 
					 | 
				
			||||||
			tweakSvcSpec: func(s *core.ServiceSpec) {
 | 
								tweakSvcSpec: func(s *core.ServiceSpec) {
 | 
				
			||||||
				s.Type = core.ServiceTypeClusterIP
 | 
									s.Type = core.ServiceTypeClusterIP
 | 
				
			||||||
			},
 | 
								},
 | 
				
			||||||
@@ -24065,18 +24063,6 @@ func TestValidateLoadBalancerStatus(t *testing.T) {
 | 
				
			|||||||
				}}
 | 
									}}
 | 
				
			||||||
			},
 | 
								},
 | 
				
			||||||
			numErrs: 1,
 | 
								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",
 | 
								name:          "valid vip ipMode",
 | 
				
			||||||
			ipModeEnabled: true,
 | 
								ipModeEnabled: true,
 | 
				
			||||||
@@ -24139,7 +24125,6 @@ func TestValidateLoadBalancerStatus(t *testing.T) {
 | 
				
			|||||||
	for _, tc := range testCases {
 | 
						for _, tc := range testCases {
 | 
				
			||||||
		t.Run(tc.name, func(t *testing.T) {
 | 
							t.Run(tc.name, func(t *testing.T) {
 | 
				
			||||||
			featuregatetesting.SetFeatureGateDuringTest(t, utilfeature.DefaultFeatureGate, features.LoadBalancerIPMode, tc.ipModeEnabled)
 | 
								featuregatetesting.SetFeatureGateDuringTest(t, utilfeature.DefaultFeatureGate, features.LoadBalancerIPMode, tc.ipModeEnabled)
 | 
				
			||||||
			featuregatetesting.SetFeatureGateDuringTest(t, utilfeature.DefaultFeatureGate, features.AllowServiceLBStatusOnNonLB, tc.nonLBAllowed)
 | 
					 | 
				
			||||||
			status := core.LoadBalancerStatus{}
 | 
								status := core.LoadBalancerStatus{}
 | 
				
			||||||
			tc.tweakLBStatus(&status)
 | 
								tc.tweakLBStatus(&status)
 | 
				
			||||||
			spec := core.ServiceSpec{Type: core.ServiceTypeLoadBalancer}
 | 
								spec := core.ServiceSpec{Type: core.ServiceTypeLoadBalancer}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -52,13 +52,6 @@ const (
 | 
				
			|||||||
	// with DNS names.
 | 
						// with DNS names.
 | 
				
			||||||
	AllowDNSOnlyNodeCSR featuregate.Feature = "AllowDNSOnlyNodeCSR"
 | 
						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
 | 
						// owner: @bswartz
 | 
				
			||||||
	// alpha: v1.18
 | 
						// alpha: v1.18
 | 
				
			||||||
	// beta: v1.24
 | 
						// beta: v1.24
 | 
				
			||||||
@@ -1014,8 +1007,6 @@ var defaultKubernetesFeatureGates = map[featuregate.Feature]featuregate.FeatureS
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
	AllowDNSOnlyNodeCSR: {Default: false, PreRelease: featuregate.Deprecated}, // remove after 1.33
 | 
						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
 | 
						AnyVolumeDataSource: {Default: true, PreRelease: featuregate.Beta}, // on by default in 1.24
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	AppArmor: {Default: true, PreRelease: featuregate.GA, LockToDefault: true}, // remove in 1.33
 | 
						AppArmor: {Default: true, PreRelease: featuregate.GA, LockToDefault: true}, // remove in 1.33
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -22,12 +22,6 @@
 | 
				
			|||||||
    lockToDefault: false
 | 
					    lockToDefault: false
 | 
				
			||||||
    preRelease: Deprecated
 | 
					    preRelease: Deprecated
 | 
				
			||||||
    version: ""
 | 
					    version: ""
 | 
				
			||||||
- name: AllowServiceLBStatusOnNonLB
 | 
					 | 
				
			||||||
  versionedSpecs:
 | 
					 | 
				
			||||||
  - default: false
 | 
					 | 
				
			||||||
    lockToDefault: false
 | 
					 | 
				
			||||||
    preRelease: Deprecated
 | 
					 | 
				
			||||||
    version: ""
 | 
					 | 
				
			||||||
- name: AnonymousAuthConfigurableEndpoints
 | 
					- name: AnonymousAuthConfigurableEndpoints
 | 
				
			||||||
  versionedSpecs:
 | 
					  versionedSpecs:
 | 
				
			||||||
  - default: false
 | 
					  - default: false
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user