mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-08-03 09:22:44 +00:00
Remove AllowServiceLBStatusOnNonLB gate
This commit is contained in:
parent
08bd75c605
commit
128e189fcd
@ -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
|
||||||
|
Loading…
Reference in New Issue
Block a user