mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-08-04 01:40:07 +00:00
Revert "Remove AllowServiceLBStatusOnNonLB gate"
This reverts commit 128e189fcd
.
This commit is contained in:
parent
b7fb82f9d8
commit
06321f4a0e
@ -7491,7 +7491,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 spec.Type != core.ServiceTypeLoadBalancer && len(status.Ingress) != 0 {
|
if !utilfeature.DefaultFeatureGate.Enabled(features.AllowServiceLBStatusOnNonLB) && 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 {
|
||||||
|
@ -24044,12 +24044,14 @@ 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
|
||||||
},
|
},
|
||||||
@ -24059,6 +24061,18 @@ 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,
|
||||||
@ -24124,6 +24138,7 @@ func TestValidateLoadBalancerStatus(t *testing.T) {
|
|||||||
featuregatetesting.SetFeatureGateEmulationVersionDuringTest(t, utilfeature.DefaultFeatureGate, version.MustParse("1.31"))
|
featuregatetesting.SetFeatureGateEmulationVersionDuringTest(t, utilfeature.DefaultFeatureGate, version.MustParse("1.31"))
|
||||||
}
|
}
|
||||||
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}
|
||||||
|
@ -48,6 +48,13 @@ const (
|
|||||||
// Allow spec.terminationGracePeriodSeconds to be overridden by MaxPodGracePeriodSeconds in soft evictions.
|
// Allow spec.terminationGracePeriodSeconds to be overridden by MaxPodGracePeriodSeconds in soft evictions.
|
||||||
AllowOverwriteTerminationGracePeriodSeconds featuregate.Feature = "AllowOverwriteTerminationGracePeriodSeconds"
|
AllowOverwriteTerminationGracePeriodSeconds featuregate.Feature = "AllowOverwriteTerminationGracePeriodSeconds"
|
||||||
|
|
||||||
|
// 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
|
||||||
//
|
//
|
||||||
// Enables usage of any object for volume data source in PVCs
|
// Enables usage of any object for volume data source in PVCs
|
||||||
|
Loading…
Reference in New Issue
Block a user