mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-25 20:53:33 +00:00
Merge pull request #123418 from rikatz/kep-1860-to-beta
Promote LoadBalancerIPMode to Beta
This commit is contained in:
commit
38638adaee
@ -876,9 +876,10 @@ const (
|
|||||||
// Enables In-Place Pod Vertical Scaling
|
// Enables In-Place Pod Vertical Scaling
|
||||||
InPlacePodVerticalScaling featuregate.Feature = "InPlacePodVerticalScaling"
|
InPlacePodVerticalScaling featuregate.Feature = "InPlacePodVerticalScaling"
|
||||||
|
|
||||||
// owner: @Sh4d1,@RyanAoh
|
// owner: @Sh4d1,@RyanAoh,@rikatz
|
||||||
// kep: http://kep.k8s.io/1860
|
// kep: http://kep.k8s.io/1860
|
||||||
// alpha: v1.29
|
// alpha: v1.29
|
||||||
|
// beta: v1.30
|
||||||
// LoadBalancerIPMode enables the IPMode field in the LoadBalancerIngress status of a Service
|
// LoadBalancerIPMode enables the IPMode field in the LoadBalancerIngress status of a Service
|
||||||
LoadBalancerIPMode featuregate.Feature = "LoadBalancerIPMode"
|
LoadBalancerIPMode featuregate.Feature = "LoadBalancerIPMode"
|
||||||
|
|
||||||
@ -1152,7 +1153,7 @@ var defaultKubernetesFeatureGates = map[featuregate.Feature]featuregate.FeatureS
|
|||||||
|
|
||||||
PodIndexLabel: {Default: true, PreRelease: featuregate.Beta},
|
PodIndexLabel: {Default: true, PreRelease: featuregate.Beta},
|
||||||
|
|
||||||
LoadBalancerIPMode: {Default: false, PreRelease: featuregate.Alpha},
|
LoadBalancerIPMode: {Default: true, PreRelease: featuregate.Beta},
|
||||||
|
|
||||||
ImageMaximumGCAge: {Default: false, PreRelease: featuregate.Alpha},
|
ImageMaximumGCAge: {Default: false, PreRelease: featuregate.Alpha},
|
||||||
|
|
||||||
|
@ -11933,8 +11933,10 @@ func TestUpdateServiceLoadBalancerStatus(t *testing.T) {
|
|||||||
defer storage.Delete(ctx, svc.Name, rest.ValidateAllObjectFunc, &metav1.DeleteOptions{})
|
defer storage.Delete(ctx, svc.Name, rest.ValidateAllObjectFunc, &metav1.DeleteOptions{})
|
||||||
|
|
||||||
// prepare status
|
// prepare status
|
||||||
if loadbalancerIPModeInUse(tc.statusBeforeUpdate) {
|
// Test here is negative, because starting with v1.30 the feature gate is enabled by default, so we should
|
||||||
defer featuregatetesting.SetFeatureGateDuringTest(t, utilfeature.DefaultFeatureGate, features.LoadBalancerIPMode, true)()
|
// now disable it to do the proper test
|
||||||
|
if !loadbalancerIPModeInUse(tc.statusBeforeUpdate) {
|
||||||
|
defer featuregatetesting.SetFeatureGateDuringTest(t, utilfeature.DefaultFeatureGate, features.LoadBalancerIPMode, false)()
|
||||||
}
|
}
|
||||||
oldSvc := obj.(*api.Service).DeepCopy()
|
oldSvc := obj.(*api.Service).DeepCopy()
|
||||||
oldSvc.Status = tc.statusBeforeUpdate
|
oldSvc.Status = tc.statusBeforeUpdate
|
||||||
|
@ -32,6 +32,7 @@ import (
|
|||||||
_ "k8s.io/kubernetes/pkg/apis/core/install"
|
_ "k8s.io/kubernetes/pkg/apis/core/install"
|
||||||
"k8s.io/kubernetes/pkg/features"
|
"k8s.io/kubernetes/pkg/features"
|
||||||
utilpointer "k8s.io/utils/pointer"
|
utilpointer "k8s.io/utils/pointer"
|
||||||
|
"k8s.io/utils/ptr"
|
||||||
)
|
)
|
||||||
|
|
||||||
func TestCheckGeneratedNameError(t *testing.T) {
|
func TestCheckGeneratedNameError(t *testing.T) {
|
||||||
@ -115,7 +116,10 @@ func TestServiceStatusStrategy(t *testing.T) {
|
|||||||
newService.Status = api.ServiceStatus{
|
newService.Status = api.ServiceStatus{
|
||||||
LoadBalancer: api.LoadBalancerStatus{
|
LoadBalancer: api.LoadBalancerStatus{
|
||||||
Ingress: []api.LoadBalancerIngress{
|
Ingress: []api.LoadBalancerIngress{
|
||||||
{IP: "127.0.0.2"},
|
{
|
||||||
|
IP: "127.0.0.2",
|
||||||
|
IPMode: ptr.To(api.LoadBalancerIPModeVIP),
|
||||||
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
@ -48,7 +48,7 @@ const resetFieldsNamespace = "reset-fields-namespace"
|
|||||||
var resetFieldsStatusData = map[schema.GroupVersionResource]string{
|
var resetFieldsStatusData = map[schema.GroupVersionResource]string{
|
||||||
gvr("", "v1", "persistentvolumes"): `{"status": {"message": "hello2"}}`,
|
gvr("", "v1", "persistentvolumes"): `{"status": {"message": "hello2"}}`,
|
||||||
gvr("", "v1", "resourcequotas"): `{"status": {"used": {"cpu": "25M"}}}`,
|
gvr("", "v1", "resourcequotas"): `{"status": {"used": {"cpu": "25M"}}}`,
|
||||||
gvr("", "v1", "services"): `{"status": {"loadBalancer": {"ingress": [{"ip": "127.0.0.2"}]}}}`,
|
gvr("", "v1", "services"): `{"status": {"loadBalancer": {"ingress": [{"ip": "127.0.0.2", "ipMode": "VIP"}]}}}`,
|
||||||
gvr("extensions", "v1beta1", "ingresses"): `{"status": {"loadBalancer": {"ingress": [{"ip": "127.0.0.2"}]}}}`,
|
gvr("extensions", "v1beta1", "ingresses"): `{"status": {"loadBalancer": {"ingress": [{"ip": "127.0.0.2"}]}}}`,
|
||||||
gvr("networking.k8s.io", "v1beta1", "ingresses"): `{"status": {"loadBalancer": {"ingress": [{"ip": "127.0.0.2"}]}}}`,
|
gvr("networking.k8s.io", "v1beta1", "ingresses"): `{"status": {"loadBalancer": {"ingress": [{"ip": "127.0.0.2"}]}}}`,
|
||||||
gvr("networking.k8s.io", "v1", "ingresses"): `{"status": {"loadBalancer": {"ingress": [{"ip": "127.0.0.2"}]}}}`,
|
gvr("networking.k8s.io", "v1", "ingresses"): `{"status": {"loadBalancer": {"ingress": [{"ip": "127.0.0.2"}]}}}`,
|
||||||
|
Loading…
Reference in New Issue
Block a user