Merge pull request #103467 from thockin/svc-alloc-lb-nodeports-bug

Fix small bug with AllocateLoadBalancerNodePorts
This commit is contained in:
Kubernetes Prow Robot
2021-07-07 17:05:40 -07:00
committed by GitHub
8 changed files with 96 additions and 54 deletions

View File

@@ -66,6 +66,7 @@ func SetTypeClusterIP(svc *api.Service) {
}
svc.Spec.ExternalName = ""
svc.Spec.ExternalTrafficPolicy = ""
svc.Spec.AllocateLoadBalancerNodePorts = nil
}
// SetTypeNodePort sets the service type to NodePort and clears other fields.
@@ -73,12 +74,14 @@ func SetTypeNodePort(svc *api.Service) {
svc.Spec.Type = api.ServiceTypeNodePort
svc.Spec.ExternalTrafficPolicy = api.ServiceExternalTrafficPolicyTypeCluster
svc.Spec.ExternalName = ""
svc.Spec.AllocateLoadBalancerNodePorts = nil
}
// SetTypeLoadBalancer sets the service type to LoadBalancer and clears other fields.
func SetTypeLoadBalancer(svc *api.Service) {
svc.Spec.Type = api.ServiceTypeLoadBalancer
svc.Spec.ExternalTrafficPolicy = api.ServiceExternalTrafficPolicyTypeCluster
svc.Spec.AllocateLoadBalancerNodePorts = utilpointer.BoolPtr(true)
svc.Spec.ExternalName = ""
}
@@ -89,16 +92,7 @@ func SetTypeExternalName(svc *api.Service) {
svc.Spec.ExternalTrafficPolicy = ""
svc.Spec.ClusterIP = ""
svc.Spec.ClusterIPs = nil
}
// SetTypeExternalNameTrue sets the allocate LB node port to true.
func SetAllocateLBNodePortTrue(svc *api.Service) {
svc.Spec.AllocateLoadBalancerNodePorts = utilpointer.BoolPtr(true)
}
// SetTypeExternalNameFalse sets the allocate LB node port to false.
func SetAllocateLBNodePortFalse(svc *api.Service) {
svc.Spec.AllocateLoadBalancerNodePorts = utilpointer.BoolPtr(false)
svc.Spec.AllocateLoadBalancerNodePorts = nil
}
// SetPorts sets the service ports list.
@@ -160,3 +154,10 @@ func SetInternalTrafficPolicy(policy api.ServiceInternalTrafficPolicyType) Tweak
svc.Spec.InternalTrafficPolicy = &policy
}
}
// SetAllocateLoadBalancerNodePorts sets the allocate LB node port field.
func SetAllocateLoadBalancerNodePorts(val bool) Tweak {
return func(svc *api.Service) {
svc.Spec.AllocateLoadBalancerNodePorts = utilpointer.BoolPtr(val)
}
}