Merge pull request #110991 from thockin/svc-typenames-starTrafficPolicyType

Svc typenames star traffic policy type
This commit is contained in:
Kubernetes Prow Robot 2022-12-12 18:47:33 -08:00 committed by GitHub
commit 923ee203f3
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
43 changed files with 1218 additions and 1205 deletions

View File

@ -72,7 +72,7 @@ func SetTypeClusterIP(svc *api.Service) {
// SetTypeNodePort sets the service type to NodePort and clears other fields.
func SetTypeNodePort(svc *api.Service) {
svc.Spec.Type = api.ServiceTypeNodePort
svc.Spec.ExternalTrafficPolicy = api.ServiceExternalTrafficPolicyTypeCluster
svc.Spec.ExternalTrafficPolicy = api.ServiceExternalTrafficPolicyCluster
svc.Spec.ExternalName = ""
svc.Spec.AllocateLoadBalancerNodePorts = nil
internalTrafficPolicy := api.ServiceInternalTrafficPolicyCluster
@ -82,7 +82,7 @@ func SetTypeNodePort(svc *api.Service) {
// 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.ExternalTrafficPolicy = api.ServiceExternalTrafficPolicyCluster
svc.Spec.AllocateLoadBalancerNodePorts = utilpointer.BoolPtr(true)
svc.Spec.ExternalName = ""
internalTrafficPolicy := api.ServiceInternalTrafficPolicyCluster
@ -177,14 +177,14 @@ func SetNodePorts(values ...int) Tweak {
}
// SetInternalTrafficPolicy sets the internalTrafficPolicy field for a Service.
func SetInternalTrafficPolicy(policy api.ServiceInternalTrafficPolicyType) Tweak {
func SetInternalTrafficPolicy(policy api.ServiceInternalTrafficPolicy) Tweak {
return func(svc *api.Service) {
svc.Spec.InternalTrafficPolicy = &policy
}
}
// SetExternalTrafficPolicy sets the externalTrafficPolicy field for a Service.
func SetExternalTrafficPolicy(policy api.ServiceExternalTrafficPolicyType) Tweak {
func SetExternalTrafficPolicy(policy api.ServiceExternalTrafficPolicy) Tweak {
return func(svc *api.Service) {
svc.Spec.ExternalTrafficPolicy = policy
}

View File

@ -74,7 +74,7 @@ func RequestsOnlyLocalTraffic(service *api.Service) bool {
return false
}
return service.Spec.ExternalTrafficPolicy == api.ServiceExternalTrafficPolicyTypeLocal
return service.Spec.ExternalTrafficPolicy == api.ServiceExternalTrafficPolicyLocal
}
// NeedsHealthCheck checks if service needs health check.

View File

@ -152,25 +152,25 @@ func TestRequestsOnlyLocalTraffic(t *testing.T) {
checkRequestsOnlyLocalTraffic(false, &api.Service{
Spec: api.ServiceSpec{
Type: api.ServiceTypeNodePort,
ExternalTrafficPolicy: api.ServiceExternalTrafficPolicyTypeCluster,
ExternalTrafficPolicy: api.ServiceExternalTrafficPolicyCluster,
},
})
checkRequestsOnlyLocalTraffic(true, &api.Service{
Spec: api.ServiceSpec{
Type: api.ServiceTypeNodePort,
ExternalTrafficPolicy: api.ServiceExternalTrafficPolicyTypeLocal,
ExternalTrafficPolicy: api.ServiceExternalTrafficPolicyLocal,
},
})
checkRequestsOnlyLocalTraffic(false, &api.Service{
Spec: api.ServiceSpec{
Type: api.ServiceTypeLoadBalancer,
ExternalTrafficPolicy: api.ServiceExternalTrafficPolicyTypeCluster,
ExternalTrafficPolicy: api.ServiceExternalTrafficPolicyCluster,
},
})
checkRequestsOnlyLocalTraffic(true, &api.Service{
Spec: api.ServiceSpec{
Type: api.ServiceTypeLoadBalancer,
ExternalTrafficPolicy: api.ServiceExternalTrafficPolicyTypeLocal,
ExternalTrafficPolicy: api.ServiceExternalTrafficPolicyLocal,
},
})
}
@ -192,25 +192,25 @@ func TestNeedsHealthCheck(t *testing.T) {
checkNeedsHealthCheck(false, &api.Service{
Spec: api.ServiceSpec{
Type: api.ServiceTypeNodePort,
ExternalTrafficPolicy: api.ServiceExternalTrafficPolicyTypeCluster,
ExternalTrafficPolicy: api.ServiceExternalTrafficPolicyCluster,
},
})
checkNeedsHealthCheck(false, &api.Service{
Spec: api.ServiceSpec{
Type: api.ServiceTypeNodePort,
ExternalTrafficPolicy: api.ServiceExternalTrafficPolicyTypeLocal,
ExternalTrafficPolicy: api.ServiceExternalTrafficPolicyLocal,
},
})
checkNeedsHealthCheck(false, &api.Service{
Spec: api.ServiceSpec{
Type: api.ServiceTypeLoadBalancer,
ExternalTrafficPolicy: api.ServiceExternalTrafficPolicyTypeCluster,
ExternalTrafficPolicy: api.ServiceExternalTrafficPolicyCluster,
},
})
checkNeedsHealthCheck(true, &api.Service{
Spec: api.ServiceSpec{
Type: api.ServiceTypeLoadBalancer,
ExternalTrafficPolicy: api.ServiceExternalTrafficPolicyTypeLocal,
ExternalTrafficPolicy: api.ServiceExternalTrafficPolicyLocal,
},
})
}

View File

@ -73,7 +73,7 @@ func ExternalPolicyLocal(service *v1.Service) bool {
service.Spec.Type != v1.ServiceTypeNodePort {
return false
}
return service.Spec.ExternalTrafficPolicy == v1.ServiceExternalTrafficPolicyTypeLocal
return service.Spec.ExternalTrafficPolicy == v1.ServiceExternalTrafficPolicyLocal
}
// InternalPolicyLocal checks if service has ITP = Local.

View File

@ -152,25 +152,25 @@ func TestExternalPolicyLocal(t *testing.T) {
checkExternalPolicyLocal(false, &v1.Service{
Spec: v1.ServiceSpec{
Type: v1.ServiceTypeNodePort,
ExternalTrafficPolicy: v1.ServiceExternalTrafficPolicyTypeCluster,
ExternalTrafficPolicy: v1.ServiceExternalTrafficPolicyCluster,
},
})
checkExternalPolicyLocal(true, &v1.Service{
Spec: v1.ServiceSpec{
Type: v1.ServiceTypeNodePort,
ExternalTrafficPolicy: v1.ServiceExternalTrafficPolicyTypeLocal,
ExternalTrafficPolicy: v1.ServiceExternalTrafficPolicyLocal,
},
})
checkExternalPolicyLocal(false, &v1.Service{
Spec: v1.ServiceSpec{
Type: v1.ServiceTypeLoadBalancer,
ExternalTrafficPolicy: v1.ServiceExternalTrafficPolicyTypeCluster,
ExternalTrafficPolicy: v1.ServiceExternalTrafficPolicyCluster,
},
})
checkExternalPolicyLocal(true, &v1.Service{
Spec: v1.ServiceSpec{
Type: v1.ServiceTypeLoadBalancer,
ExternalTrafficPolicy: v1.ServiceExternalTrafficPolicyTypeLocal,
ExternalTrafficPolicy: v1.ServiceExternalTrafficPolicyLocal,
},
})
}
@ -192,25 +192,25 @@ func TestNeedsHealthCheck(t *testing.T) {
checkNeedsHealthCheck(false, &v1.Service{
Spec: v1.ServiceSpec{
Type: v1.ServiceTypeNodePort,
ExternalTrafficPolicy: v1.ServiceExternalTrafficPolicyTypeCluster,
ExternalTrafficPolicy: v1.ServiceExternalTrafficPolicyCluster,
},
})
checkNeedsHealthCheck(false, &v1.Service{
Spec: v1.ServiceSpec{
Type: v1.ServiceTypeNodePort,
ExternalTrafficPolicy: v1.ServiceExternalTrafficPolicyTypeLocal,
ExternalTrafficPolicy: v1.ServiceExternalTrafficPolicyLocal,
},
})
checkNeedsHealthCheck(false, &v1.Service{
Spec: v1.ServiceSpec{
Type: v1.ServiceTypeLoadBalancer,
ExternalTrafficPolicy: v1.ServiceExternalTrafficPolicyTypeCluster,
ExternalTrafficPolicy: v1.ServiceExternalTrafficPolicyCluster,
},
})
checkNeedsHealthCheck(true, &v1.Service{
Spec: v1.ServiceSpec{
Type: v1.ServiceTypeLoadBalancer,
ExternalTrafficPolicy: v1.ServiceExternalTrafficPolicyTypeLocal,
ExternalTrafficPolicy: v1.ServiceExternalTrafficPolicyLocal,
},
})
}

View File

@ -293,12 +293,12 @@ var Funcs = func(codecs runtimeserializer.CodecFactory) []interface{} {
selected := types[c.Rand.Intn(len(types))]
*p = selected
},
func(p *core.ServiceExternalTrafficPolicyType, c fuzz.Continue) {
types := []core.ServiceExternalTrafficPolicyType{core.ServiceExternalTrafficPolicyTypeCluster, core.ServiceExternalTrafficPolicyTypeLocal}
func(p *core.ServiceExternalTrafficPolicy, c fuzz.Continue) {
types := []core.ServiceExternalTrafficPolicy{core.ServiceExternalTrafficPolicyCluster, core.ServiceExternalTrafficPolicyLocal}
*p = types[c.Rand.Intn(len(types))]
},
func(p *core.ServiceInternalTrafficPolicyType, c fuzz.Continue) {
types := []core.ServiceInternalTrafficPolicyType{core.ServiceInternalTrafficPolicyCluster, core.ServiceInternalTrafficPolicyLocal}
func(p *core.ServiceInternalTrafficPolicy, c fuzz.Continue) {
types := []core.ServiceInternalTrafficPolicy{core.ServiceInternalTrafficPolicyCluster, core.ServiceInternalTrafficPolicyLocal}
*p = types[c.Rand.Intn(len(types))]
},
func(ct *core.Container, c fuzz.Continue) {

View File

@ -3781,33 +3781,33 @@ const (
ServiceTypeExternalName ServiceType = "ExternalName"
)
// ServiceInternalTrafficPolicyType describes the endpoint-selection policy for
// ServiceInternalTrafficPolicy describes the endpoint-selection policy for
// traffic sent to the ClusterIP.
type ServiceInternalTrafficPolicyType string
type ServiceInternalTrafficPolicy string
const (
// ServiceInternalTrafficPolicyCluster routes traffic to all endpoints.
ServiceInternalTrafficPolicyCluster ServiceInternalTrafficPolicyType = "Cluster"
ServiceInternalTrafficPolicyCluster ServiceInternalTrafficPolicy = "Cluster"
// ServiceInternalTrafficPolicyLocal routes traffic only to endpoints on the same
// node as the traffic was received on (dropping the traffic if there are no
// local endpoints).
ServiceInternalTrafficPolicyLocal ServiceInternalTrafficPolicyType = "Local"
ServiceInternalTrafficPolicyLocal ServiceInternalTrafficPolicy = "Local"
)
// ServiceExternalTrafficPolicyType describes the endpoint-selection policy for
// ServiceExternalTrafficPolicy describes the endpoint-selection policy for
// traffic to external service entrypoints (NodePorts, ExternalIPs, and
// LoadBalancer IPs).
type ServiceExternalTrafficPolicyType string
type ServiceExternalTrafficPolicy string
const (
// ServiceExternalTrafficPolicyTypeCluster routes traffic to all endpoints.
ServiceExternalTrafficPolicyTypeCluster ServiceExternalTrafficPolicyType = "Cluster"
// ServiceExternalTrafficPolicyCluster routes traffic to all endpoints.
ServiceExternalTrafficPolicyCluster ServiceExternalTrafficPolicy = "Cluster"
// ServiceExternalTrafficPolicyTypeLocal preserves the source IP of the traffic by
// ServiceExternalTrafficPolicyLocal preserves the source IP of the traffic by
// routing only to endpoints on the same node as the traffic was received on
// (dropping the traffic if there are no local endpoints).
ServiceExternalTrafficPolicyTypeLocal ServiceExternalTrafficPolicyType = "Local"
ServiceExternalTrafficPolicyLocal ServiceExternalTrafficPolicy = "Local"
)
// These are the valid conditions of a service.
@ -4013,7 +4013,7 @@ type ServiceSpec struct {
// a NodePort from within the cluster may need to take traffic policy into account
// when picking a node.
// +optional
ExternalTrafficPolicy ServiceExternalTrafficPolicyType
ExternalTrafficPolicy ServiceExternalTrafficPolicy
// healthCheckNodePort specifies the healthcheck nodePort for the service.
// If not specified, HealthCheckNodePort is created by the service api
@ -4064,7 +4064,7 @@ type ServiceSpec struct {
// "Cluster", uses the standard behavior of routing to all endpoints evenly
// (possibly modified by topology and other features).
// +optional
InternalTrafficPolicy *ServiceInternalTrafficPolicyType
InternalTrafficPolicy *ServiceInternalTrafficPolicy
}
// ServicePort represents the port on which the service is exposed

View File

@ -125,7 +125,7 @@ func SetDefaults_Service(obj *v1.Service) {
if (obj.Spec.Type == v1.ServiceTypeNodePort ||
obj.Spec.Type == v1.ServiceTypeLoadBalancer) &&
obj.Spec.ExternalTrafficPolicy == "" {
obj.Spec.ExternalTrafficPolicy = v1.ServiceExternalTrafficPolicyTypeCluster
obj.Spec.ExternalTrafficPolicy = v1.ServiceExternalTrafficPolicyCluster
}
if obj.Spec.InternalTrafficPolicy == nil {

View File

@ -1431,15 +1431,15 @@ func TestSetDefaultServiceExternalTraffic(t *testing.T) {
in = &v1.Service{Spec: v1.ServiceSpec{Type: v1.ServiceTypeNodePort}}
obj = roundTrip(t, runtime.Object(in))
out = obj.(*v1.Service)
if out.Spec.ExternalTrafficPolicy != v1.ServiceExternalTrafficPolicyTypeCluster {
t.Errorf("Expected ExternalTrafficPolicy to be %v, got %v", v1.ServiceExternalTrafficPolicyTypeCluster, out.Spec.ExternalTrafficPolicy)
if out.Spec.ExternalTrafficPolicy != v1.ServiceExternalTrafficPolicyCluster {
t.Errorf("Expected ExternalTrafficPolicy to be %v, got %v", v1.ServiceExternalTrafficPolicyCluster, out.Spec.ExternalTrafficPolicy)
}
in = &v1.Service{Spec: v1.ServiceSpec{Type: v1.ServiceTypeLoadBalancer}}
obj = roundTrip(t, runtime.Object(in))
out = obj.(*v1.Service)
if out.Spec.ExternalTrafficPolicy != v1.ServiceExternalTrafficPolicyTypeCluster {
t.Errorf("Expected ExternalTrafficPolicy to be %v, got %v", v1.ServiceExternalTrafficPolicyTypeCluster, out.Spec.ExternalTrafficPolicy)
if out.Spec.ExternalTrafficPolicy != v1.ServiceExternalTrafficPolicyCluster {
t.Errorf("Expected ExternalTrafficPolicy to be %v, got %v", v1.ServiceExternalTrafficPolicyCluster, out.Spec.ExternalTrafficPolicy)
}
}
@ -1859,7 +1859,7 @@ func TestSetDefaultServiceInternalTrafficPolicy(t *testing.T) {
local := v1.ServiceInternalTrafficPolicyLocal
testCases := []struct {
name string
expectedInternalTrafficPolicy *v1.ServiceInternalTrafficPolicyType
expectedInternalTrafficPolicy *v1.ServiceInternalTrafficPolicy
svc v1.Service
}{
{

View File

@ -7850,7 +7850,7 @@ func autoConvert_v1_ServiceSpec_To_core_ServiceSpec(in *v1.ServiceSpec, out *cor
out.LoadBalancerIP = in.LoadBalancerIP
out.LoadBalancerSourceRanges = *(*[]string)(unsafe.Pointer(&in.LoadBalancerSourceRanges))
out.ExternalName = in.ExternalName
out.ExternalTrafficPolicy = core.ServiceExternalTrafficPolicyType(in.ExternalTrafficPolicy)
out.ExternalTrafficPolicy = core.ServiceExternalTrafficPolicy(in.ExternalTrafficPolicy)
out.HealthCheckNodePort = in.HealthCheckNodePort
out.PublishNotReadyAddresses = in.PublishNotReadyAddresses
out.SessionAffinityConfig = (*core.SessionAffinityConfig)(unsafe.Pointer(in.SessionAffinityConfig))
@ -7858,7 +7858,7 @@ func autoConvert_v1_ServiceSpec_To_core_ServiceSpec(in *v1.ServiceSpec, out *cor
out.IPFamilyPolicy = (*core.IPFamilyPolicy)(unsafe.Pointer(in.IPFamilyPolicy))
out.AllocateLoadBalancerNodePorts = (*bool)(unsafe.Pointer(in.AllocateLoadBalancerNodePorts))
out.LoadBalancerClass = (*string)(unsafe.Pointer(in.LoadBalancerClass))
out.InternalTrafficPolicy = (*core.ServiceInternalTrafficPolicyType)(unsafe.Pointer(in.InternalTrafficPolicy))
out.InternalTrafficPolicy = (*core.ServiceInternalTrafficPolicy)(unsafe.Pointer(in.InternalTrafficPolicy))
return nil
}
@ -7881,12 +7881,12 @@ func autoConvert_core_ServiceSpec_To_v1_ServiceSpec(in *core.ServiceSpec, out *v
out.SessionAffinity = v1.ServiceAffinity(in.SessionAffinity)
out.SessionAffinityConfig = (*v1.SessionAffinityConfig)(unsafe.Pointer(in.SessionAffinityConfig))
out.LoadBalancerSourceRanges = *(*[]string)(unsafe.Pointer(&in.LoadBalancerSourceRanges))
out.ExternalTrafficPolicy = v1.ServiceExternalTrafficPolicyType(in.ExternalTrafficPolicy)
out.ExternalTrafficPolicy = v1.ServiceExternalTrafficPolicy(in.ExternalTrafficPolicy)
out.HealthCheckNodePort = in.HealthCheckNodePort
out.PublishNotReadyAddresses = in.PublishNotReadyAddresses
out.AllocateLoadBalancerNodePorts = (*bool)(unsafe.Pointer(in.AllocateLoadBalancerNodePorts))
out.LoadBalancerClass = (*string)(unsafe.Pointer(in.LoadBalancerClass))
out.InternalTrafficPolicy = (*v1.ServiceInternalTrafficPolicyType)(unsafe.Pointer(in.InternalTrafficPolicy))
out.InternalTrafficPolicy = (*v1.ServiceInternalTrafficPolicy)(unsafe.Pointer(in.InternalTrafficPolicy))
return nil
}

View File

@ -4744,7 +4744,7 @@ var supportedSessionAffinityType = sets.NewString(string(core.ServiceAffinityCli
var supportedServiceType = sets.NewString(string(core.ServiceTypeClusterIP), string(core.ServiceTypeNodePort),
string(core.ServiceTypeLoadBalancer), string(core.ServiceTypeExternalName))
var supportedServiceInternalTrafficPolicy = sets.NewString(string(core.ServiceInternalTrafficPolicyCluster), string(core.ServiceExternalTrafficPolicyTypeLocal))
var supportedServiceInternalTrafficPolicy = sets.NewString(string(core.ServiceInternalTrafficPolicyCluster), string(core.ServiceExternalTrafficPolicyLocal))
var supportedServiceIPFamily = sets.NewString(string(core.IPv4Protocol), string(core.IPv6Protocol))
var supportedServiceIPFamilyPolicy = sets.NewString(string(core.IPFamilyPolicySingleStack), string(core.IPFamilyPolicyPreferDualStack), string(core.IPFamilyPolicyRequireDualStack))
@ -4976,8 +4976,8 @@ func needsExternalTrafficPolicy(svc *core.Service) bool {
}
var validExternalTrafficPolicies = sets.NewString(
string(core.ServiceExternalTrafficPolicyTypeCluster),
string(core.ServiceExternalTrafficPolicyTypeLocal))
string(core.ServiceExternalTrafficPolicyCluster),
string(core.ServiceExternalTrafficPolicyLocal))
func validateServiceExternalTrafficPolicy(service *core.Service) field.ErrorList {
allErrs := field.ErrorList{}

View File

@ -13060,7 +13060,7 @@ func TestValidateServiceCreate(t *testing.T) {
name: "valid load balancer protocol UDP 1",
tweakSvc: func(s *core.Service) {
s.Spec.Type = core.ServiceTypeLoadBalancer
s.Spec.ExternalTrafficPolicy = core.ServiceExternalTrafficPolicyTypeCluster
s.Spec.ExternalTrafficPolicy = core.ServiceExternalTrafficPolicyCluster
s.Spec.AllocateLoadBalancerNodePorts = utilpointer.BoolPtr(true)
s.Spec.Ports[0].Protocol = "UDP"
},
@ -13070,7 +13070,7 @@ func TestValidateServiceCreate(t *testing.T) {
name: "valid load balancer protocol UDP 2",
tweakSvc: func(s *core.Service) {
s.Spec.Type = core.ServiceTypeLoadBalancer
s.Spec.ExternalTrafficPolicy = core.ServiceExternalTrafficPolicyTypeCluster
s.Spec.ExternalTrafficPolicy = core.ServiceExternalTrafficPolicyCluster
s.Spec.AllocateLoadBalancerNodePorts = utilpointer.BoolPtr(true)
s.Spec.Ports[0] = core.ServicePort{Name: "q", Port: 12345, Protocol: "UDP", TargetPort: intstr.FromInt(12345)}
},
@ -13080,7 +13080,7 @@ func TestValidateServiceCreate(t *testing.T) {
name: "load balancer with mix protocol",
tweakSvc: func(s *core.Service) {
s.Spec.Type = core.ServiceTypeLoadBalancer
s.Spec.ExternalTrafficPolicy = core.ServiceExternalTrafficPolicyTypeCluster
s.Spec.ExternalTrafficPolicy = core.ServiceExternalTrafficPolicyCluster
s.Spec.AllocateLoadBalancerNodePorts = utilpointer.BoolPtr(true)
s.Spec.Ports = append(s.Spec.Ports, core.ServicePort{Name: "q", Port: 12345, Protocol: "UDP", TargetPort: intstr.FromInt(12345)})
},
@ -13135,7 +13135,7 @@ func TestValidateServiceCreate(t *testing.T) {
name: "valid type - loadbalancer",
tweakSvc: func(s *core.Service) {
s.Spec.Type = core.ServiceTypeLoadBalancer
s.Spec.ExternalTrafficPolicy = core.ServiceExternalTrafficPolicyTypeCluster
s.Spec.ExternalTrafficPolicy = core.ServiceExternalTrafficPolicyCluster
s.Spec.AllocateLoadBalancerNodePorts = utilpointer.BoolPtr(true)
},
numErrs: 0,
@ -13144,7 +13144,7 @@ func TestValidateServiceCreate(t *testing.T) {
name: "valid type - loadbalancer with allocateLoadBalancerNodePorts=false",
tweakSvc: func(s *core.Service) {
s.Spec.Type = core.ServiceTypeLoadBalancer
s.Spec.ExternalTrafficPolicy = core.ServiceExternalTrafficPolicyTypeCluster
s.Spec.ExternalTrafficPolicy = core.ServiceExternalTrafficPolicyCluster
s.Spec.AllocateLoadBalancerNodePorts = utilpointer.BoolPtr(false)
},
numErrs: 0,
@ -13153,7 +13153,7 @@ func TestValidateServiceCreate(t *testing.T) {
name: "invalid type - missing AllocateLoadBalancerNodePorts for loadbalancer type",
tweakSvc: func(s *core.Service) {
s.Spec.Type = core.ServiceTypeLoadBalancer
s.Spec.ExternalTrafficPolicy = core.ServiceExternalTrafficPolicyTypeCluster
s.Spec.ExternalTrafficPolicy = core.ServiceExternalTrafficPolicyCluster
},
numErrs: 1,
},
@ -13161,7 +13161,7 @@ func TestValidateServiceCreate(t *testing.T) {
name: "valid type loadbalancer 2 ports",
tweakSvc: func(s *core.Service) {
s.Spec.Type = core.ServiceTypeLoadBalancer
s.Spec.ExternalTrafficPolicy = core.ServiceExternalTrafficPolicyTypeCluster
s.Spec.ExternalTrafficPolicy = core.ServiceExternalTrafficPolicyCluster
s.Spec.AllocateLoadBalancerNodePorts = utilpointer.BoolPtr(true)
s.Spec.Ports = append(s.Spec.Ports, core.ServicePort{Name: "q", Port: 12345, Protocol: "TCP", TargetPort: intstr.FromInt(12345)})
},
@ -13171,7 +13171,7 @@ func TestValidateServiceCreate(t *testing.T) {
name: "valid external load balancer 2 ports",
tweakSvc: func(s *core.Service) {
s.Spec.Type = core.ServiceTypeLoadBalancer
s.Spec.ExternalTrafficPolicy = core.ServiceExternalTrafficPolicyTypeCluster
s.Spec.ExternalTrafficPolicy = core.ServiceExternalTrafficPolicyCluster
s.Spec.AllocateLoadBalancerNodePorts = utilpointer.BoolPtr(true)
s.Spec.Ports = append(s.Spec.Ports, core.ServicePort{Name: "q", Port: 12345, Protocol: "TCP", TargetPort: intstr.FromInt(12345)})
},
@ -13181,7 +13181,7 @@ func TestValidateServiceCreate(t *testing.T) {
name: "duplicate nodeports",
tweakSvc: func(s *core.Service) {
s.Spec.Type = core.ServiceTypeNodePort
s.Spec.ExternalTrafficPolicy = core.ServiceExternalTrafficPolicyTypeCluster
s.Spec.ExternalTrafficPolicy = core.ServiceExternalTrafficPolicyCluster
s.Spec.Ports = append(s.Spec.Ports, core.ServicePort{Name: "q", Port: 1, Protocol: "TCP", NodePort: 1, TargetPort: intstr.FromInt(1)})
s.Spec.Ports = append(s.Spec.Ports, core.ServicePort{Name: "r", Port: 2, Protocol: "TCP", NodePort: 1, TargetPort: intstr.FromInt(2)})
},
@ -13191,7 +13191,7 @@ func TestValidateServiceCreate(t *testing.T) {
name: "duplicate nodeports (different protocols)",
tweakSvc: func(s *core.Service) {
s.Spec.Type = core.ServiceTypeNodePort
s.Spec.ExternalTrafficPolicy = core.ServiceExternalTrafficPolicyTypeCluster
s.Spec.ExternalTrafficPolicy = core.ServiceExternalTrafficPolicyCluster
s.Spec.Ports = append(s.Spec.Ports, core.ServicePort{Name: "q", Port: 1, Protocol: "TCP", NodePort: 1, TargetPort: intstr.FromInt(1)})
s.Spec.Ports = append(s.Spec.Ports, core.ServicePort{Name: "r", Port: 2, Protocol: "UDP", NodePort: 1, TargetPort: intstr.FromInt(2)})
s.Spec.Ports = append(s.Spec.Ports, core.ServicePort{Name: "s", Port: 3, Protocol: "SCTP", NodePort: 1, TargetPort: intstr.FromInt(3)})
@ -13228,7 +13228,7 @@ func TestValidateServiceCreate(t *testing.T) {
name: "valid type - nodeport",
tweakSvc: func(s *core.Service) {
s.Spec.Type = core.ServiceTypeNodePort
s.Spec.ExternalTrafficPolicy = core.ServiceExternalTrafficPolicyTypeCluster
s.Spec.ExternalTrafficPolicy = core.ServiceExternalTrafficPolicyCluster
},
numErrs: 0,
},
@ -13236,7 +13236,7 @@ func TestValidateServiceCreate(t *testing.T) {
name: "valid type - loadbalancer with allocateLoadBalancerNodePorts=true",
tweakSvc: func(s *core.Service) {
s.Spec.Type = core.ServiceTypeLoadBalancer
s.Spec.ExternalTrafficPolicy = core.ServiceExternalTrafficPolicyTypeCluster
s.Spec.ExternalTrafficPolicy = core.ServiceExternalTrafficPolicyCluster
s.Spec.AllocateLoadBalancerNodePorts = utilpointer.BoolPtr(true)
},
numErrs: 0,
@ -13245,7 +13245,7 @@ func TestValidateServiceCreate(t *testing.T) {
name: "valid type loadbalancer 2 ports",
tweakSvc: func(s *core.Service) {
s.Spec.Type = core.ServiceTypeLoadBalancer
s.Spec.ExternalTrafficPolicy = core.ServiceExternalTrafficPolicyTypeCluster
s.Spec.ExternalTrafficPolicy = core.ServiceExternalTrafficPolicyCluster
s.Spec.AllocateLoadBalancerNodePorts = utilpointer.BoolPtr(true)
s.Spec.Ports = append(s.Spec.Ports, core.ServicePort{Name: "q", Port: 12345, Protocol: "TCP", TargetPort: intstr.FromInt(12345)})
},
@ -13255,7 +13255,7 @@ func TestValidateServiceCreate(t *testing.T) {
name: "valid type loadbalancer with NodePort",
tweakSvc: func(s *core.Service) {
s.Spec.Type = core.ServiceTypeLoadBalancer
s.Spec.ExternalTrafficPolicy = core.ServiceExternalTrafficPolicyTypeCluster
s.Spec.ExternalTrafficPolicy = core.ServiceExternalTrafficPolicyCluster
s.Spec.AllocateLoadBalancerNodePorts = utilpointer.BoolPtr(true)
s.Spec.Ports = append(s.Spec.Ports, core.ServicePort{Name: "q", Port: 12345, Protocol: "TCP", NodePort: 12345, TargetPort: intstr.FromInt(12345)})
},
@ -13265,7 +13265,7 @@ func TestValidateServiceCreate(t *testing.T) {
name: "valid type=NodePort service with NodePort",
tweakSvc: func(s *core.Service) {
s.Spec.Type = core.ServiceTypeNodePort
s.Spec.ExternalTrafficPolicy = core.ServiceExternalTrafficPolicyTypeCluster
s.Spec.ExternalTrafficPolicy = core.ServiceExternalTrafficPolicyCluster
s.Spec.Ports = append(s.Spec.Ports, core.ServicePort{Name: "q", Port: 12345, Protocol: "TCP", NodePort: 12345, TargetPort: intstr.FromInt(12345)})
},
numErrs: 0,
@ -13274,7 +13274,7 @@ func TestValidateServiceCreate(t *testing.T) {
name: "valid type=NodePort service without NodePort",
tweakSvc: func(s *core.Service) {
s.Spec.Type = core.ServiceTypeNodePort
s.Spec.ExternalTrafficPolicy = core.ServiceExternalTrafficPolicyTypeCluster
s.Spec.ExternalTrafficPolicy = core.ServiceExternalTrafficPolicyCluster
s.Spec.Ports = append(s.Spec.Ports, core.ServicePort{Name: "q", Port: 12345, Protocol: "TCP", TargetPort: intstr.FromInt(12345)})
},
numErrs: 0,
@ -13299,7 +13299,7 @@ func TestValidateServiceCreate(t *testing.T) {
name: "invalid public service with duplicate NodePort",
tweakSvc: func(s *core.Service) {
s.Spec.Type = core.ServiceTypeNodePort
s.Spec.ExternalTrafficPolicy = core.ServiceExternalTrafficPolicyTypeCluster
s.Spec.ExternalTrafficPolicy = core.ServiceExternalTrafficPolicyCluster
s.Spec.Ports = append(s.Spec.Ports, core.ServicePort{Name: "p1", Port: 1, Protocol: "TCP", NodePort: 1, TargetPort: intstr.FromInt(1)})
s.Spec.Ports = append(s.Spec.Ports, core.ServicePort{Name: "p2", Port: 2, Protocol: "TCP", NodePort: 1, TargetPort: intstr.FromInt(2)})
},
@ -13309,7 +13309,7 @@ func TestValidateServiceCreate(t *testing.T) {
name: "valid type=LoadBalancer",
tweakSvc: func(s *core.Service) {
s.Spec.Type = core.ServiceTypeLoadBalancer
s.Spec.ExternalTrafficPolicy = core.ServiceExternalTrafficPolicyTypeCluster
s.Spec.ExternalTrafficPolicy = core.ServiceExternalTrafficPolicyCluster
s.Spec.AllocateLoadBalancerNodePorts = utilpointer.BoolPtr(true)
s.Spec.Ports = append(s.Spec.Ports, core.ServicePort{Name: "q", Port: 12345, Protocol: "TCP", TargetPort: intstr.FromInt(12345)})
},
@ -13321,7 +13321,7 @@ func TestValidateServiceCreate(t *testing.T) {
name: "invalid port type=LoadBalancer",
tweakSvc: func(s *core.Service) {
s.Spec.Type = core.ServiceTypeLoadBalancer
s.Spec.ExternalTrafficPolicy = core.ServiceExternalTrafficPolicyTypeCluster
s.Spec.ExternalTrafficPolicy = core.ServiceExternalTrafficPolicyCluster
s.Spec.AllocateLoadBalancerNodePorts = utilpointer.BoolPtr(true)
s.Spec.Ports = append(s.Spec.Ports, core.ServicePort{Name: "kubelet", Port: 10250, Protocol: "TCP", TargetPort: intstr.FromInt(12345)})
},
@ -13331,7 +13331,7 @@ func TestValidateServiceCreate(t *testing.T) {
name: "valid LoadBalancer source range annotation",
tweakSvc: func(s *core.Service) {
s.Spec.Type = core.ServiceTypeLoadBalancer
s.Spec.ExternalTrafficPolicy = core.ServiceExternalTrafficPolicyTypeCluster
s.Spec.ExternalTrafficPolicy = core.ServiceExternalTrafficPolicyCluster
s.Spec.AllocateLoadBalancerNodePorts = utilpointer.BoolPtr(true)
s.Annotations[core.AnnotationLoadBalancerSourceRangesKey] = "1.2.3.4/8, 5.6.7.8/16"
},
@ -13341,7 +13341,7 @@ func TestValidateServiceCreate(t *testing.T) {
name: "empty LoadBalancer source range annotation",
tweakSvc: func(s *core.Service) {
s.Spec.Type = core.ServiceTypeLoadBalancer
s.Spec.ExternalTrafficPolicy = core.ServiceExternalTrafficPolicyTypeCluster
s.Spec.ExternalTrafficPolicy = core.ServiceExternalTrafficPolicyCluster
s.Spec.AllocateLoadBalancerNodePorts = utilpointer.BoolPtr(true)
s.Annotations[core.AnnotationLoadBalancerSourceRangesKey] = ""
},
@ -13358,7 +13358,7 @@ func TestValidateServiceCreate(t *testing.T) {
name: "invalid LoadBalancer source range annotation (invalid CIDR)",
tweakSvc: func(s *core.Service) {
s.Spec.Type = core.ServiceTypeLoadBalancer
s.Spec.ExternalTrafficPolicy = core.ServiceExternalTrafficPolicyTypeCluster
s.Spec.ExternalTrafficPolicy = core.ServiceExternalTrafficPolicyCluster
s.Spec.AllocateLoadBalancerNodePorts = utilpointer.BoolPtr(true)
s.Annotations[core.AnnotationLoadBalancerSourceRangesKey] = "1.2.3.4/33"
},
@ -13375,7 +13375,7 @@ func TestValidateServiceCreate(t *testing.T) {
name: "valid LoadBalancer source range",
tweakSvc: func(s *core.Service) {
s.Spec.Type = core.ServiceTypeLoadBalancer
s.Spec.ExternalTrafficPolicy = core.ServiceExternalTrafficPolicyTypeCluster
s.Spec.ExternalTrafficPolicy = core.ServiceExternalTrafficPolicyCluster
s.Spec.AllocateLoadBalancerNodePorts = utilpointer.BoolPtr(true)
s.Spec.LoadBalancerSourceRanges = []string{"1.2.3.4/8", "5.6.7.8/16"}
},
@ -13385,7 +13385,7 @@ func TestValidateServiceCreate(t *testing.T) {
name: "empty LoadBalancer source range",
tweakSvc: func(s *core.Service) {
s.Spec.Type = core.ServiceTypeLoadBalancer
s.Spec.ExternalTrafficPolicy = core.ServiceExternalTrafficPolicyTypeCluster
s.Spec.ExternalTrafficPolicy = core.ServiceExternalTrafficPolicyCluster
s.Spec.AllocateLoadBalancerNodePorts = utilpointer.BoolPtr(true)
s.Spec.LoadBalancerSourceRanges = []string{" "}
},
@ -13395,7 +13395,7 @@ func TestValidateServiceCreate(t *testing.T) {
name: "invalid LoadBalancer source range",
tweakSvc: func(s *core.Service) {
s.Spec.Type = core.ServiceTypeLoadBalancer
s.Spec.ExternalTrafficPolicy = core.ServiceExternalTrafficPolicyTypeCluster
s.Spec.ExternalTrafficPolicy = core.ServiceExternalTrafficPolicyCluster
s.Spec.AllocateLoadBalancerNodePorts = utilpointer.BoolPtr(true)
s.Spec.LoadBalancerSourceRanges = []string{"foo.bar"}
},
@ -13451,7 +13451,7 @@ func TestValidateServiceCreate(t *testing.T) {
s.Spec.ClusterIP = "None"
s.Spec.ClusterIPs = []string{"None"}
s.Spec.Type = core.ServiceTypeLoadBalancer
s.Spec.ExternalTrafficPolicy = core.ServiceExternalTrafficPolicyTypeCluster
s.Spec.ExternalTrafficPolicy = core.ServiceExternalTrafficPolicyCluster
s.Spec.AllocateLoadBalancerNodePorts = utilpointer.BoolPtr(true)
},
numErrs: 1,
@ -13460,7 +13460,7 @@ func TestValidateServiceCreate(t *testing.T) {
name: "invalid node port with clusterIP None",
tweakSvc: func(s *core.Service) {
s.Spec.Type = core.ServiceTypeNodePort
s.Spec.ExternalTrafficPolicy = core.ServiceExternalTrafficPolicyTypeCluster
s.Spec.ExternalTrafficPolicy = core.ServiceExternalTrafficPolicyCluster
s.Spec.Ports = append(s.Spec.Ports, core.ServicePort{Name: "q", Port: 1, Protocol: "TCP", NodePort: 1, TargetPort: intstr.FromInt(1)})
s.Spec.ClusterIP = "None"
s.Spec.ClusterIPs = []string{"None"}
@ -13510,7 +13510,7 @@ func TestValidateServiceCreate(t *testing.T) {
{
name: "invalid internalTraffic field",
tweakSvc: func(s *core.Service) {
invalid := core.ServiceInternalTrafficPolicyType("invalid")
invalid := core.ServiceInternalTrafficPolicy("invalid")
s.Spec.InternalTrafficPolicy = &invalid
},
numErrs: 1,
@ -13536,7 +13536,7 @@ func TestValidateServiceCreate(t *testing.T) {
tweakSvc: func(s *core.Service) {
s.Spec.Type = core.ServiceTypeLoadBalancer
s.Spec.AllocateLoadBalancerNodePorts = utilpointer.BoolPtr(true)
s.Spec.ExternalTrafficPolicy = core.ServiceExternalTrafficPolicyTypeLocal
s.Spec.ExternalTrafficPolicy = core.ServiceExternalTrafficPolicyLocal
s.Spec.HealthCheckNodePort = -1
},
numErrs: 1,
@ -13546,7 +13546,7 @@ func TestValidateServiceCreate(t *testing.T) {
tweakSvc: func(s *core.Service) {
s.Spec.Type = core.ServiceTypeLoadBalancer
s.Spec.AllocateLoadBalancerNodePorts = utilpointer.BoolPtr(true)
s.Spec.ExternalTrafficPolicy = core.ServiceExternalTrafficPolicyTypeLocal
s.Spec.ExternalTrafficPolicy = core.ServiceExternalTrafficPolicyLocal
s.Spec.HealthCheckNodePort = 31100
},
numErrs: 0,
@ -13569,7 +13569,7 @@ func TestValidateServiceCreate(t *testing.T) {
name: "sessionAffinityConfig can't be set when session affinity is None",
tweakSvc: func(s *core.Service) {
s.Spec.Type = core.ServiceTypeLoadBalancer
s.Spec.ExternalTrafficPolicy = core.ServiceExternalTrafficPolicyTypeCluster
s.Spec.ExternalTrafficPolicy = core.ServiceExternalTrafficPolicyCluster
s.Spec.AllocateLoadBalancerNodePorts = utilpointer.BoolPtr(true)
s.Spec.SessionAffinity = core.ServiceAffinityNone
s.Spec.SessionAffinityConfig = &core.SessionAffinityConfig{
@ -14023,7 +14023,7 @@ func TestValidateServiceCreate(t *testing.T) {
name: "valid LoadBalancerClass when type is LoadBalancer",
tweakSvc: func(s *core.Service) {
s.Spec.Type = core.ServiceTypeLoadBalancer
s.Spec.ExternalTrafficPolicy = core.ServiceExternalTrafficPolicyTypeCluster
s.Spec.ExternalTrafficPolicy = core.ServiceExternalTrafficPolicyCluster
s.Spec.AllocateLoadBalancerNodePorts = utilpointer.BoolPtr(true)
s.Spec.LoadBalancerClass = utilpointer.StringPtr("test.com/test-load-balancer-class")
},
@ -14033,7 +14033,7 @@ func TestValidateServiceCreate(t *testing.T) {
name: "invalid LoadBalancerClass",
tweakSvc: func(s *core.Service) {
s.Spec.Type = core.ServiceTypeLoadBalancer
s.Spec.ExternalTrafficPolicy = core.ServiceExternalTrafficPolicyTypeCluster
s.Spec.ExternalTrafficPolicy = core.ServiceExternalTrafficPolicyCluster
s.Spec.AllocateLoadBalancerNodePorts = utilpointer.BoolPtr(true)
s.Spec.LoadBalancerClass = utilpointer.StringPtr("Bad/LoadBalancerClass")
},
@ -14075,7 +14075,7 @@ func TestValidateServiceExternalTrafficPolicy(t *testing.T) {
tweakSvc: func(s *core.Service) {
s.Spec.Type = core.ServiceTypeLoadBalancer
s.Spec.AllocateLoadBalancerNodePorts = utilpointer.BoolPtr(true)
s.Spec.ExternalTrafficPolicy = core.ServiceExternalTrafficPolicyTypeLocal
s.Spec.ExternalTrafficPolicy = core.ServiceExternalTrafficPolicyLocal
s.Spec.HealthCheckNodePort = 34567
},
numErrs: 0,
@ -14084,7 +14084,7 @@ func TestValidateServiceExternalTrafficPolicy(t *testing.T) {
name: "valid nodePort service with externalTrafficPolicy set",
tweakSvc: func(s *core.Service) {
s.Spec.Type = core.ServiceTypeNodePort
s.Spec.ExternalTrafficPolicy = core.ServiceExternalTrafficPolicyTypeLocal
s.Spec.ExternalTrafficPolicy = core.ServiceExternalTrafficPolicyLocal
},
numErrs: 0,
},
@ -14100,7 +14100,7 @@ func TestValidateServiceExternalTrafficPolicy(t *testing.T) {
tweakSvc: func(s *core.Service) {
s.Spec.Type = core.ServiceTypeLoadBalancer
s.Spec.AllocateLoadBalancerNodePorts = utilpointer.BoolPtr(true)
s.Spec.ExternalTrafficPolicy = core.ServiceExternalTrafficPolicyTypeCluster
s.Spec.ExternalTrafficPolicy = core.ServiceExternalTrafficPolicyCluster
s.Spec.HealthCheckNodePort = 34567
},
numErrs: 1,
@ -14109,7 +14109,7 @@ func TestValidateServiceExternalTrafficPolicy(t *testing.T) {
name: "cannot set healthCheckNodePort field on nodePort service",
tweakSvc: func(s *core.Service) {
s.Spec.Type = core.ServiceTypeNodePort
s.Spec.ExternalTrafficPolicy = core.ServiceExternalTrafficPolicyTypeLocal
s.Spec.ExternalTrafficPolicy = core.ServiceExternalTrafficPolicyLocal
s.Spec.HealthCheckNodePort = 34567
},
numErrs: 1,
@ -14118,7 +14118,7 @@ func TestValidateServiceExternalTrafficPolicy(t *testing.T) {
name: "cannot set externalTrafficPolicy or healthCheckNodePort fields on clusterIP service",
tweakSvc: func(s *core.Service) {
s.Spec.Type = core.ServiceTypeClusterIP
s.Spec.ExternalTrafficPolicy = core.ServiceExternalTrafficPolicyTypeLocal
s.Spec.ExternalTrafficPolicy = core.ServiceExternalTrafficPolicyLocal
s.Spec.HealthCheckNodePort = 34567
},
numErrs: 2,
@ -15633,7 +15633,7 @@ func TestValidateServiceUpdate(t *testing.T) {
name: "change type",
tweakSvc: func(oldSvc, newSvc *core.Service) {
newSvc.Spec.Type = core.ServiceTypeLoadBalancer
newSvc.Spec.ExternalTrafficPolicy = core.ServiceExternalTrafficPolicyTypeCluster
newSvc.Spec.ExternalTrafficPolicy = core.ServiceExternalTrafficPolicyCluster
newSvc.Spec.AllocateLoadBalancerNodePorts = utilpointer.BoolPtr(true)
},
numErrs: 0,
@ -15649,7 +15649,7 @@ func TestValidateServiceUpdate(t *testing.T) {
name: "change type -> nodeport",
tweakSvc: func(oldSvc, newSvc *core.Service) {
newSvc.Spec.Type = core.ServiceTypeNodePort
newSvc.Spec.ExternalTrafficPolicy = core.ServiceExternalTrafficPolicyTypeCluster
newSvc.Spec.ExternalTrafficPolicy = core.ServiceExternalTrafficPolicyCluster
},
numErrs: 0,
},
@ -15659,7 +15659,7 @@ func TestValidateServiceUpdate(t *testing.T) {
oldSvc.Spec.Type = core.ServiceTypeLoadBalancer
oldSvc.Spec.AllocateLoadBalancerNodePorts = utilpointer.BoolPtr(true)
newSvc.Spec.Type = core.ServiceTypeLoadBalancer
newSvc.Spec.ExternalTrafficPolicy = core.ServiceExternalTrafficPolicyTypeCluster
newSvc.Spec.ExternalTrafficPolicy = core.ServiceExternalTrafficPolicyCluster
newSvc.Spec.AllocateLoadBalancerNodePorts = utilpointer.BoolPtr(true)
newSvc.Spec.LoadBalancerSourceRanges = []string{"10.0.0.0/8"}
},
@ -15672,7 +15672,7 @@ func TestValidateServiceUpdate(t *testing.T) {
oldSvc.Spec.AllocateLoadBalancerNodePorts = utilpointer.BoolPtr(true)
oldSvc.Spec.LoadBalancerSourceRanges = []string{"10.0.0.0/8"}
newSvc.Spec.Type = core.ServiceTypeLoadBalancer
newSvc.Spec.ExternalTrafficPolicy = core.ServiceExternalTrafficPolicyTypeCluster
newSvc.Spec.ExternalTrafficPolicy = core.ServiceExternalTrafficPolicyCluster
newSvc.Spec.AllocateLoadBalancerNodePorts = utilpointer.BoolPtr(true)
newSvc.Spec.LoadBalancerSourceRanges = []string{"10.100.0.0/16"}
},
@ -15684,7 +15684,7 @@ func TestValidateServiceUpdate(t *testing.T) {
newSvc.Spec.ClusterIP = "None"
newSvc.Spec.ClusterIPs = []string{"None"}
newSvc.Spec.Type = core.ServiceTypeLoadBalancer
newSvc.Spec.ExternalTrafficPolicy = core.ServiceExternalTrafficPolicyTypeCluster
newSvc.Spec.ExternalTrafficPolicy = core.ServiceExternalTrafficPolicyCluster
newSvc.Spec.AllocateLoadBalancerNodePorts = utilpointer.BoolPtr(true)
},
numErrs: 1,
@ -15758,7 +15758,7 @@ func TestValidateServiceUpdate(t *testing.T) {
tweakSvc: func(oldSvc, newSvc *core.Service) {
oldSvc.Spec.Type = core.ServiceTypeClusterIP
newSvc.Spec.Type = core.ServiceTypeNodePort
newSvc.Spec.ExternalTrafficPolicy = core.ServiceExternalTrafficPolicyTypeCluster
newSvc.Spec.ExternalTrafficPolicy = core.ServiceExternalTrafficPolicyCluster
oldSvc.Spec.ClusterIP = "1.2.3.4"
oldSvc.Spec.ClusterIPs = []string{"1.2.3.4"}
@ -15773,7 +15773,7 @@ func TestValidateServiceUpdate(t *testing.T) {
tweakSvc: func(oldSvc, newSvc *core.Service) {
oldSvc.Spec.Type = core.ServiceTypeClusterIP
newSvc.Spec.Type = core.ServiceTypeNodePort
newSvc.Spec.ExternalTrafficPolicy = core.ServiceExternalTrafficPolicyTypeCluster
newSvc.Spec.ExternalTrafficPolicy = core.ServiceExternalTrafficPolicyCluster
oldSvc.Spec.ClusterIP = ""
oldSvc.Spec.ClusterIPs = nil
@ -15788,7 +15788,7 @@ func TestValidateServiceUpdate(t *testing.T) {
tweakSvc: func(oldSvc, newSvc *core.Service) {
oldSvc.Spec.Type = core.ServiceTypeClusterIP
newSvc.Spec.Type = core.ServiceTypeLoadBalancer
newSvc.Spec.ExternalTrafficPolicy = core.ServiceExternalTrafficPolicyTypeCluster
newSvc.Spec.ExternalTrafficPolicy = core.ServiceExternalTrafficPolicyCluster
newSvc.Spec.AllocateLoadBalancerNodePorts = utilpointer.BoolPtr(true)
oldSvc.Spec.ClusterIP = "1.2.3.4"
@ -15804,7 +15804,7 @@ func TestValidateServiceUpdate(t *testing.T) {
tweakSvc: func(oldSvc, newSvc *core.Service) {
oldSvc.Spec.Type = core.ServiceTypeClusterIP
newSvc.Spec.Type = core.ServiceTypeLoadBalancer
newSvc.Spec.ExternalTrafficPolicy = core.ServiceExternalTrafficPolicyTypeCluster
newSvc.Spec.ExternalTrafficPolicy = core.ServiceExternalTrafficPolicyCluster
newSvc.Spec.AllocateLoadBalancerNodePorts = utilpointer.BoolPtr(true)
oldSvc.Spec.ClusterIP = ""
@ -15821,7 +15821,7 @@ func TestValidateServiceUpdate(t *testing.T) {
oldSvc.Spec.Type = core.ServiceTypeLoadBalancer
oldSvc.Spec.AllocateLoadBalancerNodePorts = utilpointer.BoolPtr(true)
newSvc.Spec.Type = core.ServiceTypeLoadBalancer
newSvc.Spec.ExternalTrafficPolicy = core.ServiceExternalTrafficPolicyTypeCluster
newSvc.Spec.ExternalTrafficPolicy = core.ServiceExternalTrafficPolicyCluster
newSvc.Spec.AllocateLoadBalancerNodePorts = utilpointer.BoolPtr(false)
},
numErrs: 0,
@ -15832,7 +15832,7 @@ func TestValidateServiceUpdate(t *testing.T) {
oldSvc.Spec.Type = core.ServiceTypeLoadBalancer
oldSvc.Spec.AllocateLoadBalancerNodePorts = utilpointer.BoolPtr(false)
newSvc.Spec.Type = core.ServiceTypeLoadBalancer
newSvc.Spec.ExternalTrafficPolicy = core.ServiceExternalTrafficPolicyTypeCluster
newSvc.Spec.ExternalTrafficPolicy = core.ServiceExternalTrafficPolicyCluster
newSvc.Spec.AllocateLoadBalancerNodePorts = utilpointer.BoolPtr(true)
},
numErrs: 0,
@ -15842,7 +15842,7 @@ func TestValidateServiceUpdate(t *testing.T) {
tweakSvc: func(oldSvc, newSvc *core.Service) {
oldSvc.Spec.Type = core.ServiceTypeNodePort
newSvc.Spec.Type = core.ServiceTypeNodePort
newSvc.Spec.ExternalTrafficPolicy = core.ServiceExternalTrafficPolicyTypeCluster
newSvc.Spec.ExternalTrafficPolicy = core.ServiceExternalTrafficPolicyCluster
oldSvc.Spec.ClusterIP = "1.2.3.4"
oldSvc.Spec.ClusterIPs = []string{"1.2.3.4"}
@ -15857,7 +15857,7 @@ func TestValidateServiceUpdate(t *testing.T) {
tweakSvc: func(oldSvc, newSvc *core.Service) {
oldSvc.Spec.Type = core.ServiceTypeNodePort
newSvc.Spec.Type = core.ServiceTypeNodePort
newSvc.Spec.ExternalTrafficPolicy = core.ServiceExternalTrafficPolicyTypeCluster
newSvc.Spec.ExternalTrafficPolicy = core.ServiceExternalTrafficPolicyCluster
oldSvc.Spec.ClusterIP = ""
oldSvc.Spec.ClusterIPs = nil
@ -15900,7 +15900,7 @@ func TestValidateServiceUpdate(t *testing.T) {
tweakSvc: func(oldSvc, newSvc *core.Service) {
oldSvc.Spec.Type = core.ServiceTypeNodePort
newSvc.Spec.Type = core.ServiceTypeLoadBalancer
newSvc.Spec.ExternalTrafficPolicy = core.ServiceExternalTrafficPolicyTypeCluster
newSvc.Spec.ExternalTrafficPolicy = core.ServiceExternalTrafficPolicyCluster
newSvc.Spec.AllocateLoadBalancerNodePorts = utilpointer.BoolPtr(true)
oldSvc.Spec.ClusterIP = "1.2.3.4"
@ -15916,7 +15916,7 @@ func TestValidateServiceUpdate(t *testing.T) {
tweakSvc: func(oldSvc, newSvc *core.Service) {
oldSvc.Spec.Type = core.ServiceTypeNodePort
newSvc.Spec.Type = core.ServiceTypeLoadBalancer
newSvc.Spec.ExternalTrafficPolicy = core.ServiceExternalTrafficPolicyTypeCluster
newSvc.Spec.ExternalTrafficPolicy = core.ServiceExternalTrafficPolicyCluster
newSvc.Spec.AllocateLoadBalancerNodePorts = utilpointer.BoolPtr(true)
oldSvc.Spec.ClusterIP = ""
@ -15933,7 +15933,7 @@ func TestValidateServiceUpdate(t *testing.T) {
oldSvc.Spec.Type = core.ServiceTypeLoadBalancer
oldSvc.Spec.AllocateLoadBalancerNodePorts = utilpointer.BoolPtr(true)
newSvc.Spec.Type = core.ServiceTypeLoadBalancer
newSvc.Spec.ExternalTrafficPolicy = core.ServiceExternalTrafficPolicyTypeCluster
newSvc.Spec.ExternalTrafficPolicy = core.ServiceExternalTrafficPolicyCluster
newSvc.Spec.AllocateLoadBalancerNodePorts = utilpointer.BoolPtr(true)
oldSvc.Spec.ClusterIP = "1.2.3.4"
@ -15950,7 +15950,7 @@ func TestValidateServiceUpdate(t *testing.T) {
oldSvc.Spec.Type = core.ServiceTypeLoadBalancer
oldSvc.Spec.AllocateLoadBalancerNodePorts = utilpointer.BoolPtr(true)
newSvc.Spec.Type = core.ServiceTypeLoadBalancer
newSvc.Spec.ExternalTrafficPolicy = core.ServiceExternalTrafficPolicyTypeCluster
newSvc.Spec.ExternalTrafficPolicy = core.ServiceExternalTrafficPolicyCluster
newSvc.Spec.AllocateLoadBalancerNodePorts = utilpointer.BoolPtr(true)
oldSvc.Spec.ClusterIP = ""
@ -15997,7 +15997,7 @@ func TestValidateServiceUpdate(t *testing.T) {
oldSvc.Spec.Type = core.ServiceTypeLoadBalancer
oldSvc.Spec.AllocateLoadBalancerNodePorts = utilpointer.BoolPtr(true)
newSvc.Spec.Type = core.ServiceTypeNodePort
newSvc.Spec.ExternalTrafficPolicy = core.ServiceExternalTrafficPolicyTypeCluster
newSvc.Spec.ExternalTrafficPolicy = core.ServiceExternalTrafficPolicyCluster
oldSvc.Spec.ClusterIP = "1.2.3.4"
oldSvc.Spec.ClusterIPs = []string{"1.2.3.4"}
@ -16013,7 +16013,7 @@ func TestValidateServiceUpdate(t *testing.T) {
oldSvc.Spec.Type = core.ServiceTypeLoadBalancer
oldSvc.Spec.AllocateLoadBalancerNodePorts = utilpointer.BoolPtr(true)
newSvc.Spec.Type = core.ServiceTypeNodePort
newSvc.Spec.ExternalTrafficPolicy = core.ServiceExternalTrafficPolicyTypeCluster
newSvc.Spec.ExternalTrafficPolicy = core.ServiceExternalTrafficPolicyCluster
oldSvc.Spec.ClusterIP = ""
oldSvc.Spec.ClusterIPs = nil
@ -16056,7 +16056,7 @@ func TestValidateServiceUpdate(t *testing.T) {
tweakSvc: func(oldSvc, newSvc *core.Service) {
oldSvc.Spec.Type = core.ServiceTypeNodePort
newSvc.Spec.Type = core.ServiceTypeNodePort
newSvc.Spec.ExternalTrafficPolicy = core.ServiceExternalTrafficPolicyTypeCluster
newSvc.Spec.ExternalTrafficPolicy = core.ServiceExternalTrafficPolicyCluster
oldSvc.Spec.Ports = append(oldSvc.Spec.Ports, core.ServicePort{Name: "q", Port: 1, Protocol: "TCP", NodePort: 1, TargetPort: intstr.FromInt(1)})
newSvc.Spec.Ports = append(newSvc.Spec.Ports, core.ServicePort{Name: "q", Port: 1, Protocol: "TCP", NodePort: 1, TargetPort: intstr.FromInt(1)})
@ -16509,7 +16509,7 @@ func TestValidateServiceUpdate(t *testing.T) {
oldSvc.Spec.LoadBalancerClass = utilpointer.StringPtr("test.com/test-old")
newSvc.Spec.Type = core.ServiceTypeLoadBalancer
newSvc.Spec.ExternalTrafficPolicy = core.ServiceExternalTrafficPolicyTypeCluster
newSvc.Spec.ExternalTrafficPolicy = core.ServiceExternalTrafficPolicyCluster
newSvc.Spec.AllocateLoadBalancerNodePorts = utilpointer.BoolPtr(true)
newSvc.Spec.LoadBalancerClass = utilpointer.StringPtr("test.com/test-old")
},
@ -16523,7 +16523,7 @@ func TestValidateServiceUpdate(t *testing.T) {
oldSvc.Spec.LoadBalancerClass = utilpointer.StringPtr("test.com/test-old")
newSvc.Spec.Type = core.ServiceTypeLoadBalancer
newSvc.Spec.ExternalTrafficPolicy = core.ServiceExternalTrafficPolicyTypeCluster
newSvc.Spec.ExternalTrafficPolicy = core.ServiceExternalTrafficPolicyCluster
newSvc.Spec.AllocateLoadBalancerNodePorts = utilpointer.BoolPtr(true)
newSvc.Spec.LoadBalancerClass = utilpointer.StringPtr("test.com/test-new")
},
@ -16537,7 +16537,7 @@ func TestValidateServiceUpdate(t *testing.T) {
oldSvc.Spec.LoadBalancerClass = utilpointer.StringPtr("test.com/test-old")
newSvc.Spec.Type = core.ServiceTypeLoadBalancer
newSvc.Spec.ExternalTrafficPolicy = core.ServiceExternalTrafficPolicyTypeCluster
newSvc.Spec.ExternalTrafficPolicy = core.ServiceExternalTrafficPolicyCluster
newSvc.Spec.AllocateLoadBalancerNodePorts = utilpointer.BoolPtr(true)
newSvc.Spec.LoadBalancerClass = nil
},
@ -16551,7 +16551,7 @@ func TestValidateServiceUpdate(t *testing.T) {
oldSvc.Spec.LoadBalancerClass = nil
newSvc.Spec.Type = core.ServiceTypeLoadBalancer
newSvc.Spec.ExternalTrafficPolicy = core.ServiceExternalTrafficPolicyTypeCluster
newSvc.Spec.ExternalTrafficPolicy = core.ServiceExternalTrafficPolicyCluster
newSvc.Spec.AllocateLoadBalancerNodePorts = utilpointer.BoolPtr(true)
newSvc.Spec.LoadBalancerClass = utilpointer.StringPtr("test.com/test-new")
},
@ -16563,7 +16563,7 @@ func TestValidateServiceUpdate(t *testing.T) {
oldSvc.Spec.Type = core.ServiceTypeClusterIP
newSvc.Spec.Type = core.ServiceTypeLoadBalancer
newSvc.Spec.ExternalTrafficPolicy = core.ServiceExternalTrafficPolicyTypeCluster
newSvc.Spec.ExternalTrafficPolicy = core.ServiceExternalTrafficPolicyCluster
newSvc.Spec.AllocateLoadBalancerNodePorts = utilpointer.BoolPtr(true)
newSvc.Spec.LoadBalancerClass = utilpointer.StringPtr("test.com/test-load-balancer-class")
},
@ -16575,7 +16575,7 @@ func TestValidateServiceUpdate(t *testing.T) {
oldSvc.Spec.Type = core.ServiceTypeClusterIP
newSvc.Spec.Type = core.ServiceTypeLoadBalancer
newSvc.Spec.ExternalTrafficPolicy = core.ServiceExternalTrafficPolicyTypeCluster
newSvc.Spec.ExternalTrafficPolicy = core.ServiceExternalTrafficPolicyCluster
newSvc.Spec.AllocateLoadBalancerNodePorts = utilpointer.BoolPtr(true)
newSvc.Spec.LoadBalancerClass = nil
},
@ -16587,7 +16587,7 @@ func TestValidateServiceUpdate(t *testing.T) {
oldSvc.Spec.Type = core.ServiceTypeClusterIP
newSvc.Spec.Type = core.ServiceTypeLoadBalancer
newSvc.Spec.ExternalTrafficPolicy = core.ServiceExternalTrafficPolicyTypeCluster
newSvc.Spec.ExternalTrafficPolicy = core.ServiceExternalTrafficPolicyCluster
newSvc.Spec.AllocateLoadBalancerNodePorts = utilpointer.BoolPtr(true)
newSvc.Spec.LoadBalancerClass = utilpointer.StringPtr("Bad/LoadBalancerclass")
},
@ -16619,7 +16619,7 @@ func TestValidateServiceUpdate(t *testing.T) {
oldSvc.Spec.Type = core.ServiceTypeNodePort
newSvc.Spec.Type = core.ServiceTypeNodePort
newSvc.Spec.ExternalTrafficPolicy = core.ServiceExternalTrafficPolicyTypeCluster
newSvc.Spec.ExternalTrafficPolicy = core.ServiceExternalTrafficPolicyCluster
newSvc.Spec.LoadBalancerClass = utilpointer.StringPtr("test.com/test-load-balancer-class")
},
numErrs: 2,
@ -16656,7 +16656,7 @@ func TestValidateServiceUpdate(t *testing.T) {
oldSvc.Spec.LoadBalancerClass = utilpointer.StringPtr("test.com/test-load-balancer-class")
newSvc.Spec.Type = core.ServiceTypeNodePort
newSvc.Spec.ExternalTrafficPolicy = core.ServiceExternalTrafficPolicyTypeCluster
newSvc.Spec.ExternalTrafficPolicy = core.ServiceExternalTrafficPolicyCluster
newSvc.Spec.LoadBalancerClass = utilpointer.StringPtr("test.com/test-load-balancer-class")
},
numErrs: 2,

View File

@ -5502,7 +5502,7 @@ func (in *ServiceSpec) DeepCopyInto(out *ServiceSpec) {
}
if in.InternalTrafficPolicy != nil {
in, out := &in.InternalTrafficPolicy, &out.InternalTrafficPolicy
*out = new(ServiceInternalTrafficPolicyType)
*out = new(ServiceInternalTrafficPolicy)
**out = **in
}
return

View File

@ -26359,10 +26359,10 @@ func schema_k8sio_api_core_v1_ServiceSpec(ref common.ReferenceCallback) common.O
},
"externalTrafficPolicy": {
SchemaProps: spec.SchemaProps{
Description: "externalTrafficPolicy describes how nodes distribute service traffic they receive on one of the Service's \"externally-facing\" addresses (NodePorts, ExternalIPs, and LoadBalancer IPs). If set to \"Local\", the proxy will configure the service in a way that assumes that external load balancers will take care of balancing the service traffic between nodes, and so each node will deliver traffic only to the node-local endpoints of the service, without masquerading the client source IP. (Traffic mistakenly sent to a node with no endpoints will be dropped.) The default value, \"Cluster\", uses the standard behavior of routing to all endpoints evenly (possibly modified by topology and other features). Note that traffic sent to an External IP or LoadBalancer IP from within the cluster will always get \"Cluster\" semantics, but clients sending to a NodePort from within the cluster may need to take traffic policy into account when picking a node.\n\nPossible enum values:\n - `\"Cluster\"` routes traffic to all endpoints.\n - `\"Local\"` preserves the source IP of the traffic by routing only to endpoints on the same node as the traffic was received on (dropping the traffic if there are no local endpoints).",
Description: "externalTrafficPolicy describes how nodes distribute service traffic they receive on one of the Service's \"externally-facing\" addresses (NodePorts, ExternalIPs, and LoadBalancer IPs). If set to \"Local\", the proxy will configure the service in a way that assumes that external load balancers will take care of balancing the service traffic between nodes, and so each node will deliver traffic only to the node-local endpoints of the service, without masquerading the client source IP. (Traffic mistakenly sent to a node with no endpoints will be dropped.) The default value, \"Cluster\", uses the standard behavior of routing to all endpoints evenly (possibly modified by topology and other features). Note that traffic sent to an External IP or LoadBalancer IP from within the cluster will always get \"Cluster\" semantics, but clients sending to a NodePort from within the cluster may need to take traffic policy into account when picking a node.\n\nPossible enum values:\n - `\"Cluster\"`\n - `\"Cluster\"` routes traffic to all endpoints.\n - `\"Local\"`\n - `\"Local\"` preserves the source IP of the traffic by routing only to endpoints on the same node as the traffic was received on (dropping the traffic if there are no local endpoints).",
Type: []string{"string"},
Format: "",
Enum: []interface{}{"Cluster", "Local"}},
Enum: []interface{}{"Cluster", "Cluster", "Local", "Local"}},
},
"healthCheckNodePort": {
SchemaProps: spec.SchemaProps{

View File

@ -158,7 +158,7 @@ func TestDeleteEndpointConnectionsIPv4(t *testing.T) {
Port: tc.svcPort,
Protocol: tc.protocol,
}}
svc.Spec.ExternalTrafficPolicy = v1.ServiceExternalTrafficPolicyTypeLocal
svc.Spec.ExternalTrafficPolicy = v1.ServiceExternalTrafficPolicyLocal
}),
)
@ -301,7 +301,7 @@ func TestDeleteEndpointConnectionsIPv6(t *testing.T) {
Port: tc.svcPort,
Protocol: tc.protocol,
}}
svc.Spec.ExternalTrafficPolicy = v1.ServiceExternalTrafficPolicyTypeLocal
svc.Spec.ExternalTrafficPolicy = v1.ServiceExternalTrafficPolicyLocal
}),
)
@ -1814,7 +1814,7 @@ func TestOverallIPTablesRulesWithMultipleServices(t *testing.T) {
// create LoadBalancer service with Local traffic policy
makeTestService("ns2", "svc2", func(svc *v1.Service) {
svc.Spec.Type = "LoadBalancer"
svc.Spec.ExternalTrafficPolicy = v1.ServiceExternalTrafficPolicyTypeLocal
svc.Spec.ExternalTrafficPolicy = v1.ServiceExternalTrafficPolicyLocal
svc.Spec.ClusterIP = "172.30.0.42"
svc.Spec.Ports = []v1.ServicePort{{
Name: "p80",
@ -1854,7 +1854,7 @@ func TestOverallIPTablesRulesWithMultipleServices(t *testing.T) {
// create LoadBalancer service with Cluster traffic policy and source ranges
makeTestService("ns5", "svc5", func(svc *v1.Service) {
svc.Spec.Type = "LoadBalancer"
svc.Spec.ExternalTrafficPolicy = v1.ServiceExternalTrafficPolicyTypeCluster
svc.Spec.ExternalTrafficPolicy = v1.ServiceExternalTrafficPolicyCluster
svc.Spec.ClusterIP = "172.30.0.45"
svc.Spec.Ports = []v1.ServicePort{{
Name: "p80",
@ -2559,7 +2559,7 @@ func TestHealthCheckNodePort(t *testing.T) {
NodePort: int32(svcNodePort),
}}
svc.Spec.HealthCheckNodePort = int32(svcHealthCheckNodePort)
svc.Spec.ExternalTrafficPolicy = v1.ServiceExternalTrafficPolicyTypeLocal
svc.Spec.ExternalTrafficPolicy = v1.ServiceExternalTrafficPolicyLocal
})
makeServiceMap(fp, svc)
fp.syncProxyRules()
@ -2743,7 +2743,7 @@ func TestOnlyLocalExternalIPs(t *testing.T) {
makeServiceMap(fp,
makeTestService(svcPortName.Namespace, svcPortName.Name, func(svc *v1.Service) {
svc.Spec.Type = "NodePort"
svc.Spec.ExternalTrafficPolicy = v1.ServiceExternalTrafficPolicyTypeLocal
svc.Spec.ExternalTrafficPolicy = v1.ServiceExternalTrafficPolicyLocal
svc.Spec.ClusterIP = svcIP
svc.Spec.ExternalIPs = []string{svcExternalIPs}
svc.Spec.Ports = []v1.ServicePort{{
@ -3054,7 +3054,7 @@ func TestLoadBalancerReject(t *testing.T) {
svc.Status.LoadBalancer.Ingress = []v1.LoadBalancerIngress{{
IP: svcLBIP,
}}
svc.Spec.ExternalTrafficPolicy = v1.ServiceExternalTrafficPolicyTypeLocal
svc.Spec.ExternalTrafficPolicy = v1.ServiceExternalTrafficPolicyLocal
svc.Spec.SessionAffinity = v1.ServiceAffinityClientIP
svc.Spec.SessionAffinityConfig = &v1.SessionAffinityConfig{
ClientIP: &v1.ClientIPConfig{TimeoutSeconds: &svcSessionAffinityTimeout},
@ -3147,7 +3147,7 @@ func TestOnlyLocalLoadBalancing(t *testing.T) {
svc.Status.LoadBalancer.Ingress = []v1.LoadBalancerIngress{{
IP: svcLBIP,
}}
svc.Spec.ExternalTrafficPolicy = v1.ServiceExternalTrafficPolicyTypeLocal
svc.Spec.ExternalTrafficPolicy = v1.ServiceExternalTrafficPolicyLocal
svc.Spec.SessionAffinity = v1.ServiceAffinityClientIP
svc.Spec.SessionAffinityConfig = &v1.SessionAffinityConfig{
ClientIP: &v1.ClientIPConfig{TimeoutSeconds: &svcSessionAffinityTimeout},
@ -3319,7 +3319,7 @@ func TestEnableLocalhostNodePortsIPv4(t *testing.T) {
Protocol: v1.ProtocolTCP,
NodePort: int32(svcNodePort),
}}
svc.Spec.ExternalTrafficPolicy = v1.ServiceExternalTrafficPolicyTypeLocal
svc.Spec.ExternalTrafficPolicy = v1.ServiceExternalTrafficPolicyLocal
}),
)
@ -3413,7 +3413,7 @@ func TestDisableLocalhostNodePortsIPv4(t *testing.T) {
Protocol: v1.ProtocolTCP,
NodePort: int32(svcNodePort),
}}
svc.Spec.ExternalTrafficPolicy = v1.ServiceExternalTrafficPolicyTypeLocal
svc.Spec.ExternalTrafficPolicy = v1.ServiceExternalTrafficPolicyLocal
}),
)
@ -3508,7 +3508,7 @@ func TestDisableLocalhostNodePortsIPv4WithNodeAddress(t *testing.T) {
Protocol: v1.ProtocolTCP,
NodePort: int32(svcNodePort),
}}
svc.Spec.ExternalTrafficPolicy = v1.ServiceExternalTrafficPolicyTypeLocal
svc.Spec.ExternalTrafficPolicy = v1.ServiceExternalTrafficPolicyLocal
}),
)
@ -3602,7 +3602,7 @@ func TestEnableLocalhostNodePortsIPv6(t *testing.T) {
Protocol: v1.ProtocolTCP,
NodePort: int32(svcNodePort),
}}
svc.Spec.ExternalTrafficPolicy = v1.ServiceExternalTrafficPolicyTypeLocal
svc.Spec.ExternalTrafficPolicy = v1.ServiceExternalTrafficPolicyLocal
}),
)
@ -3696,7 +3696,7 @@ func TestDisableLocalhostNodePortsIPv6(t *testing.T) {
Protocol: v1.ProtocolTCP,
NodePort: int32(svcNodePort),
}}
svc.Spec.ExternalTrafficPolicy = v1.ServiceExternalTrafficPolicyTypeLocal
svc.Spec.ExternalTrafficPolicy = v1.ServiceExternalTrafficPolicyLocal
}),
)
@ -3844,7 +3844,7 @@ func onlyLocalNodePorts(t *testing.T, fp *Proxier, ipt *iptablestest.FakeIPTable
Protocol: v1.ProtocolTCP,
NodePort: int32(svcNodePort),
}}
svc.Spec.ExternalTrafficPolicy = v1.ServiceExternalTrafficPolicyTypeLocal
svc.Spec.ExternalTrafficPolicy = v1.ServiceExternalTrafficPolicyLocal
}),
)
@ -4026,7 +4026,7 @@ func TestBuildServiceMapAddRemove(t *testing.T) {
{IP: "5.6.7.8"},
},
}
svc.Spec.ExternalTrafficPolicy = v1.ServiceExternalTrafficPolicyTypeLocal
svc.Spec.ExternalTrafficPolicy = v1.ServiceExternalTrafficPolicyLocal
svc.Spec.HealthCheckNodePort = 345
}),
}
@ -4169,7 +4169,7 @@ func TestBuildServiceMapServiceUpdate(t *testing.T) {
{IP: "1.2.3.4"},
},
}
svc.Spec.ExternalTrafficPolicy = v1.ServiceExternalTrafficPolicyTypeLocal
svc.Spec.ExternalTrafficPolicy = v1.ServiceExternalTrafficPolicyLocal
svc.Spec.HealthCheckNodePort = 345
})
@ -5620,7 +5620,7 @@ func TestInternalTrafficPolicyE2E(t *testing.T) {
testCases := []struct {
name string
line int
internalTrafficPolicy *v1.ServiceInternalTrafficPolicyType
internalTrafficPolicy *v1.ServiceInternalTrafficPolicy
featureGateOn bool
endpoints []endpoint
expectEndpointRule bool
@ -5830,7 +5830,7 @@ func TestEndpointSliceWithTerminatingEndpointsTrafficPolicyLocal(t *testing.T) {
Spec: v1.ServiceSpec{
ClusterIP: "172.30.1.1",
Type: v1.ServiceTypeLoadBalancer,
ExternalTrafficPolicy: v1.ServiceExternalTrafficPolicyTypeLocal,
ExternalTrafficPolicy: v1.ServiceExternalTrafficPolicyLocal,
Selector: map[string]string{"foo": "bar"},
Ports: []v1.ServicePort{
{
@ -6615,7 +6615,7 @@ func TestEndpointSliceWithTerminatingEndpointsTrafficPolicyCluster(t *testing.T)
Spec: v1.ServiceSpec{
ClusterIP: "172.30.1.1",
Type: v1.ServiceTypeLoadBalancer,
ExternalTrafficPolicy: v1.ServiceExternalTrafficPolicyTypeCluster,
ExternalTrafficPolicy: v1.ServiceExternalTrafficPolicyCluster,
Selector: map[string]string{"foo": "bar"},
Ports: []v1.ServicePort{
{
@ -7383,7 +7383,7 @@ func TestInternalExternalMasquerade(t *testing.T) {
NodePort: int32(3002),
}}
svc.Spec.HealthCheckNodePort = 30002
svc.Spec.ExternalTrafficPolicy = v1.ServiceExternalTrafficPolicyTypeLocal
svc.Spec.ExternalTrafficPolicy = v1.ServiceExternalTrafficPolicyLocal
svc.Status.LoadBalancer.Ingress = []v1.LoadBalancerIngress{{
IP: "5.6.7.8",
}}
@ -8637,13 +8637,13 @@ func TestNoEndpointsMetric(t *testing.T) {
}
internalTrafficPolicyLocal := v1.ServiceInternalTrafficPolicyLocal
externalTrafficPolicyLocal := v1.ServiceExternalTrafficPolicyTypeLocal
externalTrafficPolicyLocal := v1.ServiceExternalTrafficPolicyLocal
metrics.RegisterMetrics()
testCases := []struct {
name string
internalTrafficPolicy *v1.ServiceInternalTrafficPolicyType
externalTrafficPolicy v1.ServiceExternalTrafficPolicyType
internalTrafficPolicy *v1.ServiceInternalTrafficPolicy
externalTrafficPolicy v1.ServiceExternalTrafficPolicy
endpoints []endpoint
expectedSyncProxyRulesNoLocalEndpointsTotalInternal int
expectedSyncProxyRulesNoLocalEndpointsTotalExternal int

View File

@ -900,7 +900,7 @@ func TestNodePortIPv4(t *testing.T) {
Protocol: v1.ProtocolSCTP,
NodePort: int32(3001),
}}
svc.Spec.ExternalTrafficPolicy = v1.ServiceExternalTrafficPolicyTypeLocal
svc.Spec.ExternalTrafficPolicy = v1.ServiceExternalTrafficPolicyLocal
}),
},
endpoints: []*discovery.EndpointSlice{
@ -1932,7 +1932,7 @@ func TestOnlyLocalExternalIPs(t *testing.T) {
Protocol: v1.ProtocolTCP,
TargetPort: intstr.FromInt(svcPort),
}}
svc.Spec.ExternalTrafficPolicy = v1.ServiceExternalTrafficPolicyTypeLocal
svc.Spec.ExternalTrafficPolicy = v1.ServiceExternalTrafficPolicyLocal
}),
)
epIP := "10.180.0.1"
@ -2098,7 +2098,7 @@ func TestOnlyLocalNodePorts(t *testing.T) {
Protocol: v1.ProtocolTCP,
NodePort: int32(svcNodePort),
}}
svc.Spec.ExternalTrafficPolicy = v1.ServiceExternalTrafficPolicyTypeLocal
svc.Spec.ExternalTrafficPolicy = v1.ServiceExternalTrafficPolicyLocal
}),
)
@ -2198,14 +2198,14 @@ func TestHealthCheckNodePort(t *testing.T) {
Protocol: v1.ProtocolTCP,
NodePort: int32(svcNodePort),
}}
svc.Spec.ExternalTrafficPolicy = v1.ServiceExternalTrafficPolicyTypeLocal
svc.Spec.ExternalTrafficPolicy = v1.ServiceExternalTrafficPolicyLocal
})
svc1, svc2, invalidSvc3 := *sampleSvc, *sampleSvc, *sampleSvc
svc1.Name, svc1.Spec.HealthCheckNodePort = "valid-svc1", 30000
svc2.Name, svc2.Spec.HealthCheckNodePort = "valid-svc2", 30001
// make svc3 invalid by setting external traffic policy to cluster
invalidSvc3.Spec.ExternalTrafficPolicy = v1.ServiceExternalTrafficPolicyTypeCluster
invalidSvc3.Spec.ExternalTrafficPolicy = v1.ServiceExternalTrafficPolicyCluster
invalidSvc3.Name, invalidSvc3.Spec.HealthCheckNodePort = "invalid-svc3", 30002
makeServiceMap(fp,
@ -2453,7 +2453,7 @@ func TestOnlyLocalLoadBalancing(t *testing.T) {
svc.Status.LoadBalancer.Ingress = []v1.LoadBalancerIngress{{
IP: svcLBIP,
}}
svc.Spec.ExternalTrafficPolicy = v1.ServiceExternalTrafficPolicyTypeLocal
svc.Spec.ExternalTrafficPolicy = v1.ServiceExternalTrafficPolicyLocal
}),
)
@ -2591,7 +2591,7 @@ func TestBuildServiceMapAddRemove(t *testing.T) {
{IP: "10.1.2.3"},
},
}
svc.Spec.ExternalTrafficPolicy = v1.ServiceExternalTrafficPolicyTypeLocal
svc.Spec.ExternalTrafficPolicy = v1.ServiceExternalTrafficPolicyLocal
svc.Spec.HealthCheckNodePort = 345
}),
}
@ -2745,7 +2745,7 @@ func TestBuildServiceMapServiceUpdate(t *testing.T) {
{IP: "10.1.2.3"},
},
}
svc.Spec.ExternalTrafficPolicy = v1.ServiceExternalTrafficPolicyTypeLocal
svc.Spec.ExternalTrafficPolicy = v1.ServiceExternalTrafficPolicyLocal
svc.Spec.HealthCheckNodePort = 345
})
@ -4593,7 +4593,7 @@ func TestHealthCheckNodePortE2E(t *testing.T) {
Ports: []v1.ServicePort{{Name: "", TargetPort: intstr.FromInt(80), Protocol: v1.ProtocolTCP}},
Type: "LoadBalancer",
HealthCheckNodePort: 30000,
ExternalTrafficPolicy: v1.ServiceExternalTrafficPolicyTypeLocal,
ExternalTrafficPolicy: v1.ServiceExternalTrafficPolicyLocal,
},
}
fp.OnServiceAdd(&svc)
@ -4805,7 +4805,7 @@ func TestTestInternalTrafficPolicyE2E(t *testing.T) {
testCases := []struct {
name string
internalTrafficPolicy *v1.ServiceInternalTrafficPolicyType
internalTrafficPolicy *v1.ServiceInternalTrafficPolicy
endpoints []endpoint
expectVirtualServer bool
expectLocalEntries bool
@ -4994,7 +4994,7 @@ func Test_EndpointSliceReadyAndTerminatingCluster(t *testing.T) {
ClusterIP: "172.20.1.1",
Selector: map[string]string{"foo": "bar"},
Type: v1.ServiceTypeNodePort,
ExternalTrafficPolicy: v1.ServiceExternalTrafficPolicyTypeCluster,
ExternalTrafficPolicy: v1.ServiceExternalTrafficPolicyCluster,
InternalTrafficPolicy: &clusterInternalTrafficPolicy,
ExternalIPs: []string{
"1.2.3.4",
@ -5171,7 +5171,7 @@ func Test_EndpointSliceReadyAndTerminatingLocal(t *testing.T) {
ClusterIP: "172.20.1.1",
Selector: map[string]string{"foo": "bar"},
Type: v1.ServiceTypeNodePort,
ExternalTrafficPolicy: v1.ServiceExternalTrafficPolicyTypeLocal,
ExternalTrafficPolicy: v1.ServiceExternalTrafficPolicyLocal,
InternalTrafficPolicy: &clusterInternalTrafficPolicy,
ExternalIPs: []string{
"1.2.3.4",
@ -5347,7 +5347,7 @@ func Test_EndpointSliceOnlyReadyAndTerminatingCluster(t *testing.T) {
ClusterIP: "172.20.1.1",
Selector: map[string]string{"foo": "bar"},
Type: v1.ServiceTypeNodePort,
ExternalTrafficPolicy: v1.ServiceExternalTrafficPolicyTypeCluster,
ExternalTrafficPolicy: v1.ServiceExternalTrafficPolicyCluster,
InternalTrafficPolicy: &clusterInternalTrafficPolicy,
ExternalIPs: []string{
"1.2.3.4",
@ -5523,7 +5523,7 @@ func Test_EndpointSliceOnlyReadyAndTerminatingLocal(t *testing.T) {
ClusterIP: "172.20.1.1",
Selector: map[string]string{"foo": "bar"},
Type: v1.ServiceTypeNodePort,
ExternalTrafficPolicy: v1.ServiceExternalTrafficPolicyTypeLocal,
ExternalTrafficPolicy: v1.ServiceExternalTrafficPolicyLocal,
InternalTrafficPolicy: &clusterInternalTrafficPolicy,
ExternalIPs: []string{
"1.2.3.4",
@ -5696,7 +5696,7 @@ func Test_EndpointSliceOnlyReadyAndTerminatingLocalWithFeatureGateDisabled(t *te
ClusterIP: "172.20.1.1",
Selector: map[string]string{"foo": "bar"},
Type: v1.ServiceTypeNodePort,
ExternalTrafficPolicy: v1.ServiceExternalTrafficPolicyTypeLocal,
ExternalTrafficPolicy: v1.ServiceExternalTrafficPolicyLocal,
InternalTrafficPolicy: &clusterInternalTrafficPolicy,
ExternalIPs: []string{
"1.2.3.4",
@ -5942,13 +5942,13 @@ func TestNoEndpointsMetric(t *testing.T) {
}
internalTrafficPolicyLocal := v1.ServiceInternalTrafficPolicyLocal
externalTrafficPolicyLocal := v1.ServiceExternalTrafficPolicyTypeLocal
externalTrafficPolicyLocal := v1.ServiceExternalTrafficPolicyLocal
metrics.RegisterMetrics()
testCases := []struct {
name string
internalTrafficPolicy *v1.ServiceInternalTrafficPolicyType
externalTrafficPolicy v1.ServiceExternalTrafficPolicyType
internalTrafficPolicy *v1.ServiceInternalTrafficPolicy
externalTrafficPolicy v1.ServiceExternalTrafficPolicy
endpoints []endpoint
expectedSyncProxyRulesNoLocalEndpointsTotalInternal int
expectedSyncProxyRulesNoLocalEndpointsTotalExternal int

View File

@ -52,7 +52,7 @@ type BaseServicePortInfo struct {
healthCheckNodePort int
externalPolicyLocal bool
internalPolicyLocal bool
internalTrafficPolicy *v1.ServiceInternalTrafficPolicyType
internalTrafficPolicy *v1.ServiceInternalTrafficPolicy
hintsAnnotation string
}
@ -128,7 +128,7 @@ func (bsvcPortInfo *BaseServicePortInfo) InternalPolicyLocal() bool {
}
// InternalTrafficPolicy is part of ServicePort interface
func (bsvcPortInfo *BaseServicePortInfo) InternalTrafficPolicy() *v1.ServiceInternalTrafficPolicyType {
func (bsvcPortInfo *BaseServicePortInfo) InternalTrafficPolicy() *v1.ServiceInternalTrafficPolicy {
return bsvcPortInfo.internalTrafficPolicy
}

View File

@ -200,7 +200,7 @@ func TestServiceToServiceMap(t *testing.T) {
svc.Spec.Ports = addTestPort(svc.Spec.Ports, "portx", "UDP", 8677, 30063, 7002)
svc.Spec.Ports = addTestPort(svc.Spec.Ports, "porty", "UDP", 8678, 30064, 7003)
svc.Status.LoadBalancer.Ingress = []v1.LoadBalancerIngress{{IP: "10.1.2.3"}}
svc.Spec.ExternalTrafficPolicy = v1.ServiceExternalTrafficPolicyTypeLocal
svc.Spec.ExternalTrafficPolicy = v1.ServiceExternalTrafficPolicyLocal
svc.Spec.HealthCheckNodePort = 345
}),
expected: map[ServicePortName]*BaseServicePortInfo{
@ -651,7 +651,7 @@ func TestBuildServiceMapAddRemove(t *testing.T) {
{IP: "10.1.2.3"},
},
}
svc.Spec.ExternalTrafficPolicy = v1.ServiceExternalTrafficPolicyTypeLocal
svc.Spec.ExternalTrafficPolicy = v1.ServiceExternalTrafficPolicyLocal
svc.Spec.HealthCheckNodePort = 345
}),
}
@ -751,7 +751,7 @@ func TestBuildServiceMapServiceUpdate(t *testing.T) {
{IP: "10.1.2.3"},
},
}
svc.Spec.ExternalTrafficPolicy = v1.ServiceExternalTrafficPolicyTypeLocal
svc.Spec.ExternalTrafficPolicy = v1.ServiceExternalTrafficPolicyLocal
svc.Spec.HealthCheckNodePort = 345
})

View File

@ -88,7 +88,7 @@ type ServicePort interface {
// InternalPolicyLocal returns if a service has only node local endpoints for internal traffic.
InternalPolicyLocal() bool
// InternalTrafficPolicy returns service InternalTrafficPolicy
InternalTrafficPolicy() *v1.ServiceInternalTrafficPolicyType
InternalTrafficPolicy() *v1.ServiceInternalTrafficPolicy
// HintsAnnotation returns the value of the v1.AnnotationTopologyAwareHints annotation.
HintsAnnotation() string
// ExternallyAccessible returns true if the service port is reachable via something

View File

@ -462,7 +462,7 @@ func (refCountMap endPointsReferenceCountMap) getRefCount(hnsID string) *uint16
func (proxier *Proxier) newServiceInfo(port *v1.ServicePort, service *v1.Service, bsvcPortInfo *proxy.BaseServicePortInfo) proxy.ServicePort {
info := &serviceInfo{BaseServicePortInfo: bsvcPortInfo}
preserveDIP := service.Annotations["preserve-destination"] == "true"
localTrafficDSR := service.Spec.ExternalTrafficPolicy == v1.ServiceExternalTrafficPolicyTypeLocal
localTrafficDSR := service.Spec.ExternalTrafficPolicy == v1.ServiceExternalTrafficPolicyLocal
err := hcn.DSRSupported()
if err != nil {
preserveDIP = false

View File

@ -740,7 +740,7 @@ func TestCreateDsrLoadBalancer(t *testing.T) {
makeTestService(svcPortName.Namespace, svcPortName.Name, func(svc *v1.Service) {
svc.Spec.Type = "NodePort"
svc.Spec.ClusterIP = svcIP
svc.Spec.ExternalTrafficPolicy = v1.ServiceExternalTrafficPolicyTypeLocal
svc.Spec.ExternalTrafficPolicy = v1.ServiceExternalTrafficPolicyLocal
svc.Spec.Ports = []v1.ServicePort{{
Name: svcPortName.Port,
Port: int32(svcPort),

View File

@ -652,7 +652,7 @@ func needsHCNodePort(svc *api.Service) bool {
if svc.Spec.Type != api.ServiceTypeLoadBalancer {
return false
}
if svc.Spec.ExternalTrafficPolicy != api.ServiceExternalTrafficPolicyTypeLocal {
if svc.Spec.ExternalTrafficPolicy != api.ServiceExternalTrafficPolicyLocal {
return false
}
return true

View File

@ -436,13 +436,13 @@ func TestPatchAllocatedValues(t *testing.T) {
name: "all_patched",
before: svctest.MakeService("foo",
svctest.SetTypeLoadBalancer,
svctest.SetExternalTrafficPolicy(api.ServiceExternalTrafficPolicyTypeLocal),
svctest.SetExternalTrafficPolicy(api.ServiceExternalTrafficPolicyLocal),
svctest.SetClusterIPs("10.0.0.93", "2000::76"),
svctest.SetUniqueNodePorts,
svctest.SetHealthCheckNodePort(31234)),
update: svctest.MakeService("foo",
svctest.SetTypeLoadBalancer,
svctest.SetExternalTrafficPolicy(api.ServiceExternalTrafficPolicyTypeLocal)),
svctest.SetExternalTrafficPolicy(api.ServiceExternalTrafficPolicyLocal)),
expectSameClusterIPs: true,
expectSameNodePort: true,
expectSameHCNP: true,
@ -474,13 +474,13 @@ func TestPatchAllocatedValues(t *testing.T) {
name: "HCNP_patched",
before: svctest.MakeService("foo",
svctest.SetTypeLoadBalancer,
svctest.SetExternalTrafficPolicy(api.ServiceExternalTrafficPolicyTypeLocal),
svctest.SetExternalTrafficPolicy(api.ServiceExternalTrafficPolicyLocal),
svctest.SetClusterIPs("10.0.0.93", "2000::76"),
svctest.SetUniqueNodePorts,
svctest.SetHealthCheckNodePort(31234)),
update: svctest.MakeService("foo",
svctest.SetTypeLoadBalancer,
svctest.SetExternalTrafficPolicy(api.ServiceExternalTrafficPolicyTypeLocal),
svctest.SetExternalTrafficPolicy(api.ServiceExternalTrafficPolicyLocal),
svctest.SetClusterIPs("10.0.0.93", "2000::76"),
svctest.SetUniqueNodePorts),
expectSameClusterIPs: true,
@ -491,13 +491,13 @@ func TestPatchAllocatedValues(t *testing.T) {
before: svctest.MakeService("foo",
svctest.SetTypeExternalName,
// these are not valid, but prove the test
svctest.SetExternalTrafficPolicy(api.ServiceExternalTrafficPolicyTypeLocal),
svctest.SetExternalTrafficPolicy(api.ServiceExternalTrafficPolicyLocal),
svctest.SetClusterIPs("10.0.0.93", "2000::76"),
svctest.SetUniqueNodePorts,
svctest.SetHealthCheckNodePort(31234)),
update: svctest.MakeService("foo",
svctest.SetTypeExternalName,
svctest.SetExternalTrafficPolicy(api.ServiceExternalTrafficPolicyTypeLocal)),
svctest.SetExternalTrafficPolicy(api.ServiceExternalTrafficPolicyLocal)),
}}
for _, tc := range testCases {
@ -973,41 +973,41 @@ func TestVerifyEquiv(t *testing.T) {
name: "HealthCheckNodePort_unspecified",
input: svcTestCase{
svc: svctest.MakeService("foo", svctest.SetTypeLoadBalancer,
svctest.SetExternalTrafficPolicy(api.ServiceExternalTrafficPolicyTypeLocal)),
svctest.SetExternalTrafficPolicy(api.ServiceExternalTrafficPolicyLocal)),
expectClusterIPs: true,
expectNodePorts: true,
expectHealthCheckNodePort: true,
},
output: svctest.MakeService("foo", svctest.SetTypeLoadBalancer,
svctest.SetExternalTrafficPolicy(api.ServiceExternalTrafficPolicyTypeLocal),
svctest.SetExternalTrafficPolicy(api.ServiceExternalTrafficPolicyLocal),
svctest.SetHealthCheckNodePort(93)),
expect: true,
}, {
name: "HealthCheckNodePort_specified",
input: svcTestCase{
svc: svctest.MakeService("foo", svctest.SetTypeLoadBalancer,
svctest.SetExternalTrafficPolicy(api.ServiceExternalTrafficPolicyTypeLocal),
svctest.SetExternalTrafficPolicy(api.ServiceExternalTrafficPolicyLocal),
svctest.SetHealthCheckNodePort(93)),
expectClusterIPs: true,
expectNodePorts: true,
expectHealthCheckNodePort: true,
},
output: svctest.MakeService("foo", svctest.SetTypeLoadBalancer,
svctest.SetExternalTrafficPolicy(api.ServiceExternalTrafficPolicyTypeLocal),
svctest.SetExternalTrafficPolicy(api.ServiceExternalTrafficPolicyLocal),
svctest.SetHealthCheckNodePort(93)),
expect: true,
}, {
name: "HealthCheckNodePort_wrong",
input: svcTestCase{
svc: svctest.MakeService("foo", svctest.SetTypeLoadBalancer,
svctest.SetExternalTrafficPolicy(api.ServiceExternalTrafficPolicyTypeLocal),
svctest.SetExternalTrafficPolicy(api.ServiceExternalTrafficPolicyLocal),
svctest.SetHealthCheckNodePort(93)),
expectClusterIPs: true,
expectNodePorts: true,
expectHealthCheckNodePort: true,
},
output: svctest.MakeService("foo", svctest.SetTypeLoadBalancer,
svctest.SetExternalTrafficPolicy(api.ServiceExternalTrafficPolicyTypeLocal),
svctest.SetExternalTrafficPolicy(api.ServiceExternalTrafficPolicyLocal),
svctest.SetHealthCheckNodePort(76)),
expect: false,
}}
@ -1243,7 +1243,7 @@ func fmtIPFamilyPolicy(pol *api.IPFamilyPolicy) string {
return string(*pol)
}
func fmtInternalTrafficPolicy(pol *api.ServiceInternalTrafficPolicyType) string {
func fmtInternalTrafficPolicy(pol *api.ServiceInternalTrafficPolicy) string {
if pol == nil {
return "<nil>"
}
@ -6538,7 +6538,7 @@ func TestDeleteWithFinalizer(t *testing.T) {
// This will allocate cluster IPs, NodePort, and HealthCheckNodePort.
svc := svctest.MakeService(svcName, svctest.SetTypeLoadBalancer,
svctest.SetExternalTrafficPolicy(api.ServiceExternalTrafficPolicyTypeLocal),
svctest.SetExternalTrafficPolicy(api.ServiceExternalTrafficPolicyLocal),
func(s *api.Service) {
s.Finalizers = []string{"example.com/test"}
})
@ -6613,7 +6613,7 @@ func TestDeleteDryRun(t *testing.T) {
svc: svctest.MakeService("foo",
svctest.SetTypeLoadBalancer,
svctest.SetIPFamilies(api.IPv4Protocol),
svctest.SetExternalTrafficPolicy(api.ServiceExternalTrafficPolicyTypeLocal)),
svctest.SetExternalTrafficPolicy(api.ServiceExternalTrafficPolicyLocal)),
},
{
name: "v4v6",
@ -6621,7 +6621,7 @@ func TestDeleteDryRun(t *testing.T) {
svctest.SetTypeLoadBalancer,
svctest.SetIPFamilyPolicy(api.IPFamilyPolicyRequireDualStack),
svctest.SetIPFamilies(api.IPv4Protocol, api.IPv6Protocol),
svctest.SetExternalTrafficPolicy(api.ServiceExternalTrafficPolicyTypeLocal)),
svctest.SetExternalTrafficPolicy(api.ServiceExternalTrafficPolicyLocal)),
}}
for _, tc := range testCases {
@ -6669,13 +6669,13 @@ func TestUpdateDryRun(t *testing.T) {
clusterFamilies: []api.IPFamily{api.IPv4Protocol},
svc: svctest.MakeService("foo", svctest.SetTypeExternalName),
update: svctest.MakeService("foo", svctest.SetTypeLoadBalancer,
svctest.SetExternalTrafficPolicy(api.ServiceExternalTrafficPolicyTypeLocal)),
svctest.SetExternalTrafficPolicy(api.ServiceExternalTrafficPolicyLocal)),
verifyDryAllocs: true, // make sure values were not allocated.
}, {
name: "singlestack:v4_Allocs-NoAllocs",
clusterFamilies: []api.IPFamily{api.IPv4Protocol},
svc: svctest.MakeService("foo", svctest.SetTypeLoadBalancer,
svctest.SetExternalTrafficPolicy(api.ServiceExternalTrafficPolicyTypeLocal)),
svctest.SetExternalTrafficPolicy(api.ServiceExternalTrafficPolicyLocal)),
update: svctest.MakeService("foo", svctest.SetTypeExternalName),
verifyDryAllocs: false, // make sure values were not released.
}, {
@ -6683,13 +6683,13 @@ func TestUpdateDryRun(t *testing.T) {
clusterFamilies: []api.IPFamily{api.IPv6Protocol},
svc: svctest.MakeService("foo", svctest.SetTypeExternalName),
update: svctest.MakeService("foo", svctest.SetTypeLoadBalancer,
svctest.SetExternalTrafficPolicy(api.ServiceExternalTrafficPolicyTypeLocal)),
svctest.SetExternalTrafficPolicy(api.ServiceExternalTrafficPolicyLocal)),
verifyDryAllocs: true, // make sure values were not allocated.
}, {
name: "singlestack:v6_Allocs-NoAllocs",
clusterFamilies: []api.IPFamily{api.IPv6Protocol},
svc: svctest.MakeService("foo", svctest.SetTypeLoadBalancer,
svctest.SetExternalTrafficPolicy(api.ServiceExternalTrafficPolicyTypeLocal)),
svctest.SetExternalTrafficPolicy(api.ServiceExternalTrafficPolicyLocal)),
update: svctest.MakeService("foo", svctest.SetTypeExternalName),
verifyDryAllocs: false, // make sure values were not released.
}, {
@ -6697,13 +6697,13 @@ func TestUpdateDryRun(t *testing.T) {
clusterFamilies: []api.IPFamily{api.IPv4Protocol, api.IPv6Protocol},
svc: svctest.MakeService("foo", svctest.SetTypeExternalName),
update: svctest.MakeService("foo", svctest.SetTypeLoadBalancer,
svctest.SetExternalTrafficPolicy(api.ServiceExternalTrafficPolicyTypeLocal)),
svctest.SetExternalTrafficPolicy(api.ServiceExternalTrafficPolicyLocal)),
verifyDryAllocs: true, // make sure values were not allocated.
}, {
name: "dualstack:v4v6_Allocs-NoAllocs",
clusterFamilies: []api.IPFamily{api.IPv4Protocol, api.IPv6Protocol},
svc: svctest.MakeService("foo", svctest.SetTypeLoadBalancer,
svctest.SetExternalTrafficPolicy(api.ServiceExternalTrafficPolicyTypeLocal)),
svctest.SetExternalTrafficPolicy(api.ServiceExternalTrafficPolicyLocal)),
update: svctest.MakeService("foo", svctest.SetTypeExternalName),
verifyDryAllocs: false, // make sure values were not released.
}, {
@ -6711,13 +6711,13 @@ func TestUpdateDryRun(t *testing.T) {
clusterFamilies: []api.IPFamily{api.IPv6Protocol, api.IPv4Protocol},
svc: svctest.MakeService("foo", svctest.SetTypeExternalName),
update: svctest.MakeService("foo", svctest.SetTypeLoadBalancer,
svctest.SetExternalTrafficPolicy(api.ServiceExternalTrafficPolicyTypeLocal)),
svctest.SetExternalTrafficPolicy(api.ServiceExternalTrafficPolicyLocal)),
verifyDryAllocs: true, // make sure values were not allocated.
}, {
name: "dualstack:v6v4_Allocs-NoAllocs",
clusterFamilies: []api.IPFamily{api.IPv6Protocol, api.IPv4Protocol},
svc: svctest.MakeService("foo", svctest.SetTypeLoadBalancer,
svctest.SetExternalTrafficPolicy(api.ServiceExternalTrafficPolicyTypeLocal)),
svctest.SetExternalTrafficPolicy(api.ServiceExternalTrafficPolicyLocal)),
update: svctest.MakeService("foo", svctest.SetTypeExternalName),
verifyDryAllocs: false, // make sure values were not released.
}}
@ -6860,7 +6860,7 @@ func TestUpdatePatchAllocatedValues(t *testing.T) {
create: svcTestCase{
svc: svctest.MakeService("foo",
svctest.SetTypeLoadBalancer,
svctest.SetExternalTrafficPolicy(api.ServiceExternalTrafficPolicyTypeLocal),
svctest.SetExternalTrafficPolicy(api.ServiceExternalTrafficPolicyLocal),
svctest.SetClusterIPs("10.0.0.1"),
svctest.SetNodePorts(30093),
svctest.SetHealthCheckNodePort(30118)),
@ -6871,7 +6871,7 @@ func TestUpdatePatchAllocatedValues(t *testing.T) {
update: svcTestCase{
svc: svctest.MakeService("foo",
svctest.SetTypeLoadBalancer,
svctest.SetExternalTrafficPolicy(api.ServiceExternalTrafficPolicyTypeLocal)),
svctest.SetExternalTrafficPolicy(api.ServiceExternalTrafficPolicyLocal)),
expectClusterIPs: true,
expectNodePorts: true,
expectHealthCheckNodePort: true,
@ -6885,7 +6885,7 @@ func TestUpdatePatchAllocatedValues(t *testing.T) {
create: svcTestCase{
svc: svctest.MakeService("foo",
svctest.SetTypeLoadBalancer,
svctest.SetExternalTrafficPolicy(api.ServiceExternalTrafficPolicyTypeLocal),
svctest.SetExternalTrafficPolicy(api.ServiceExternalTrafficPolicyLocal),
svctest.SetIPFamilyPolicy(api.IPFamilyPolicyPreferDualStack),
svctest.SetClusterIPs("10.0.0.1", "2000::1"),
svctest.SetPorts(
@ -6900,7 +6900,7 @@ func TestUpdatePatchAllocatedValues(t *testing.T) {
update: svcTestCase{
svc: svctest.MakeService("foo",
svctest.SetTypeLoadBalancer,
svctest.SetExternalTrafficPolicy(api.ServiceExternalTrafficPolicyTypeLocal),
svctest.SetExternalTrafficPolicy(api.ServiceExternalTrafficPolicyLocal),
svctest.SetPorts(
svctest.MakeServicePort("p", 867, intstr.FromInt(867), api.ProtocolTCP),
svctest.MakeServicePort("q", 5309, intstr.FromInt(5309), api.ProtocolTCP))),
@ -6919,7 +6919,7 @@ func TestUpdatePatchAllocatedValues(t *testing.T) {
create: svcTestCase{
svc: svctest.MakeService("foo",
svctest.SetTypeLoadBalancer,
svctest.SetExternalTrafficPolicy(api.ServiceExternalTrafficPolicyTypeLocal),
svctest.SetExternalTrafficPolicy(api.ServiceExternalTrafficPolicyLocal),
svctest.SetIPFamilyPolicy(api.IPFamilyPolicyPreferDualStack),
svctest.SetClusterIPs("10.0.0.1", "2000::1"),
svctest.SetPorts(
@ -6934,7 +6934,7 @@ func TestUpdatePatchAllocatedValues(t *testing.T) {
update: svcTestCase{
svc: svctest.MakeService("foo",
svctest.SetTypeLoadBalancer,
svctest.SetExternalTrafficPolicy(api.ServiceExternalTrafficPolicyTypeLocal),
svctest.SetExternalTrafficPolicy(api.ServiceExternalTrafficPolicyLocal),
svctest.SetClusterIPs("10.0.0.1")),
expectError: true,
},
@ -6943,7 +6943,7 @@ func TestUpdatePatchAllocatedValues(t *testing.T) {
create: svcTestCase{
svc: svctest.MakeService("foo",
svctest.SetTypeLoadBalancer,
svctest.SetExternalTrafficPolicy(api.ServiceExternalTrafficPolicyTypeLocal),
svctest.SetExternalTrafficPolicy(api.ServiceExternalTrafficPolicyLocal),
svctest.SetPorts(
svctest.MakeServicePort("p", 867, intstr.FromInt(867), api.ProtocolTCP),
svctest.MakeServicePort("q", 5309, intstr.FromInt(5309), api.ProtocolTCP)),
@ -6956,7 +6956,7 @@ func TestUpdatePatchAllocatedValues(t *testing.T) {
update: svcTestCase{
svc: svctest.MakeService("foo",
svctest.SetTypeLoadBalancer,
svctest.SetExternalTrafficPolicy(api.ServiceExternalTrafficPolicyTypeLocal),
svctest.SetExternalTrafficPolicy(api.ServiceExternalTrafficPolicyLocal),
svctest.SetPorts(
svctest.MakeServicePort("p", 867, intstr.FromInt(867), api.ProtocolTCP),
svctest.MakeServicePort("q", 5309, intstr.FromInt(5309), api.ProtocolTCP)),
@ -6974,7 +6974,7 @@ func TestUpdatePatchAllocatedValues(t *testing.T) {
create: svcTestCase{
svc: svctest.MakeService("foo",
svctest.SetTypeLoadBalancer,
svctest.SetExternalTrafficPolicy(api.ServiceExternalTrafficPolicyTypeLocal),
svctest.SetExternalTrafficPolicy(api.ServiceExternalTrafficPolicyLocal),
svctest.SetPorts(
svctest.MakeServicePort("p", 867, intstr.FromInt(867), api.ProtocolTCP),
svctest.MakeServicePort("q", 5309, intstr.FromInt(5309), api.ProtocolTCP)),
@ -6987,7 +6987,7 @@ func TestUpdatePatchAllocatedValues(t *testing.T) {
update: svcTestCase{
svc: svctest.MakeService("foo",
svctest.SetTypeLoadBalancer,
svctest.SetExternalTrafficPolicy(api.ServiceExternalTrafficPolicyTypeLocal),
svctest.SetExternalTrafficPolicy(api.ServiceExternalTrafficPolicyLocal),
svctest.SetPorts(
// swapped from above
svctest.MakeServicePort("q", 5309, intstr.FromInt(5309), api.ProtocolTCP),
@ -7005,7 +7005,7 @@ func TestUpdatePatchAllocatedValues(t *testing.T) {
create: svcTestCase{
svc: svctest.MakeService("foo",
svctest.SetTypeLoadBalancer,
svctest.SetExternalTrafficPolicy(api.ServiceExternalTrafficPolicyTypeLocal),
svctest.SetExternalTrafficPolicy(api.ServiceExternalTrafficPolicyLocal),
svctest.SetPorts(
svctest.MakeServicePort("p", 867, intstr.FromInt(867), api.ProtocolTCP),
svctest.MakeServicePort("q", 5309, intstr.FromInt(5309), api.ProtocolTCP)),
@ -7018,7 +7018,7 @@ func TestUpdatePatchAllocatedValues(t *testing.T) {
update: svcTestCase{
svc: svctest.MakeService("foo",
svctest.SetTypeLoadBalancer,
svctest.SetExternalTrafficPolicy(api.ServiceExternalTrafficPolicyTypeLocal),
svctest.SetExternalTrafficPolicy(api.ServiceExternalTrafficPolicyLocal),
svctest.SetPorts(
svctest.MakeServicePort("p", 867, intstr.FromInt(867), api.ProtocolTCP),
svctest.MakeServicePort("q", 5309, intstr.FromInt(5309), api.ProtocolTCP)),
@ -7037,7 +7037,7 @@ func TestUpdatePatchAllocatedValues(t *testing.T) {
create: svcTestCase{
svc: svctest.MakeService("foo",
svctest.SetTypeLoadBalancer,
svctest.SetExternalTrafficPolicy(api.ServiceExternalTrafficPolicyTypeLocal),
svctest.SetExternalTrafficPolicy(api.ServiceExternalTrafficPolicyLocal),
svctest.SetPorts(
svctest.MakeServicePort("p", 867, intstr.FromInt(867), api.ProtocolTCP),
svctest.MakeServicePort("q", 5309, intstr.FromInt(5309), api.ProtocolTCP)),
@ -7050,7 +7050,7 @@ func TestUpdatePatchAllocatedValues(t *testing.T) {
update: svcTestCase{
svc: svctest.MakeService("foo",
svctest.SetTypeLoadBalancer,
svctest.SetExternalTrafficPolicy(api.ServiceExternalTrafficPolicyTypeLocal),
svctest.SetExternalTrafficPolicy(api.ServiceExternalTrafficPolicyLocal),
svctest.SetPorts(
svctest.MakeServicePort("p", 867, intstr.FromInt(867), api.ProtocolTCP),
svctest.MakeServicePort("q", 5309, intstr.FromInt(5309), api.ProtocolTCP)),
@ -7062,7 +7062,7 @@ func TestUpdatePatchAllocatedValues(t *testing.T) {
create: svcTestCase{
svc: svctest.MakeService("foo",
svctest.SetTypeLoadBalancer,
svctest.SetExternalTrafficPolicy(api.ServiceExternalTrafficPolicyTypeLocal),
svctest.SetExternalTrafficPolicy(api.ServiceExternalTrafficPolicyLocal),
svctest.SetPorts(
svctest.MakeServicePort("p", 867, intstr.FromInt(867), api.ProtocolTCP),
svctest.MakeServicePort("q", 5309, intstr.FromInt(5309), api.ProtocolTCP)),
@ -7075,7 +7075,7 @@ func TestUpdatePatchAllocatedValues(t *testing.T) {
update: svcTestCase{
svc: svctest.MakeService("foo",
svctest.SetTypeLoadBalancer,
svctest.SetExternalTrafficPolicy(api.ServiceExternalTrafficPolicyTypeLocal),
svctest.SetExternalTrafficPolicy(api.ServiceExternalTrafficPolicyLocal),
svctest.SetPorts(
svctest.MakeServicePort("p", 867, intstr.FromInt(867), api.ProtocolTCP),
svctest.MakeServicePort("q", 5309, intstr.FromInt(5309), api.ProtocolTCP)),
@ -7087,7 +7087,7 @@ func TestUpdatePatchAllocatedValues(t *testing.T) {
create: svcTestCase{
svc: svctest.MakeService("foo",
svctest.SetTypeLoadBalancer,
svctest.SetExternalTrafficPolicy(api.ServiceExternalTrafficPolicyTypeLocal),
svctest.SetExternalTrafficPolicy(api.ServiceExternalTrafficPolicyLocal),
svctest.SetPorts(
svctest.MakeServicePort("p", 867, intstr.FromInt(867), api.ProtocolTCP),
svctest.MakeServicePort("q", 5309, intstr.FromInt(5309), api.ProtocolTCP)),
@ -7100,7 +7100,7 @@ func TestUpdatePatchAllocatedValues(t *testing.T) {
update: svcTestCase{
svc: svctest.MakeService("foo",
svctest.SetTypeLoadBalancer,
svctest.SetExternalTrafficPolicy(api.ServiceExternalTrafficPolicyTypeLocal),
svctest.SetExternalTrafficPolicy(api.ServiceExternalTrafficPolicyLocal),
svctest.SetPorts(
svctest.MakeServicePort("p", 867, intstr.FromInt(867), api.ProtocolTCP),
svctest.MakeServicePort("q", 5309, intstr.FromInt(5309), api.ProtocolTCP)),
@ -11047,7 +11047,7 @@ func TestFeatureExternalTrafficPolicy(t *testing.T) {
create: svcTestCase{
svc: svctest.MakeService("foo",
svctest.SetTypeExternalName,
svctest.SetExternalTrafficPolicy(api.ServiceExternalTrafficPolicyTypeCluster)),
svctest.SetExternalTrafficPolicy(api.ServiceExternalTrafficPolicyCluster)),
expectError: true,
},
}, {
@ -11055,7 +11055,7 @@ func TestFeatureExternalTrafficPolicy(t *testing.T) {
create: svcTestCase{
svc: svctest.MakeService("foo",
svctest.SetTypeExternalName,
svctest.SetExternalTrafficPolicy(api.ServiceExternalTrafficPolicyTypeCluster),
svctest.SetExternalTrafficPolicy(api.ServiceExternalTrafficPolicyCluster),
svctest.SetHealthCheckNodePort(30000)),
expectError: true,
},
@ -11064,7 +11064,7 @@ func TestFeatureExternalTrafficPolicy(t *testing.T) {
create: svcTestCase{
svc: svctest.MakeService("foo",
svctest.SetTypeExternalName,
svctest.SetExternalTrafficPolicy(api.ServiceExternalTrafficPolicyTypeLocal)),
svctest.SetExternalTrafficPolicy(api.ServiceExternalTrafficPolicyLocal)),
expectError: true,
},
}, {
@ -11072,7 +11072,7 @@ func TestFeatureExternalTrafficPolicy(t *testing.T) {
create: svcTestCase{
svc: svctest.MakeService("foo",
svctest.SetTypeExternalName,
svctest.SetExternalTrafficPolicy(api.ServiceExternalTrafficPolicyTypeLocal),
svctest.SetExternalTrafficPolicy(api.ServiceExternalTrafficPolicyLocal),
svctest.SetHealthCheckNodePort(30000)),
expectError: true,
},
@ -11087,7 +11087,7 @@ func TestFeatureExternalTrafficPolicy(t *testing.T) {
update: svcTestCase{
svc: svctest.MakeService("foo",
svctest.SetTypeClusterIP,
svctest.SetExternalTrafficPolicy(api.ServiceExternalTrafficPolicyTypeCluster)),
svctest.SetExternalTrafficPolicy(api.ServiceExternalTrafficPolicyCluster)),
expectError: true,
},
}, {
@ -11104,7 +11104,7 @@ func TestFeatureExternalTrafficPolicy(t *testing.T) {
create: svcTestCase{
svc: svctest.MakeService("foo",
svctest.SetTypeClusterIP,
svctest.SetExternalTrafficPolicy(api.ServiceExternalTrafficPolicyTypeCluster)),
svctest.SetExternalTrafficPolicy(api.ServiceExternalTrafficPolicyCluster)),
expectError: true,
},
}, {
@ -11112,7 +11112,7 @@ func TestFeatureExternalTrafficPolicy(t *testing.T) {
create: svcTestCase{
svc: svctest.MakeService("foo",
svctest.SetTypeClusterIP,
svctest.SetExternalTrafficPolicy(api.ServiceExternalTrafficPolicyTypeCluster),
svctest.SetExternalTrafficPolicy(api.ServiceExternalTrafficPolicyCluster),
svctest.SetHealthCheckNodePort(30000)),
expectError: true,
},
@ -11121,7 +11121,7 @@ func TestFeatureExternalTrafficPolicy(t *testing.T) {
create: svcTestCase{
svc: svctest.MakeService("foo",
svctest.SetTypeClusterIP,
svctest.SetExternalTrafficPolicy(api.ServiceExternalTrafficPolicyTypeLocal)),
svctest.SetExternalTrafficPolicy(api.ServiceExternalTrafficPolicyLocal)),
expectError: true,
},
}, {
@ -11129,7 +11129,7 @@ func TestFeatureExternalTrafficPolicy(t *testing.T) {
create: svcTestCase{
svc: svctest.MakeService("foo",
svctest.SetTypeClusterIP,
svctest.SetExternalTrafficPolicy(api.ServiceExternalTrafficPolicyTypeLocal),
svctest.SetExternalTrafficPolicy(api.ServiceExternalTrafficPolicyLocal),
svctest.SetHealthCheckNodePort(30000)),
expectError: true,
},
@ -11155,7 +11155,7 @@ func TestFeatureExternalTrafficPolicy(t *testing.T) {
create: svcTestCase{
svc: svctest.MakeService("foo",
svctest.SetTypeNodePort,
svctest.SetExternalTrafficPolicy(api.ServiceExternalTrafficPolicyTypeCluster)),
svctest.SetExternalTrafficPolicy(api.ServiceExternalTrafficPolicyCluster)),
expectClusterIPs: true,
expectNodePorts: true,
expectHealthCheckNodePort: false,
@ -11163,7 +11163,7 @@ func TestFeatureExternalTrafficPolicy(t *testing.T) {
update: svcTestCase{
svc: svctest.MakeService("foo",
svctest.SetTypeNodePort,
svctest.SetExternalTrafficPolicy(api.ServiceExternalTrafficPolicyTypeLocal)),
svctest.SetExternalTrafficPolicy(api.ServiceExternalTrafficPolicyLocal)),
expectClusterIPs: true,
expectNodePorts: true,
expectHealthCheckNodePort: false,
@ -11173,7 +11173,7 @@ func TestFeatureExternalTrafficPolicy(t *testing.T) {
create: svcTestCase{
svc: svctest.MakeService("foo",
svctest.SetTypeNodePort,
svctest.SetExternalTrafficPolicy(api.ServiceExternalTrafficPolicyTypeCluster),
svctest.SetExternalTrafficPolicy(api.ServiceExternalTrafficPolicyCluster),
svctest.SetHealthCheckNodePort(30000)),
expectError: true,
},
@ -11182,7 +11182,7 @@ func TestFeatureExternalTrafficPolicy(t *testing.T) {
create: svcTestCase{
svc: svctest.MakeService("foo",
svctest.SetTypeNodePort,
svctest.SetExternalTrafficPolicy(api.ServiceExternalTrafficPolicyTypeLocal)),
svctest.SetExternalTrafficPolicy(api.ServiceExternalTrafficPolicyLocal)),
expectClusterIPs: true,
expectNodePorts: true,
expectHealthCheckNodePort: false,
@ -11190,7 +11190,7 @@ func TestFeatureExternalTrafficPolicy(t *testing.T) {
update: svcTestCase{
svc: svctest.MakeService("foo",
svctest.SetTypeNodePort,
svctest.SetExternalTrafficPolicy(api.ServiceExternalTrafficPolicyTypeCluster)),
svctest.SetExternalTrafficPolicy(api.ServiceExternalTrafficPolicyCluster)),
expectClusterIPs: true,
expectNodePorts: true,
expectHealthCheckNodePort: false,
@ -11200,7 +11200,7 @@ func TestFeatureExternalTrafficPolicy(t *testing.T) {
create: svcTestCase{
svc: svctest.MakeService("foo",
svctest.SetTypeNodePort,
svctest.SetExternalTrafficPolicy(api.ServiceExternalTrafficPolicyTypeLocal),
svctest.SetExternalTrafficPolicy(api.ServiceExternalTrafficPolicyLocal),
svctest.SetHealthCheckNodePort(30000)),
expectError: true,
},
@ -11226,7 +11226,7 @@ func TestFeatureExternalTrafficPolicy(t *testing.T) {
create: svcTestCase{
svc: svctest.MakeService("foo",
svctest.SetTypeLoadBalancer,
svctest.SetExternalTrafficPolicy(api.ServiceExternalTrafficPolicyTypeCluster)),
svctest.SetExternalTrafficPolicy(api.ServiceExternalTrafficPolicyCluster)),
expectClusterIPs: true,
expectNodePorts: true,
expectHealthCheckNodePort: false,
@ -11234,7 +11234,7 @@ func TestFeatureExternalTrafficPolicy(t *testing.T) {
update: svcTestCase{
svc: svctest.MakeService("foo",
svctest.SetTypeLoadBalancer,
svctest.SetExternalTrafficPolicy(api.ServiceExternalTrafficPolicyTypeLocal)),
svctest.SetExternalTrafficPolicy(api.ServiceExternalTrafficPolicyLocal)),
expectClusterIPs: true,
expectNodePorts: true,
expectHealthCheckNodePort: true,
@ -11244,7 +11244,7 @@ func TestFeatureExternalTrafficPolicy(t *testing.T) {
create: svcTestCase{
svc: svctest.MakeService("foo",
svctest.SetTypeLoadBalancer,
svctest.SetExternalTrafficPolicy(api.ServiceExternalTrafficPolicyTypeCluster)),
svctest.SetExternalTrafficPolicy(api.ServiceExternalTrafficPolicyCluster)),
expectClusterIPs: true,
expectNodePorts: true,
expectHealthCheckNodePort: false,
@ -11252,7 +11252,7 @@ func TestFeatureExternalTrafficPolicy(t *testing.T) {
update: svcTestCase{
svc: svctest.MakeService("foo",
svctest.SetTypeLoadBalancer,
svctest.SetExternalTrafficPolicy(api.ServiceExternalTrafficPolicyTypeLocal),
svctest.SetExternalTrafficPolicy(api.ServiceExternalTrafficPolicyLocal),
svctest.SetHealthCheckNodePort(30000)),
expectClusterIPs: true,
expectNodePorts: true,
@ -11263,7 +11263,7 @@ func TestFeatureExternalTrafficPolicy(t *testing.T) {
create: svcTestCase{
svc: svctest.MakeService("foo",
svctest.SetTypeLoadBalancer,
svctest.SetExternalTrafficPolicy(api.ServiceExternalTrafficPolicyTypeCluster),
svctest.SetExternalTrafficPolicy(api.ServiceExternalTrafficPolicyCluster),
svctest.SetHealthCheckNodePort(30000)),
expectError: true,
},
@ -11272,7 +11272,7 @@ func TestFeatureExternalTrafficPolicy(t *testing.T) {
create: svcTestCase{
svc: svctest.MakeService("foo",
svctest.SetTypeLoadBalancer,
svctest.SetExternalTrafficPolicy(api.ServiceExternalTrafficPolicyTypeLocal)),
svctest.SetExternalTrafficPolicy(api.ServiceExternalTrafficPolicyLocal)),
expectClusterIPs: true,
expectNodePorts: true,
expectHealthCheckNodePort: true,
@ -11280,7 +11280,7 @@ func TestFeatureExternalTrafficPolicy(t *testing.T) {
update: svcTestCase{
svc: svctest.MakeService("foo",
svctest.SetTypeLoadBalancer,
svctest.SetExternalTrafficPolicy(api.ServiceExternalTrafficPolicyTypeCluster)),
svctest.SetExternalTrafficPolicy(api.ServiceExternalTrafficPolicyCluster)),
expectClusterIPs: true,
expectNodePorts: true,
expectHealthCheckNodePort: false,
@ -11290,7 +11290,7 @@ func TestFeatureExternalTrafficPolicy(t *testing.T) {
create: svcTestCase{
svc: svctest.MakeService("foo",
svctest.SetTypeLoadBalancer,
svctest.SetExternalTrafficPolicy(api.ServiceExternalTrafficPolicyTypeLocal),
svctest.SetExternalTrafficPolicy(api.ServiceExternalTrafficPolicyLocal),
svctest.SetHealthCheckNodePort(30000)),
expectClusterIPs: true,
expectNodePorts: true,
@ -11299,7 +11299,7 @@ func TestFeatureExternalTrafficPolicy(t *testing.T) {
update: svcTestCase{
svc: svctest.MakeService("foo",
svctest.SetTypeLoadBalancer,
svctest.SetExternalTrafficPolicy(api.ServiceExternalTrafficPolicyTypeCluster)),
svctest.SetExternalTrafficPolicy(api.ServiceExternalTrafficPolicyCluster)),
expectClusterIPs: true,
expectNodePorts: true,
expectHealthCheckNodePort: false,
@ -11309,7 +11309,7 @@ func TestFeatureExternalTrafficPolicy(t *testing.T) {
create: svcTestCase{
svc: svctest.MakeService("foo",
svctest.SetTypeLoadBalancer,
svctest.SetExternalTrafficPolicy(api.ServiceExternalTrafficPolicyTypeLocal),
svctest.SetExternalTrafficPolicy(api.ServiceExternalTrafficPolicyLocal),
svctest.SetHealthCheckNodePort(30000)),
expectClusterIPs: true,
expectNodePorts: true,
@ -11318,7 +11318,7 @@ func TestFeatureExternalTrafficPolicy(t *testing.T) {
update: svcTestCase{
svc: svctest.MakeService("foo",
svctest.SetTypeLoadBalancer,
svctest.SetExternalTrafficPolicy(api.ServiceExternalTrafficPolicyTypeLocal),
svctest.SetExternalTrafficPolicy(api.ServiceExternalTrafficPolicyLocal),
svctest.SetHealthCheckNodePort(30001)),
expectError: true,
},
@ -11327,7 +11327,7 @@ func TestFeatureExternalTrafficPolicy(t *testing.T) {
create: svcTestCase{
svc: svctest.MakeService("foo",
svctest.SetTypeLoadBalancer,
svctest.SetExternalTrafficPolicy(api.ServiceExternalTrafficPolicyTypeLocal)),
svctest.SetExternalTrafficPolicy(api.ServiceExternalTrafficPolicyLocal)),
expectClusterIPs: true,
expectNodePorts: true,
expectHealthCheckNodePort: true,
@ -11343,7 +11343,7 @@ func TestFeatureExternalTrafficPolicy(t *testing.T) {
create: svcTestCase{
svc: svctest.MakeService("foo",
svctest.SetTypeLoadBalancer,
svctest.SetExternalTrafficPolicy(api.ServiceExternalTrafficPolicyTypeLocal),
svctest.SetExternalTrafficPolicy(api.ServiceExternalTrafficPolicyLocal),
svctest.SetHealthCheckNodePort(-1)),
expectError: true,
},
@ -11356,7 +11356,7 @@ func TestFeatureInternalTrafficPolicy(t *testing.T) {
prove := func(proofs ...svcTestProof) []svcTestProof {
return proofs
}
proveITP := func(want api.ServiceInternalTrafficPolicyType) svcTestProof {
proveITP := func(want api.ServiceInternalTrafficPolicy) svcTestProof {
return func(t *testing.T, storage *wrapperRESTForTests, before, after *api.Service) {
t.Helper()
if got := after.Spec.InternalTrafficPolicy; got == nil {

View File

@ -243,7 +243,7 @@ func dropTypeDependentFields(newSvc *api.Service, oldSvc *api.Service) {
// If a user is switching to a type that doesn't need ExternalTrafficPolicy
// AND they did not change this field, it is safe to drop it.
if needsExternalTrafficPolicy(oldSvc) && !needsExternalTrafficPolicy(newSvc) && sameExternalTrafficPolicy(oldSvc, newSvc) {
newSvc.Spec.ExternalTrafficPolicy = api.ServiceExternalTrafficPolicyType("")
newSvc.Spec.ExternalTrafficPolicy = api.ServiceExternalTrafficPolicy("")
}
// NOTE: there are other fields like `selector` which we could wipe.
@ -317,7 +317,7 @@ func needsHCNodePort(svc *api.Service) bool {
if svc.Spec.Type != api.ServiceTypeLoadBalancer {
return false
}
if svc.Spec.ExternalTrafficPolicy != api.ServiceExternalTrafficPolicyTypeLocal {
if svc.Spec.ExternalTrafficPolicy != api.ServiceExternalTrafficPolicyLocal {
return false
}
return true

View File

@ -285,7 +285,7 @@ func TestDropTypeDependentFields(t *testing.T) {
svc.Spec.Ports[0].Protocol = "UDP"
}
setHCNodePort := func(svc *api.Service) {
svc.Spec.ExternalTrafficPolicy = api.ServiceExternalTrafficPolicyTypeLocal
svc.Spec.ExternalTrafficPolicy = api.ServiceExternalTrafficPolicyLocal
svc.Spec.HealthCheckNodePort = int32(32000)
}
changeHCNodePort := func(svc *api.Service) {

File diff suppressed because it is too large Load Diff

View File

@ -4368,34 +4368,47 @@ const (
ServiceTypeExternalName ServiceType = "ExternalName"
)
// ServiceInternalTrafficPolicyType describes how nodes distribute service traffic they
// ServiceInternalTrafficPolicy describes how nodes distribute service traffic they
// receive on the ClusterIP.
// +enum
type ServiceInternalTrafficPolicyType string
type ServiceInternalTrafficPolicy string
const (
// ServiceInternalTrafficPolicyCluster routes traffic to all endpoints.
ServiceInternalTrafficPolicyCluster ServiceInternalTrafficPolicyType = "Cluster"
ServiceInternalTrafficPolicyCluster ServiceInternalTrafficPolicy = "Cluster"
// ServiceInternalTrafficPolicyLocal routes traffic only to endpoints on the same
// node as the client pod (dropping the traffic if there are no local endpoints).
ServiceInternalTrafficPolicyLocal ServiceInternalTrafficPolicyType = "Local"
ServiceInternalTrafficPolicyLocal ServiceInternalTrafficPolicy = "Local"
)
// ServiceExternalTrafficPolicyType describes how nodes distribute service traffic they
// receive on one of the Service's "externally-facing" addresses (NodePorts, ExternalIPs,
// and LoadBalancer IPs).
// for backwards compat
// +enum
type ServiceExternalTrafficPolicyType string
type ServiceInternalTrafficPolicyType = ServiceInternalTrafficPolicy
// ServiceExternalTrafficPolicy describes how nodes distribute service traffic they
// receive on one of the Service's "externally-facing" addresses (NodePorts, ExternalIPs,
// and LoadBalancer IPs.
// +enum
type ServiceExternalTrafficPolicy string
const (
// ServiceExternalTrafficPolicyTypeCluster routes traffic to all endpoints.
ServiceExternalTrafficPolicyTypeCluster ServiceExternalTrafficPolicyType = "Cluster"
// ServiceExternalTrafficPolicyCluster routes traffic to all endpoints.
ServiceExternalTrafficPolicyCluster ServiceExternalTrafficPolicy = "Cluster"
// ServiceExternalTrafficPolicyTypeLocal preserves the source IP of the traffic by
// ServiceExternalTrafficPolicyLocal preserves the source IP of the traffic by
// routing only to endpoints on the same node as the traffic was received on
// (dropping the traffic if there are no local endpoints).
ServiceExternalTrafficPolicyTypeLocal ServiceExternalTrafficPolicyType = "Local"
ServiceExternalTrafficPolicyLocal ServiceExternalTrafficPolicy = "Local"
)
// for backwards compat
// +enum
type ServiceExternalTrafficPolicyType = ServiceExternalTrafficPolicy
const (
ServiceExternalTrafficPolicyTypeLocal = ServiceExternalTrafficPolicyLocal
ServiceExternalTrafficPolicyTypeCluster = ServiceExternalTrafficPolicyCluster
)
// These are the valid conditions of a service.
@ -4628,7 +4641,7 @@ type ServiceSpec struct {
// a NodePort from within the cluster may need to take traffic policy into account
// when picking a node.
// +optional
ExternalTrafficPolicy ServiceExternalTrafficPolicyType `json:"externalTrafficPolicy,omitempty" protobuf:"bytes,11,opt,name=externalTrafficPolicy"`
ExternalTrafficPolicy ServiceExternalTrafficPolicy `json:"externalTrafficPolicy,omitempty" protobuf:"bytes,11,opt,name=externalTrafficPolicy"`
// healthCheckNodePort specifies the healthcheck nodePort for the service.
// This only applies when type is set to LoadBalancer and
@ -4725,7 +4738,7 @@ type ServiceSpec struct {
// "Cluster", uses the standard behavior of routing to all endpoints evenly
// (possibly modified by topology and other features).
// +optional
InternalTrafficPolicy *ServiceInternalTrafficPolicyType `json:"internalTrafficPolicy,omitempty" protobuf:"bytes,22,opt,name=internalTrafficPolicy"`
InternalTrafficPolicy *ServiceInternalTrafficPolicy `json:"internalTrafficPolicy,omitempty" protobuf:"bytes,22,opt,name=internalTrafficPolicy"`
}
// ServicePort contains information on service's port.

View File

@ -5517,7 +5517,7 @@ func (in *ServiceSpec) DeepCopyInto(out *ServiceSpec) {
}
if in.InternalTrafficPolicy != nil {
in, out := &in.InternalTrafficPolicy, &out.InternalTrafficPolicy
*out = new(ServiceInternalTrafficPolicyType)
*out = new(ServiceInternalTrafficPolicy)
**out = **in
}
return

View File

@ -35,7 +35,7 @@ type ServiceSpecApplyConfiguration struct {
LoadBalancerIP *string `json:"loadBalancerIP,omitempty"`
LoadBalancerSourceRanges []string `json:"loadBalancerSourceRanges,omitempty"`
ExternalName *string `json:"externalName,omitempty"`
ExternalTrafficPolicy *corev1.ServiceExternalTrafficPolicyType `json:"externalTrafficPolicy,omitempty"`
ExternalTrafficPolicy *corev1.ServiceExternalTrafficPolicy `json:"externalTrafficPolicy,omitempty"`
HealthCheckNodePort *int32 `json:"healthCheckNodePort,omitempty"`
PublishNotReadyAddresses *bool `json:"publishNotReadyAddresses,omitempty"`
SessionAffinityConfig *SessionAffinityConfigApplyConfiguration `json:"sessionAffinityConfig,omitempty"`
@ -43,7 +43,7 @@ type ServiceSpecApplyConfiguration struct {
IPFamilyPolicy *corev1.IPFamilyPolicy `json:"ipFamilyPolicy,omitempty"`
AllocateLoadBalancerNodePorts *bool `json:"allocateLoadBalancerNodePorts,omitempty"`
LoadBalancerClass *string `json:"loadBalancerClass,omitempty"`
InternalTrafficPolicy *corev1.ServiceInternalTrafficPolicyType `json:"internalTrafficPolicy,omitempty"`
InternalTrafficPolicy *corev1.ServiceInternalTrafficPolicy `json:"internalTrafficPolicy,omitempty"`
}
// ServiceSpecApplyConfiguration constructs an declarative configuration of the ServiceSpec type for use with
@ -152,7 +152,7 @@ func (b *ServiceSpecApplyConfiguration) WithExternalName(value string) *ServiceS
// WithExternalTrafficPolicy sets the ExternalTrafficPolicy field in the declarative configuration to the given value
// and returns the receiver, so that objects can be built by chaining "With" function invocations.
// If called multiple times, the ExternalTrafficPolicy field is set to the value of the last call.
func (b *ServiceSpecApplyConfiguration) WithExternalTrafficPolicy(value corev1.ServiceExternalTrafficPolicyType) *ServiceSpecApplyConfiguration {
func (b *ServiceSpecApplyConfiguration) WithExternalTrafficPolicy(value corev1.ServiceExternalTrafficPolicy) *ServiceSpecApplyConfiguration {
b.ExternalTrafficPolicy = &value
return b
}
@ -218,7 +218,7 @@ func (b *ServiceSpecApplyConfiguration) WithLoadBalancerClass(value string) *Ser
// WithInternalTrafficPolicy sets the InternalTrafficPolicy field in the declarative configuration to the given value
// and returns the receiver, so that objects can be built by chaining "With" function invocations.
// If called multiple times, the InternalTrafficPolicy field is set to the value of the last call.
func (b *ServiceSpecApplyConfiguration) WithInternalTrafficPolicy(value corev1.ServiceInternalTrafficPolicyType) *ServiceSpecApplyConfiguration {
func (b *ServiceSpecApplyConfiguration) WithInternalTrafficPolicy(value corev1.ServiceInternalTrafficPolicy) *ServiceSpecApplyConfiguration {
b.InternalTrafficPolicy = &value
return b
}

View File

@ -935,7 +935,7 @@ var (
)
func getNodePredicatesForService(service *v1.Service) []NodeConditionPredicate {
if service.Spec.ExternalTrafficPolicy == v1.ServiceExternalTrafficPolicyTypeLocal {
if service.Spec.ExternalTrafficPolicy == v1.ServiceExternalTrafficPolicyLocal {
return etpLocalNodePredicates
}
return allNodePredicates

View File

@ -73,7 +73,7 @@ func newETPLocalService(name string, serviceType v1.ServiceType) *v1.Service {
},
Spec: v1.ServiceSpec{
Type: serviceType,
ExternalTrafficPolicy: v1.ServiceExternalTrafficPolicyTypeLocal,
ExternalTrafficPolicy: v1.ServiceExternalTrafficPolicyLocal,
},
}
}
@ -1334,7 +1334,7 @@ func TestNeedsUpdate(t *testing.T) {
updateFn: func() {
oldSvc = defaultExternalService()
newSvc = defaultExternalService()
newSvc.Spec.ExternalTrafficPolicy = v1.ServiceExternalTrafficPolicyTypeLocal
newSvc.Spec.ExternalTrafficPolicy = v1.ServiceExternalTrafficPolicyLocal
},
expectedNeedsUpdate: true,
},

View File

@ -101,7 +101,7 @@ func RequestsOnlyLocalTraffic(service *v1.Service) bool {
service.Spec.Type != v1.ServiceTypeNodePort {
return false
}
return service.Spec.ExternalTrafficPolicy == v1.ServiceExternalTrafficPolicyTypeLocal
return service.Spec.ExternalTrafficPolicy == v1.ServiceExternalTrafficPolicyLocal
}
// NeedsHealthCheck checks if service needs health check.

View File

@ -161,25 +161,25 @@ func TestRequestsOnlyLocalTraffic(t *testing.T) {
checkRequestsOnlyLocalTraffic(false, &v1.Service{
Spec: v1.ServiceSpec{
Type: v1.ServiceTypeNodePort,
ExternalTrafficPolicy: v1.ServiceExternalTrafficPolicyTypeCluster,
ExternalTrafficPolicy: v1.ServiceExternalTrafficPolicyCluster,
},
})
checkRequestsOnlyLocalTraffic(true, &v1.Service{
Spec: v1.ServiceSpec{
Type: v1.ServiceTypeNodePort,
ExternalTrafficPolicy: v1.ServiceExternalTrafficPolicyTypeLocal,
ExternalTrafficPolicy: v1.ServiceExternalTrafficPolicyLocal,
},
})
checkRequestsOnlyLocalTraffic(false, &v1.Service{
Spec: v1.ServiceSpec{
Type: v1.ServiceTypeLoadBalancer,
ExternalTrafficPolicy: v1.ServiceExternalTrafficPolicyTypeCluster,
ExternalTrafficPolicy: v1.ServiceExternalTrafficPolicyCluster,
},
})
checkRequestsOnlyLocalTraffic(true, &v1.Service{
Spec: v1.ServiceSpec{
Type: v1.ServiceTypeLoadBalancer,
ExternalTrafficPolicy: v1.ServiceExternalTrafficPolicyTypeLocal,
ExternalTrafficPolicy: v1.ServiceExternalTrafficPolicyLocal,
},
})
}
@ -201,25 +201,25 @@ func TestNeedsHealthCheck(t *testing.T) {
checkNeedsHealthCheck(false, &v1.Service{
Spec: v1.ServiceSpec{
Type: v1.ServiceTypeNodePort,
ExternalTrafficPolicy: v1.ServiceExternalTrafficPolicyTypeCluster,
ExternalTrafficPolicy: v1.ServiceExternalTrafficPolicyCluster,
},
})
checkNeedsHealthCheck(false, &v1.Service{
Spec: v1.ServiceSpec{
Type: v1.ServiceTypeNodePort,
ExternalTrafficPolicy: v1.ServiceExternalTrafficPolicyTypeLocal,
ExternalTrafficPolicy: v1.ServiceExternalTrafficPolicyLocal,
},
})
checkNeedsHealthCheck(false, &v1.Service{
Spec: v1.ServiceSpec{
Type: v1.ServiceTypeLoadBalancer,
ExternalTrafficPolicy: v1.ServiceExternalTrafficPolicyTypeCluster,
ExternalTrafficPolicy: v1.ServiceExternalTrafficPolicyCluster,
},
})
checkNeedsHealthCheck(true, &v1.Service{
Spec: v1.ServiceSpec{
Type: v1.ServiceTypeLoadBalancer,
ExternalTrafficPolicy: v1.ServiceExternalTrafficPolicyTypeLocal,
ExternalTrafficPolicy: v1.ServiceExternalTrafficPolicyLocal,
},
})
}

View File

@ -3899,7 +3899,7 @@ func (c *Cloud) buildNLBHealthCheckConfiguration(svc *v1.Service) (healthCheckCo
HealthyThreshold: defaultNlbHealthCheckThreshold,
UnhealthyThreshold: defaultNlbHealthCheckThreshold,
}
if svc.Spec.ExternalTrafficPolicy == v1.ServiceExternalTrafficPolicyTypeLocal {
if svc.Spec.ExternalTrafficPolicy == v1.ServiceExternalTrafficPolicyLocal {
path, port := servicehelpers.GetServiceHealthCheckPathPort(svc)
hc = healthCheckConfig{
Port: strconv.Itoa(int(port)),

View File

@ -3293,7 +3293,7 @@ func TestCloud_buildNLBHealthCheckConfiguration(t *testing.T) {
NodePort: 32205,
},
},
ExternalTrafficPolicy: v1.ServiceExternalTrafficPolicyTypeLocal,
ExternalTrafficPolicy: v1.ServiceExternalTrafficPolicyLocal,
HealthCheckNodePort: 32213,
},
},
@ -3335,7 +3335,7 @@ func TestCloud_buildNLBHealthCheckConfiguration(t *testing.T) {
NodePort: 32205,
},
},
ExternalTrafficPolicy: v1.ServiceExternalTrafficPolicyTypeLocal,
ExternalTrafficPolicy: v1.ServiceExternalTrafficPolicyLocal,
HealthCheckNodePort: 32213,
},
},

View File

@ -2102,7 +2102,7 @@ func TestReconcileLoadBalancer(t *testing.T) {
service7 := getTestService("service1", v1.ProtocolUDP, nil, false, 80)
service7.Spec.HealthCheckNodePort = 10081
service7.Spec.ExternalTrafficPolicy = v1.ServiceExternalTrafficPolicyTypeLocal
service7.Spec.ExternalTrafficPolicy = v1.ServiceExternalTrafficPolicyLocal
lb7 := getTestLoadBalancer(pointer.String("testCluster"), pointer.String("rg"), pointer.String("testCluster"), pointer.String("aservice1"), service7, "basic")
lb7.FrontendIPConfigurations = &[]network.FrontendIPConfiguration{}
lb7.Probes = &[]network.Probe{}

View File

@ -783,7 +783,7 @@ func TestReconcileLoadBalancerNodeHealth(t *testing.T) {
setMockEnv(az, ctrl, expectedInterfaces, expectedVirtualMachines, 1)
svc := getTestService("service1", v1.ProtocolTCP, nil, false, 80)
svc.Spec.ExternalTrafficPolicy = v1.ServiceExternalTrafficPolicyTypeLocal
svc.Spec.ExternalTrafficPolicy = v1.ServiceExternalTrafficPolicyLocal
svc.Spec.HealthCheckNodePort = int32(32456)
expectedLBs := make([]network.LoadBalancer, 0)

View File

@ -608,7 +608,7 @@ func TestEnsureInternalLoadBalancerWithSpecialHealthCheck(t *testing.T) {
svc := fakeLoadbalancerService(string(LBTypeInternal))
svc.Spec.HealthCheckNodePort = healthCheckNodePort
svc.Spec.Type = v1.ServiceTypeLoadBalancer
svc.Spec.ExternalTrafficPolicy = v1.ServiceExternalTrafficPolicyTypeLocal
svc.Spec.ExternalTrafficPolicy = v1.ServiceExternalTrafficPolicyLocal
svc, err = gce.client.CoreV1().Services(svc.Namespace).Create(context.TODO(), svc, metav1.CreateOptions{})
require.NoError(t, err)
status, err := createInternalLoadBalancer(gce, svc, nil, []string{nodeName}, vals.ClusterName, vals.ClusterID, vals.ZoneName)

View File

@ -1381,7 +1381,7 @@ func testRollingUpdateDeploymentWithLocalTrafficLoadBalancer(f *framework.Framew
jig := e2eservice.NewTestJig(c, ns, name)
jig.Labels = podLabels
service, err := jig.CreateLoadBalancerService(e2eservice.GetServiceLoadBalancerCreationTimeout(c), func(svc *v1.Service) {
svc.Spec.ExternalTrafficPolicy = v1.ServiceExternalTrafficPolicyTypeLocal
svc.Spec.ExternalTrafficPolicy = v1.ServiceExternalTrafficPolicyLocal
})
framework.ExpectNoError(err)

View File

@ -196,7 +196,7 @@ func (j *TestJig) CreateOnlyLocalNodePortService(createPod bool) (*v1.Service, e
ginkgo.By("creating a service " + j.Namespace + "/" + j.Name + " with type=NodePort and ExternalTrafficPolicy=Local")
svc, err := j.CreateTCPService(func(svc *v1.Service) {
svc.Spec.Type = v1.ServiceTypeNodePort
svc.Spec.ExternalTrafficPolicy = v1.ServiceExternalTrafficPolicyTypeLocal
svc.Spec.ExternalTrafficPolicy = v1.ServiceExternalTrafficPolicyLocal
svc.Spec.Ports = []v1.ServicePort{{Protocol: v1.ProtocolTCP, Port: 80}}
})
if err != nil {
@ -221,7 +221,7 @@ func (j *TestJig) CreateOnlyLocalLoadBalancerService(timeout time.Duration, crea
tweak func(svc *v1.Service)) (*v1.Service, error) {
_, err := j.CreateLoadBalancerService(timeout, func(svc *v1.Service) {
ginkgo.By("setting ExternalTrafficPolicy=Local")
svc.Spec.ExternalTrafficPolicy = v1.ServiceExternalTrafficPolicyTypeLocal
svc.Spec.ExternalTrafficPolicy = v1.ServiceExternalTrafficPolicyLocal
if tweak != nil {
tweak(svc)
}

View File

@ -130,7 +130,7 @@ var _ = common.SIGDescribe("Firewall rule", func() {
// OnlyLocal service is needed to examine which exact nodes the requests are being forwarded to by the Load Balancer on GCE
ginkgo.By("Updating LoadBalancer service to ExternalTrafficPolicy=Local")
svc, err = jig.UpdateService(func(svc *v1.Service) {
svc.Spec.ExternalTrafficPolicy = v1.ServiceExternalTrafficPolicyTypeLocal
svc.Spec.ExternalTrafficPolicy = v1.ServiceExternalTrafficPolicyLocal
})
framework.ExpectNoError(err)

View File

@ -835,7 +835,7 @@ var _ = common.SIGDescribe("LoadBalancers", func() {
svc := getServeHostnameService("affinity-lb-esipp")
svc.Spec.Type = v1.ServiceTypeLoadBalancer
svc.Spec.ExternalTrafficPolicy = v1.ServiceExternalTrafficPolicyTypeLocal
svc.Spec.ExternalTrafficPolicy = v1.ServiceExternalTrafficPolicyLocal
execAffinityTestForLBService(f, cs, svc)
})
@ -846,7 +846,7 @@ var _ = common.SIGDescribe("LoadBalancers", func() {
svc := getServeHostnameService("affinity-lb-esipp-transition")
svc.Spec.Type = v1.ServiceTypeLoadBalancer
svc.Spec.ExternalTrafficPolicy = v1.ServiceExternalTrafficPolicyTypeLocal
svc.Spec.ExternalTrafficPolicy = v1.ServiceExternalTrafficPolicyLocal
execAffinityTestForLBServiceWithTransition(f, cs, svc)
})
@ -857,7 +857,7 @@ var _ = common.SIGDescribe("LoadBalancers", func() {
svc := getServeHostnameService("affinity-lb")
svc.Spec.Type = v1.ServiceTypeLoadBalancer
svc.Spec.ExternalTrafficPolicy = v1.ServiceExternalTrafficPolicyTypeCluster
svc.Spec.ExternalTrafficPolicy = v1.ServiceExternalTrafficPolicyCluster
execAffinityTestForLBService(f, cs, svc)
})
@ -868,7 +868,7 @@ var _ = common.SIGDescribe("LoadBalancers", func() {
svc := getServeHostnameService("affinity-lb-transition")
svc.Spec.Type = v1.ServiceTypeLoadBalancer
svc.Spec.ExternalTrafficPolicy = v1.ServiceExternalTrafficPolicyTypeCluster
svc.Spec.ExternalTrafficPolicy = v1.ServiceExternalTrafficPolicyCluster
execAffinityTestForLBServiceWithTransition(f, cs, svc)
})
@ -1574,7 +1574,7 @@ var _ = common.SIGDescribe("LoadBalancers ESIPP [Slow]", func() {
ginkgo.By("turning ESIPP off")
svc, err = jig.UpdateService(func(svc *v1.Service) {
svc.Spec.ExternalTrafficPolicy = v1.ServiceExternalTrafficPolicyTypeCluster
svc.Spec.ExternalTrafficPolicy = v1.ServiceExternalTrafficPolicyCluster
})
framework.ExpectNoError(err)
if svc.Spec.HealthCheckNodePort > 0 {
@ -1685,7 +1685,7 @@ var _ = common.SIGDescribe("LoadBalancers ESIPP [Slow]", func() {
ginkgo.By("setting ExternalTraffic field back to OnlyLocal")
svc, err = jig.UpdateService(func(svc *v1.Service) {
svc.Spec.ExternalTrafficPolicy = v1.ServiceExternalTrafficPolicyTypeLocal
svc.Spec.ExternalTrafficPolicy = v1.ServiceExternalTrafficPolicyLocal
// Request the same healthCheckNodePort as before, to test the user-requested allocation path
svc.Spec.HealthCheckNodePort = int32(healthCheckNodePort)
})

View File

@ -2794,7 +2794,7 @@ var _ = common.SIGDescribe("Services", func() {
{Port: 80, Name: "http", Protocol: v1.ProtocolTCP, TargetPort: intstr.FromInt(80)},
}
svc.Spec.Type = v1.ServiceTypeLoadBalancer
svc.Spec.ExternalTrafficPolicy = v1.ServiceExternalTrafficPolicyTypeLocal
svc.Spec.ExternalTrafficPolicy = v1.ServiceExternalTrafficPolicyLocal
})
framework.ExpectNoError(err)
@ -3150,7 +3150,7 @@ var _ = common.SIGDescribe("Services", func() {
{Port: 80, Name: "http", Protocol: v1.ProtocolTCP, TargetPort: intstr.FromInt(80)},
}
svc.Spec.Type = v1.ServiceTypeNodePort
svc.Spec.ExternalTrafficPolicy = v1.ServiceExternalTrafficPolicyTypeLocal
svc.Spec.ExternalTrafficPolicy = v1.ServiceExternalTrafficPolicyLocal
})
framework.ExpectNoError(err)