ServiceExternalTrafficPolicyType: s/Type//
Rename ServiceExternalTrafficPolicyType => ServiceExternalTrafficPolicy
This commit is contained in:
parent
23c65ec590
commit
d0e2b06850
@ -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
|
||||
@ -184,7 +184,7 @@ func SetInternalTrafficPolicy(policy api.ServiceInternalTrafficPolicyType) Tweak
|
||||
}
|
||||
|
||||
// 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
|
||||
}
|
||||
|
@ -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.
|
||||
|
@ -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,
|
||||
},
|
||||
})
|
||||
}
|
||||
|
@ -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.
|
||||
|
@ -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,
|
||||
},
|
||||
})
|
||||
}
|
||||
|
@ -293,8 +293,8 @@ 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) {
|
||||
|
@ -3795,19 +3795,19 @@ const (
|
||||
ServiceInternalTrafficPolicyLocal ServiceInternalTrafficPolicyType = "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
|
||||
|
@ -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 {
|
||||
|
@ -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)
|
||||
}
|
||||
}
|
||||
|
||||
|
4
pkg/apis/core/v1/zz_generated.conversion.go
generated
4
pkg/apis/core/v1/zz_generated.conversion.go
generated
@ -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))
|
||||
@ -7881,7 +7881,7 @@ 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))
|
||||
|
@ -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{}
|
||||
|
@ -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"}
|
||||
@ -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,
|
||||
|
4
pkg/generated/openapi/zz_generated.openapi.go
generated
4
pkg/generated/openapi/zz_generated.openapi.go
generated
@ -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{
|
||||
|
@ -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
|
||||
})
|
||||
|
||||
@ -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
|
||||
externalTrafficPolicy v1.ServiceExternalTrafficPolicy
|
||||
endpoints []endpoint
|
||||
expectedSyncProxyRulesNoLocalEndpointsTotalInternal int
|
||||
expectedSyncProxyRulesNoLocalEndpointsTotalExternal int
|
||||
|
@ -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)
|
||||
@ -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
|
||||
externalTrafficPolicy v1.ServiceExternalTrafficPolicy
|
||||
endpoints []endpoint
|
||||
expectedSyncProxyRulesNoLocalEndpointsTotalInternal int
|
||||
expectedSyncProxyRulesNoLocalEndpointsTotalExternal int
|
||||
|
@ -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
|
||||
})
|
||||
|
||||
|
@ -461,7 +461,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
|
||||
|
@ -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),
|
||||
|
@ -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
|
||||
|
@ -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,
|
||||
}}
|
||||
@ -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,
|
||||
},
|
||||
|
@ -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
|
||||
|
@ -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) {
|
||||
|
244
staging/src/k8s.io/api/core/v1/generated.pb.go
generated
244
staging/src/k8s.io/api/core/v1/generated.pb.go
generated
@ -6320,7 +6320,7 @@ func init() {
|
||||
}
|
||||
|
||||
var fileDescriptor_83c10c24ec417dc9 = []byte{
|
||||
// 14547 bytes of a gzipped FileDescriptorProto
|
||||
// 14548 bytes of a gzipped FileDescriptorProto
|
||||
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x7d, 0x69, 0x8c, 0x24, 0xd7,
|
||||
0x79, 0x98, 0xaa, 0x7b, 0xae, 0xfe, 0xe6, 0x7e, 0xb3, 0xbb, 0x9c, 0x1d, 0x72, 0x77, 0x96, 0x45,
|
||||
0x72, 0xb9, 0x14, 0xc9, 0x19, 0x2d, 0x0f, 0x89, 0x26, 0x25, 0x5a, 0x73, 0xee, 0x36, 0x77, 0x67,
|
||||
@ -7111,126 +7111,126 @@ var fileDescriptor_83c10c24ec417dc9 = []byte{
|
||||
0x88, 0xc2, 0x84, 0xc3, 0x6e, 0xfe, 0x7e, 0xd3, 0x8e, 0xdc, 0xc6, 0x9c, 0xeb, 0x45, 0x61, 0x14,
|
||||
0xcc, 0x95, 0xbd, 0xe8, 0x46, 0xc0, 0xaf, 0x90, 0x5a, 0x78, 0x2f, 0xc5, 0x0b, 0x6b, 0x7c, 0x65,
|
||||
0xf8, 0x06, 0x56, 0x47, 0xbf, 0xe9, 0x4a, 0xb1, 0x2e, 0xe0, 0x58, 0x51, 0xd8, 0x1f, 0x60, 0xa7,
|
||||
0x0f, 0xeb, 0xd3, 0xa3, 0x85, 0xb6, 0xfa, 0xf2, 0x88, 0x1a, 0x0d, 0x66, 0x14, 0x5d, 0xd6, 0x03,
|
||||
0x68, 0x75, 0xde, 0xec, 0x69, 0xc5, 0xfa, 0xab, 0xc2, 0x38, 0xca, 0x16, 0xfa, 0x78, 0xca, 0x3d,
|
||||
0xe6, 0xd9, 0x2e, 0xa7, 0xc6, 0x11, 0x1c, 0x62, 0x58, 0xfe, 0x1d, 0x96, 0x9d, 0xa4, 0x5c, 0x11,
|
||||
0xeb, 0x42, 0xcb, 0xbf, 0x23, 0x10, 0x38, 0xa6, 0xa1, 0xc2, 0x94, 0xfa, 0x13, 0x4e, 0xa3, 0x38,
|
||||
0x0e, 0xad, 0xa2, 0x0e, 0xb1, 0x46, 0x81, 0xe6, 0x85, 0x42, 0x81, 0xdb, 0x05, 0x1e, 0x4e, 0x28,
|
||||
0x14, 0x64, 0x77, 0x69, 0x5a, 0xa0, 0xcb, 0x30, 0xac, 0xb2, 0xad, 0x57, 0x78, 0xe6, 0x2b, 0x31,
|
||||
0xcd, 0x56, 0x62, 0x30, 0xd6, 0x69, 0xd0, 0x06, 0x8c, 0x87, 0x5c, 0xcf, 0xa6, 0x82, 0x83, 0x73,
|
||||
0x7d, 0xe5, 0x7b, 0xd5, 0x63, 0x62, 0x13, 0x7d, 0xc8, 0x40, 0x7c, 0x77, 0x92, 0x21, 0x16, 0x92,
|
||||
0x2c, 0xd0, 0xab, 0x30, 0xd6, 0xf0, 0x9d, 0xfa, 0xa2, 0xd3, 0x70, 0xbc, 0x1a, 0xeb, 0x9f, 0x21,
|
||||
0x33, 0x69, 0xef, 0x75, 0x03, 0x8b, 0x13, 0xd4, 0x54, 0x78, 0xd3, 0x21, 0x22, 0x44, 0x98, 0xe3,
|
||||
0x6d, 0x93, 0x50, 0xe4, 0xce, 0x66, 0xc2, 0xdb, 0xf5, 0x1c, 0x1a, 0x9c, 0x5b, 0x1a, 0xbd, 0x04,
|
||||
0x23, 0xf2, 0xf3, 0xb5, 0x88, 0x24, 0xf1, 0x93, 0x18, 0x0d, 0x87, 0x0d, 0x4a, 0x74, 0x07, 0x4e,
|
||||
0xcb, 0xff, 0x1b, 0x81, 0xb3, 0xb5, 0xe5, 0xd6, 0xc4, 0x33, 0x7d, 0xfe, 0x76, 0x76, 0x41, 0x3e,
|
||||
0xf0, 0x5c, 0xc9, 0x22, 0x3a, 0x3c, 0x98, 0xbd, 0x20, 0x7a, 0x2d, 0x13, 0xcf, 0x06, 0x31, 0x9b,
|
||||
0x3f, 0x5a, 0x83, 0xa9, 0x1d, 0xe2, 0x34, 0xa2, 0x9d, 0xa5, 0x1d, 0x52, 0xdb, 0x95, 0x8b, 0x8e,
|
||||
0xc5, 0x39, 0xd1, 0x9e, 0x8f, 0x5c, 0x4d, 0x93, 0xe0, 0xac, 0x72, 0xe8, 0x0d, 0x98, 0x6e, 0xb5,
|
||||
0x37, 0x1b, 0x6e, 0xb8, 0xb3, 0xee, 0x47, 0xcc, 0x11, 0x49, 0x25, 0x6f, 0x17, 0x01, 0x51, 0x54,
|
||||
0x24, 0x99, 0x4a, 0x0e, 0x1d, 0xce, 0xe5, 0x80, 0xde, 0x82, 0xd3, 0x89, 0xc9, 0x20, 0x42, 0x42,
|
||||
0x8c, 0xe5, 0xa7, 0x07, 0xa9, 0x66, 0x15, 0x10, 0xd1, 0x55, 0xb2, 0x50, 0x38, 0xbb, 0x0a, 0xf4,
|
||||
0x32, 0x80, 0xdb, 0x5a, 0x75, 0x9a, 0x6e, 0x83, 0x5e, 0x17, 0xa7, 0xd8, 0x3c, 0xa1, 0x57, 0x07,
|
||||
0x28, 0x57, 0x24, 0x94, 0xee, 0xcf, 0xe2, 0xdf, 0x3e, 0xd6, 0xa8, 0xd1, 0x75, 0x18, 0x13, 0xff,
|
||||
0xf6, 0xc5, 0xb0, 0xf2, 0xc8, 0x24, 0x8f, 0xb3, 0xb0, 0x52, 0x15, 0x1d, 0x73, 0x98, 0x82, 0xe0,
|
||||
0x44, 0x59, 0xb4, 0x0d, 0xe7, 0x64, 0xaa, 0x37, 0x7d, 0x8e, 0xca, 0x31, 0x08, 0x59, 0x4e, 0x8e,
|
||||
0x21, 0xfe, 0x32, 0x65, 0xa1, 0x13, 0x21, 0xee, 0xcc, 0x87, 0x9e, 0xed, 0xfa, 0x54, 0xe7, 0x6f,
|
||||
0x77, 0x4f, 0x73, 0x2f, 0x27, 0x7a, 0xb6, 0x5f, 0x4f, 0x22, 0x71, 0x9a, 0x1e, 0x85, 0x70, 0xda,
|
||||
0xf5, 0xb2, 0x66, 0xf6, 0x19, 0xc6, 0xe8, 0x43, 0xfc, 0xd9, 0x72, 0xe7, 0x59, 0x9d, 0x89, 0xe7,
|
||||
0xb3, 0x3a, 0x93, 0xf7, 0xdb, 0xf3, 0xff, 0xfb, 0x2d, 0x8b, 0x96, 0xd6, 0xa4, 0x74, 0xf4, 0x29,
|
||||
0x18, 0xd1, 0x3f, 0x4c, 0x48, 0x1c, 0x17, 0xb3, 0x85, 0x58, 0x6d, 0x6f, 0xe0, 0x32, 0xbe, 0x5a,
|
||||
0xff, 0x3a, 0x0e, 0x1b, 0x1c, 0x51, 0x2d, 0xe3, 0x81, 0xff, 0x7c, 0x6f, 0x12, 0x4d, 0xef, 0xee,
|
||||
0x6f, 0x04, 0xb2, 0xa7, 0x3c, 0xba, 0x0e, 0x43, 0xb5, 0x86, 0x4b, 0xbc, 0xa8, 0x5c, 0xe9, 0x14,
|
||||
0xc2, 0x70, 0x49, 0xd0, 0x88, 0x35, 0x24, 0x52, 0x6c, 0x70, 0x18, 0x56, 0x1c, 0xec, 0x5f, 0x2d,
|
||||
0xc0, 0x6c, 0x97, 0x7c, 0x2d, 0x09, 0x73, 0x94, 0xd5, 0x93, 0x39, 0x6a, 0x01, 0xc6, 0xe3, 0x7f,
|
||||
0xba, 0xa6, 0x4b, 0x79, 0xb4, 0xde, 0x32, 0xd1, 0x38, 0x49, 0xdf, 0xf3, 0xe3, 0x04, 0xdd, 0xa2,
|
||||
0xd5, 0xd7, 0xf5, 0x79, 0x8d, 0x61, 0xc9, 0xee, 0xef, 0xfd, 0xfa, 0x9b, 0x6b, 0x95, 0xb4, 0xbf,
|
||||
0x56, 0x80, 0xd3, 0xaa, 0x0b, 0xbf, 0x7d, 0x3b, 0xee, 0x66, 0xba, 0xe3, 0x8e, 0xc1, 0xa6, 0x6b,
|
||||
0xdf, 0x80, 0x01, 0x1e, 0x93, 0xb1, 0x07, 0xb1, 0xfb, 0x31, 0x33, 0x52, 0xb3, 0x92, 0xf4, 0x8c,
|
||||
0x68, 0xcd, 0xdf, 0x6f, 0xc1, 0x78, 0xe2, 0x95, 0x1b, 0xc2, 0xda, 0x53, 0xe8, 0xfb, 0x11, 0x8d,
|
||||
0xb3, 0x84, 0xee, 0x0b, 0xd0, 0xb7, 0xe3, 0x87, 0x51, 0xd2, 0xe1, 0xe3, 0xaa, 0x1f, 0x46, 0x98,
|
||||
0x61, 0xec, 0xdf, 0xb1, 0xa0, 0x7f, 0xc3, 0x71, 0xbd, 0x48, 0x1a, 0x07, 0xac, 0x1c, 0xe3, 0x40,
|
||||
0x2f, 0xdf, 0x85, 0x5e, 0x84, 0x01, 0xb2, 0xb5, 0x45, 0x6a, 0x91, 0x18, 0x55, 0x19, 0x47, 0x62,
|
||||
0x60, 0x85, 0x41, 0xa9, 0x1c, 0xc8, 0x2a, 0xe3, 0x7f, 0xb1, 0x20, 0x46, 0xb7, 0xa1, 0x14, 0xb9,
|
||||
0x4d, 0xb2, 0x50, 0xaf, 0x0b, 0x93, 0xf9, 0x7d, 0xc4, 0xc2, 0xd8, 0x90, 0x0c, 0x70, 0xcc, 0xcb,
|
||||
0xfe, 0x42, 0x01, 0x20, 0x0e, 0x66, 0xd5, 0xed, 0x13, 0x17, 0x53, 0xc6, 0xd4, 0x8b, 0x19, 0xc6,
|
||||
0x54, 0x14, 0x33, 0xcc, 0xb0, 0xa4, 0xaa, 0x6e, 0x2a, 0xf6, 0xd4, 0x4d, 0x7d, 0x47, 0xe9, 0xa6,
|
||||
0x25, 0x98, 0x8c, 0x83, 0x71, 0x99, 0xb1, 0x08, 0xd9, 0xf1, 0xb9, 0x91, 0x44, 0xe2, 0x34, 0xbd,
|
||||
0x4d, 0xe0, 0x82, 0x8a, 0x49, 0x24, 0x4e, 0x34, 0xe6, 0x0f, 0xae, 0x1b, 0xa7, 0xbb, 0xf4, 0x53,
|
||||
0x6c, 0x2d, 0x2e, 0xe4, 0x5a, 0x8b, 0x7f, 0xc2, 0x82, 0x53, 0xc9, 0x7a, 0xd8, 0xe3, 0xe9, 0xcf,
|
||||
0x5b, 0x70, 0x9a, 0xd9, 0xcc, 0x59, 0xad, 0x69, 0x0b, 0xfd, 0x0b, 0x1d, 0xe3, 0x2c, 0xe5, 0xb4,
|
||||
0x38, 0x0e, 0x58, 0xb2, 0x96, 0xc5, 0x1a, 0x67, 0xd7, 0x68, 0xff, 0xaf, 0x3e, 0x98, 0xce, 0x0b,
|
||||
0xd0, 0xc4, 0x9e, 0x8b, 0x38, 0x77, 0xab, 0xbb, 0xe4, 0x8e, 0x70, 0xca, 0x8f, 0x9f, 0x8b, 0x70,
|
||||
0x30, 0x96, 0xf8, 0x64, 0x0a, 0x8e, 0x42, 0x8f, 0x29, 0x38, 0x76, 0x60, 0xf2, 0xce, 0x0e, 0xf1,
|
||||
0x6e, 0x7a, 0xa1, 0x13, 0xb9, 0xe1, 0x96, 0xcb, 0xec, 0xcb, 0x7c, 0xde, 0xc8, 0xbc, 0xbd, 0x93,
|
||||
0xb7, 0x93, 0x04, 0x87, 0x07, 0xb3, 0xe7, 0x0c, 0x40, 0xdc, 0x64, 0xbe, 0x91, 0xe0, 0x34, 0xd3,
|
||||
0x74, 0x06, 0x93, 0xbe, 0x07, 0x9c, 0xc1, 0xa4, 0xe9, 0x0a, 0xaf, 0x14, 0xf9, 0x16, 0x80, 0xdd,
|
||||
0x1c, 0xd7, 0x14, 0x14, 0x6b, 0x14, 0xe8, 0x13, 0x80, 0xf4, 0x0c, 0x4d, 0x46, 0x7c, 0xcc, 0x67,
|
||||
0xef, 0x1d, 0xcc, 0xa2, 0xf5, 0x14, 0xf6, 0xf0, 0x60, 0x76, 0x8a, 0x42, 0xcb, 0x1e, 0xbd, 0x81,
|
||||
0xc6, 0x41, 0xc5, 0x32, 0x18, 0xa1, 0xdb, 0x30, 0x41, 0xa1, 0x6c, 0x45, 0xc9, 0xe0, 0x9b, 0xfc,
|
||||
0xd6, 0xf8, 0xf4, 0xbd, 0x83, 0xd9, 0x89, 0xf5, 0x04, 0x2e, 0x8f, 0x75, 0x8a, 0x09, 0x7a, 0x19,
|
||||
0xc6, 0xe2, 0x79, 0x75, 0x8d, 0xec, 0xf3, 0x60, 0x37, 0x25, 0xae, 0xf8, 0x5e, 0x33, 0x30, 0x38,
|
||||
0x41, 0x69, 0x7f, 0xde, 0x82, 0xb3, 0xb9, 0x59, 0xc4, 0xd1, 0x25, 0x18, 0x72, 0x5a, 0x2e, 0x37,
|
||||
0x63, 0x88, 0xa3, 0x86, 0xa9, 0xcb, 0x2a, 0x65, 0x6e, 0xc4, 0x50, 0x58, 0xba, 0xc3, 0xef, 0xba,
|
||||
0x5e, 0x3d, 0xb9, 0xc3, 0x5f, 0x73, 0xbd, 0x3a, 0x66, 0x18, 0x75, 0x64, 0x15, 0x73, 0x9f, 0x24,
|
||||
0x7c, 0x85, 0xae, 0xd5, 0x8c, 0x7c, 0xe3, 0x27, 0xdb, 0x0c, 0xf4, 0xb4, 0x6e, 0x72, 0x14, 0xde,
|
||||
0x85, 0xb9, 0xe6, 0xc6, 0xef, 0xb3, 0x40, 0x3c, 0x61, 0xee, 0xe1, 0x4c, 0xfe, 0x18, 0x8c, 0xec,
|
||||
0xa5, 0xb3, 0xd7, 0x5d, 0xc8, 0x7f, 0xd3, 0x2d, 0xa2, 0x7e, 0x2b, 0x41, 0xdb, 0xc8, 0x54, 0x67,
|
||||
0xf0, 0xb2, 0xeb, 0x20, 0xb0, 0xcb, 0x84, 0x19, 0x16, 0xba, 0xb7, 0xe6, 0x39, 0x80, 0x3a, 0xa3,
|
||||
0x65, 0x29, 0x6d, 0x0b, 0xa6, 0xc4, 0xb5, 0xac, 0x30, 0x58, 0xa3, 0xb2, 0xff, 0x75, 0x01, 0x86,
|
||||
0x65, 0xb6, 0xb4, 0xb6, 0xd7, 0x8b, 0xfa, 0xef, 0x48, 0xe9, 0x93, 0xd1, 0x3c, 0x94, 0x98, 0x7e,
|
||||
0xba, 0x12, 0x6b, 0x4d, 0x95, 0x76, 0x68, 0x4d, 0x22, 0x70, 0x4c, 0x43, 0x77, 0xc7, 0xb0, 0xbd,
|
||||
0xc9, 0xc8, 0x13, 0x0f, 0x6e, 0xab, 0x1c, 0x8c, 0x25, 0x1e, 0x7d, 0x04, 0x26, 0x78, 0xb9, 0xc0,
|
||||
0x6f, 0x39, 0xdb, 0xdc, 0xa6, 0xd5, 0xaf, 0xa2, 0x98, 0x4c, 0xac, 0x25, 0x70, 0x87, 0x07, 0xb3,
|
||||
0xa7, 0x92, 0x30, 0x66, 0xac, 0x4d, 0x71, 0x61, 0xae, 0x6b, 0xbc, 0x12, 0xba, 0xab, 0xa7, 0x3c,
|
||||
0xde, 0x62, 0x14, 0xd6, 0xe9, 0xec, 0x4f, 0x01, 0x4a, 0xe7, 0x8d, 0x43, 0xaf, 0x71, 0xd7, 0x67,
|
||||
0x37, 0x20, 0xf5, 0x4e, 0xc6, 0x5b, 0x3d, 0x56, 0x87, 0x7c, 0x2b, 0xc7, 0x4b, 0x61, 0x55, 0xde,
|
||||
0xfe, 0x0b, 0x45, 0x98, 0x48, 0x46, 0x07, 0x40, 0x57, 0x61, 0x80, 0x8b, 0x94, 0x82, 0x7d, 0x07,
|
||||
0xdf, 0x20, 0x2d, 0xa6, 0x00, 0x3b, 0x5c, 0x85, 0x54, 0x2a, 0xca, 0xa3, 0x37, 0x60, 0xb8, 0xee,
|
||||
0xdf, 0xf1, 0xee, 0x38, 0x41, 0x7d, 0xa1, 0x52, 0x16, 0xd3, 0x39, 0x53, 0x59, 0xb1, 0x1c, 0x93,
|
||||
0xe9, 0x71, 0x0a, 0x98, 0x1d, 0x3c, 0x46, 0x61, 0x9d, 0x1d, 0xda, 0x60, 0xc9, 0x26, 0xb6, 0xdc,
|
||||
0xed, 0x35, 0xa7, 0xd5, 0xe9, 0x1d, 0xcc, 0x92, 0x24, 0xd2, 0x38, 0x8f, 0x8a, 0x8c, 0x14, 0x1c,
|
||||
0x81, 0x63, 0x46, 0xe8, 0x33, 0x30, 0x15, 0xe6, 0x98, 0x50, 0xf2, 0xd2, 0x88, 0x76, 0xb2, 0x2a,
|
||||
0x2c, 0x3e, 0x74, 0xef, 0x60, 0x76, 0x2a, 0xcb, 0xd8, 0x92, 0x55, 0x8d, 0xfd, 0xc5, 0x53, 0x60,
|
||||
0x2c, 0x62, 0x23, 0xab, 0xb4, 0x75, 0x4c, 0x59, 0xa5, 0x31, 0x0c, 0x91, 0x66, 0x2b, 0xda, 0x5f,
|
||||
0x76, 0x03, 0x31, 0x26, 0x99, 0x3c, 0x57, 0x04, 0x4d, 0x9a, 0xa7, 0xc4, 0x60, 0xc5, 0x27, 0x3b,
|
||||
0xf5, 0x77, 0xf1, 0x9b, 0x98, 0xfa, 0xbb, 0xef, 0x04, 0x53, 0x7f, 0xaf, 0xc3, 0xe0, 0xb6, 0x1b,
|
||||
0x61, 0xd2, 0xf2, 0xc5, 0x65, 0x2e, 0x73, 0x1e, 0x5e, 0xe1, 0x24, 0xe9, 0x24, 0xb3, 0x02, 0x81,
|
||||
0x25, 0x13, 0xf4, 0x9a, 0x5a, 0x81, 0x03, 0xf9, 0x0a, 0x97, 0xb4, 0x13, 0x4b, 0xe6, 0x1a, 0x14,
|
||||
0x09, 0xbe, 0x07, 0xef, 0x37, 0xc1, 0xf7, 0xaa, 0x4c, 0xcb, 0x3d, 0x94, 0xff, 0x68, 0x8d, 0x65,
|
||||
0xdd, 0xee, 0x92, 0x8c, 0xfb, 0x96, 0x9e, 0xca, 0xbc, 0x94, 0xbf, 0x13, 0xa8, 0x2c, 0xe5, 0x3d,
|
||||
0x26, 0x30, 0xff, 0x3e, 0x0b, 0x4e, 0xb7, 0xb2, 0xb2, 0xfa, 0x0b, 0x7f, 0x8f, 0x17, 0x7b, 0xc9,
|
||||
0xfd, 0xca, 0x0a, 0x18, 0x15, 0x32, 0x3d, 0x69, 0x26, 0x19, 0xce, 0xae, 0x8e, 0x76, 0x74, 0xb0,
|
||||
0x59, 0x17, 0x7e, 0x07, 0x8f, 0xe5, 0x64, 0x42, 0xef, 0x90, 0xff, 0x7c, 0x23, 0x23, 0xeb, 0xf6,
|
||||
0xe3, 0x79, 0x59, 0xb7, 0x7b, 0xce, 0xb5, 0xfd, 0x9a, 0xca, 0x81, 0x3e, 0x9a, 0x3f, 0x95, 0x78,
|
||||
0x86, 0xf3, 0xae, 0x99, 0xcf, 0x5f, 0x53, 0x99, 0xcf, 0x3b, 0x84, 0xd7, 0xe6, 0x79, 0xcd, 0xbb,
|
||||
0xe6, 0x3b, 0xd7, 0x72, 0x96, 0x8f, 0x1f, 0x4f, 0xce, 0x72, 0xe3, 0xa8, 0xe1, 0x69, 0xb3, 0x9f,
|
||||
0xee, 0x72, 0xd4, 0x18, 0x7c, 0x3b, 0x1f, 0x36, 0x3c, 0x3f, 0xfb, 0xe4, 0x7d, 0xe5, 0x67, 0xbf,
|
||||
0xa5, 0xe7, 0x3b, 0x47, 0x5d, 0x12, 0x7a, 0x53, 0xa2, 0x1e, 0xb3, 0x9c, 0xdf, 0xd2, 0x0f, 0xc0,
|
||||
0xa9, 0x7c, 0xbe, 0xea, 0x9c, 0x4b, 0xf3, 0xcd, 0x3c, 0x02, 0x53, 0xd9, 0xd3, 0x4f, 0x9d, 0x4c,
|
||||
0xf6, 0xf4, 0xd3, 0xc7, 0x9e, 0x3d, 0xfd, 0xcc, 0x09, 0x64, 0x4f, 0x7f, 0xe8, 0x04, 0xb3, 0xa7,
|
||||
0xdf, 0x62, 0x4e, 0x52, 0x3c, 0x10, 0x94, 0x08, 0x07, 0xfe, 0x54, 0x4e, 0x1c, 0xb5, 0x74, 0xb4,
|
||||
0x28, 0xfe, 0x71, 0x0a, 0x85, 0x63, 0x56, 0x19, 0x59, 0xd9, 0xa7, 0x1f, 0x40, 0x56, 0xf6, 0xf5,
|
||||
0x38, 0x2b, 0xfb, 0xd9, 0xfc, 0xa1, 0xce, 0x78, 0x56, 0x93, 0x93, 0x8b, 0xfd, 0x96, 0x9e, 0x43,
|
||||
0xfd, 0xe1, 0x0e, 0x96, 0xb0, 0x2c, 0x85, 0x72, 0x87, 0xcc, 0xe9, 0xaf, 0xf2, 0xcc, 0xe9, 0x8f,
|
||||
0xe4, 0xef, 0xe4, 0xc9, 0xe3, 0xce, 0xc8, 0x97, 0x4e, 0xdb, 0xa5, 0x02, 0xa9, 0xb2, 0xc0, 0xe7,
|
||||
0x39, 0xed, 0x52, 0x91, 0x58, 0xd3, 0xed, 0x52, 0x28, 0x1c, 0xb3, 0xb2, 0x7f, 0xa0, 0x00, 0xe7,
|
||||
0x3b, 0xaf, 0xb7, 0x58, 0x4b, 0x5e, 0x89, 0x1d, 0x03, 0x12, 0x5a, 0x72, 0x7e, 0x67, 0x8b, 0xa9,
|
||||
0x7a, 0x8e, 0x0b, 0x79, 0x05, 0x26, 0xd5, 0x7b, 0x9c, 0x86, 0x5b, 0xdb, 0x5f, 0x8f, 0xaf, 0xc9,
|
||||
0x2a, 0x82, 0x42, 0x35, 0x49, 0x80, 0xd3, 0x65, 0xd0, 0x02, 0x8c, 0x1b, 0xc0, 0xf2, 0xb2, 0xb8,
|
||||
0x9b, 0xc5, 0xa1, 0xb6, 0x4d, 0x34, 0x4e, 0xd2, 0xdb, 0x5f, 0xb2, 0xe0, 0xa1, 0x9c, 0xb4, 0xa3,
|
||||
0x3d, 0x87, 0x3d, 0xdc, 0x82, 0xf1, 0x96, 0x59, 0xb4, 0x4b, 0xa4, 0x56, 0x23, 0xb9, 0xa9, 0x6a,
|
||||
0x6b, 0x02, 0x81, 0x93, 0x4c, 0xed, 0x9f, 0x2e, 0xc0, 0xb9, 0x8e, 0x0e, 0xa6, 0x08, 0xc3, 0x99,
|
||||
0xed, 0x66, 0xe8, 0x2c, 0x05, 0xa4, 0x4e, 0xbc, 0xc8, 0x75, 0x1a, 0xd5, 0x16, 0xa9, 0x69, 0x76,
|
||||
0x0e, 0xe6, 0xa9, 0x79, 0x65, 0xad, 0xba, 0x90, 0xa6, 0xc0, 0x39, 0x25, 0xd1, 0x2a, 0xa0, 0x34,
|
||||
0x46, 0x8c, 0x30, 0x0b, 0xa1, 0x9f, 0xe6, 0x87, 0x33, 0x4a, 0xa0, 0x0f, 0xc0, 0xa8, 0x72, 0x5c,
|
||||
0xd5, 0x46, 0x9c, 0x6d, 0xec, 0x58, 0x47, 0x60, 0x93, 0x0e, 0x5d, 0xe6, 0x39, 0x18, 0x44, 0xb6,
|
||||
0x0e, 0x61, 0x14, 0x19, 0x97, 0x09, 0x16, 0x04, 0x18, 0xeb, 0x34, 0x8b, 0x2f, 0xfd, 0xda, 0xef,
|
||||
0x9d, 0x7f, 0xcf, 0x6f, 0xfc, 0xde, 0xf9, 0xf7, 0xfc, 0xf6, 0xef, 0x9d, 0x7f, 0xcf, 0x77, 0xdd,
|
||||
0x3b, 0x6f, 0xfd, 0xda, 0xbd, 0xf3, 0xd6, 0x6f, 0xdc, 0x3b, 0x6f, 0xfd, 0xf6, 0xbd, 0xf3, 0xd6,
|
||||
0xef, 0xde, 0x3b, 0x6f, 0x7d, 0xe1, 0xf7, 0xcf, 0xbf, 0xe7, 0x63, 0x28, 0x0e, 0x24, 0x3a, 0x4f,
|
||||
0x47, 0x67, 0x7e, 0xef, 0xf2, 0xff, 0x0f, 0x00, 0x00, 0xff, 0xff, 0x52, 0x56, 0xa0, 0x3b, 0xf7,
|
||||
0x0c, 0x01, 0x00,
|
||||
0x0f, 0xeb, 0xd3, 0xa3, 0x85, 0xb6, 0xfa, 0xe9, 0x11, 0x35, 0x1a, 0xcc, 0x28, 0xba, 0xac, 0x07,
|
||||
0xd0, 0xea, 0xbc, 0xd9, 0xd3, 0x8a, 0xf5, 0x57, 0x85, 0x71, 0x94, 0x2d, 0xf4, 0xf1, 0x94, 0x7b,
|
||||
0xcc, 0xb3, 0x5d, 0x4e, 0x8d, 0x23, 0x38, 0xc4, 0xb0, 0xfc, 0x3b, 0x2c, 0x3b, 0x49, 0xb9, 0x22,
|
||||
0xd6, 0x85, 0x96, 0x7f, 0x47, 0x20, 0x70, 0x4c, 0x43, 0x85, 0x29, 0xf5, 0x27, 0x9c, 0x46, 0x71,
|
||||
0x1c, 0x5a, 0x45, 0x1d, 0x62, 0x8d, 0x02, 0xcd, 0x0b, 0x85, 0x02, 0xb7, 0x0b, 0x3c, 0x9c, 0x50,
|
||||
0x28, 0xc8, 0xee, 0xd2, 0xb4, 0x40, 0x97, 0x61, 0x58, 0x65, 0x5b, 0xaf, 0xf0, 0xcc, 0x57, 0x62,
|
||||
0x9a, 0xad, 0xc4, 0x60, 0xac, 0xd3, 0xa0, 0x0d, 0x18, 0x0f, 0xb9, 0x9e, 0x4d, 0x05, 0x07, 0xe7,
|
||||
0xfa, 0xca, 0xf7, 0xaa, 0xc7, 0xc4, 0x26, 0xfa, 0x90, 0x81, 0xf8, 0xee, 0x24, 0x43, 0x2c, 0x24,
|
||||
0x59, 0xa0, 0x57, 0x61, 0xac, 0xe1, 0x3b, 0xf5, 0x45, 0xa7, 0xe1, 0x78, 0x35, 0xd6, 0x3f, 0x43,
|
||||
0x66, 0xd2, 0xde, 0xeb, 0x06, 0x16, 0x27, 0xa8, 0xa9, 0xf0, 0xa6, 0x43, 0x44, 0x88, 0x30, 0xc7,
|
||||
0xdb, 0x26, 0xa1, 0xc8, 0x9d, 0xcd, 0x84, 0xb7, 0xeb, 0x39, 0x34, 0x38, 0xb7, 0x34, 0x7a, 0x09,
|
||||
0x46, 0xe4, 0xe7, 0x6b, 0x11, 0x49, 0xe2, 0x27, 0x31, 0x1a, 0x0e, 0x1b, 0x94, 0x28, 0x84, 0xd3,
|
||||
0xf2, 0xff, 0x46, 0xe0, 0x6c, 0x6d, 0xb9, 0x35, 0xf1, 0x4c, 0x9f, 0xbf, 0x9d, 0xfd, 0x90, 0x7c,
|
||||
0xe0, 0xb9, 0x92, 0x45, 0x74, 0x78, 0x30, 0xfb, 0x88, 0xe8, 0xb5, 0x4c, 0x3c, 0xce, 0xe6, 0x8d,
|
||||
0xd6, 0x60, 0x6a, 0x87, 0x38, 0x8d, 0x68, 0x67, 0x69, 0x87, 0xd4, 0x76, 0xe5, 0x82, 0x63, 0x31,
|
||||
0x4e, 0xb4, 0xa7, 0x23, 0x57, 0xd3, 0x24, 0x38, 0xab, 0x1c, 0x7a, 0x03, 0xa6, 0x5b, 0xed, 0xcd,
|
||||
0x86, 0x1b, 0xee, 0xac, 0xfb, 0x11, 0x73, 0x42, 0x52, 0x89, 0xdb, 0x45, 0x30, 0x14, 0x15, 0x45,
|
||||
0xa6, 0x92, 0x43, 0x87, 0x73, 0x39, 0xa0, 0xb7, 0xe0, 0x74, 0x62, 0x22, 0x88, 0x70, 0x10, 0x63,
|
||||
0xf9, 0xa9, 0x41, 0xaa, 0x59, 0x05, 0x44, 0x64, 0x95, 0x2c, 0x14, 0xce, 0xae, 0x02, 0xbd, 0x0c,
|
||||
0xe0, 0xb6, 0x56, 0x9d, 0xa6, 0xdb, 0xa0, 0x57, 0xc5, 0x29, 0x36, 0x47, 0xe8, 0xb5, 0x01, 0xca,
|
||||
0x15, 0x09, 0xa5, 0x7b, 0xb3, 0xf8, 0xb7, 0x8f, 0x35, 0x6a, 0x74, 0x1d, 0xc6, 0xc4, 0xbf, 0x7d,
|
||||
0x31, 0xa4, 0x3c, 0x2a, 0xc9, 0xe3, 0x2c, 0xa4, 0x54, 0x45, 0xc7, 0x1c, 0xa6, 0x20, 0x38, 0x51,
|
||||
0x16, 0x6d, 0xc3, 0x39, 0x99, 0xe6, 0x4d, 0x9f, 0x9f, 0x72, 0x0c, 0x42, 0x96, 0x8f, 0x63, 0x88,
|
||||
0xbf, 0x4a, 0x59, 0xe8, 0x44, 0x88, 0x3b, 0xf3, 0xa1, 0xe7, 0xba, 0x3e, 0xcd, 0xf9, 0xbb, 0xdd,
|
||||
0xd3, 0xdc, 0xc3, 0x89, 0x9e, 0xeb, 0xd7, 0x93, 0x48, 0x9c, 0xa6, 0xa7, 0xb3, 0xda, 0xf5, 0xb2,
|
||||
0x66, 0xf5, 0x19, 0x3e, 0xab, 0xf9, 0x93, 0xe5, 0xec, 0x19, 0x7d, 0x41, 0xcc, 0xe8, 0x4c, 0x3c,
|
||||
0xdb, 0x96, 0xb2, 0x79, 0xbf, 0x3d, 0xdf, 0xbf, 0xdf, 0xb2, 0x68, 0x69, 0x4d, 0x42, 0x47, 0x9f,
|
||||
0x82, 0x11, 0xfd, 0xc3, 0x84, 0xb4, 0x71, 0x31, 0x5b, 0x80, 0xd5, 0xf6, 0x05, 0x2e, 0xdf, 0xab,
|
||||
0xb5, 0xaf, 0xe3, 0xb0, 0xc1, 0x11, 0xd5, 0x32, 0x1e, 0xf7, 0xcf, 0xf7, 0x26, 0xcd, 0xf4, 0xee,
|
||||
0xfa, 0x46, 0x20, 0x7b, 0xca, 0xa3, 0xeb, 0x30, 0x54, 0x6b, 0xb8, 0xc4, 0x8b, 0xca, 0x95, 0x4e,
|
||||
0xe1, 0x0b, 0x97, 0x04, 0x8d, 0x58, 0x43, 0x22, 0xbd, 0x06, 0x87, 0x61, 0xc5, 0xc1, 0xfe, 0xd5,
|
||||
0x02, 0xcc, 0x76, 0xc9, 0xd5, 0x92, 0x30, 0x45, 0x59, 0x3d, 0x99, 0xa2, 0x16, 0x60, 0x3c, 0xfe,
|
||||
0xa7, 0x6b, 0xb9, 0x94, 0x37, 0xeb, 0x2d, 0x13, 0x8d, 0x93, 0xf4, 0x3d, 0x3f, 0x4c, 0xd0, 0xad,
|
||||
0x59, 0x7d, 0x5d, 0x9f, 0xd6, 0x18, 0x56, 0xec, 0xfe, 0xde, 0xaf, 0xbe, 0xb9, 0x16, 0x49, 0xfb,
|
||||
0x6b, 0x05, 0x38, 0xad, 0xba, 0xf0, 0xdb, 0xb7, 0xe3, 0x6e, 0xa6, 0x3b, 0xee, 0x18, 0xec, 0xb9,
|
||||
0xf6, 0x0d, 0x18, 0xe0, 0xf1, 0x18, 0x7b, 0x10, 0xb9, 0x1f, 0x33, 0xa3, 0x34, 0x2b, 0x29, 0xcf,
|
||||
0x88, 0xd4, 0xfc, 0xfd, 0x16, 0x8c, 0x27, 0x5e, 0xb8, 0x21, 0xac, 0x3d, 0x83, 0xbe, 0x1f, 0xb1,
|
||||
0x38, 0x4b, 0xe0, 0xbe, 0x00, 0x7d, 0x3b, 0x7e, 0x18, 0x25, 0x9d, 0x3d, 0xae, 0xfa, 0x61, 0x84,
|
||||
0x19, 0xc6, 0xfe, 0x1d, 0x0b, 0xfa, 0x37, 0x1c, 0xd7, 0x8b, 0xa4, 0x61, 0xc0, 0xca, 0x31, 0x0c,
|
||||
0xf4, 0xf2, 0x5d, 0xe8, 0x45, 0x18, 0x20, 0x5b, 0x5b, 0xa4, 0x16, 0x89, 0x51, 0x95, 0x31, 0x24,
|
||||
0x06, 0x56, 0x18, 0x94, 0xca, 0x80, 0xac, 0x32, 0xfe, 0x17, 0x0b, 0x62, 0x74, 0x1b, 0x4a, 0x91,
|
||||
0xdb, 0x24, 0x0b, 0xf5, 0xba, 0x30, 0x97, 0xdf, 0x47, 0x1c, 0x8c, 0x0d, 0xc9, 0x00, 0xc7, 0xbc,
|
||||
0xec, 0x2f, 0x14, 0x00, 0xe2, 0x40, 0x56, 0xdd, 0x3e, 0x71, 0x31, 0x65, 0x48, 0xbd, 0x98, 0x61,
|
||||
0x48, 0x45, 0x31, 0xc3, 0x0c, 0x2b, 0xaa, 0xea, 0xa6, 0x62, 0x4f, 0xdd, 0xd4, 0x77, 0x94, 0x6e,
|
||||
0x5a, 0x82, 0xc9, 0x38, 0x10, 0x97, 0x19, 0x87, 0x90, 0x1d, 0x9f, 0x1b, 0x49, 0x24, 0x4e, 0xd3,
|
||||
0xdb, 0x04, 0x2e, 0xa8, 0x78, 0x44, 0xe2, 0x44, 0x63, 0xbe, 0xe0, 0xba, 0x61, 0xba, 0x4b, 0x3f,
|
||||
0xc5, 0x96, 0xe2, 0x42, 0xae, 0xa5, 0xf8, 0x27, 0x2c, 0x38, 0x95, 0xac, 0x87, 0x3d, 0x9c, 0xfe,
|
||||
0xbc, 0x05, 0xa7, 0x99, 0xbd, 0x9c, 0xd5, 0x9a, 0xb6, 0xce, 0xbf, 0xd0, 0x31, 0xc6, 0x52, 0x4e,
|
||||
0x8b, 0xe3, 0x60, 0x25, 0x6b, 0x59, 0xac, 0x71, 0x76, 0x8d, 0xf6, 0xff, 0xea, 0x83, 0xe9, 0xbc,
|
||||
0xe0, 0x4c, 0xec, 0xa9, 0x88, 0x73, 0xb7, 0xba, 0x4b, 0xee, 0x08, 0x87, 0xfc, 0xf8, 0xa9, 0x08,
|
||||
0x07, 0x63, 0x89, 0x4f, 0xa6, 0xdf, 0x28, 0xf4, 0x98, 0x7e, 0x63, 0x07, 0x26, 0xef, 0xec, 0x10,
|
||||
0xef, 0xa6, 0x17, 0x3a, 0x91, 0x1b, 0x6e, 0xb9, 0xcc, 0xb6, 0xcc, 0xe7, 0x8d, 0xcc, 0xd9, 0x3b,
|
||||
0x79, 0x3b, 0x49, 0x70, 0x78, 0x30, 0x7b, 0xce, 0x00, 0xc4, 0x4d, 0xe6, 0x1b, 0x09, 0x4e, 0x33,
|
||||
0x4d, 0x67, 0x2f, 0xe9, 0x7b, 0xc0, 0xd9, 0x4b, 0x9a, 0xae, 0xf0, 0x48, 0x91, 0xef, 0x00, 0xd8,
|
||||
0xad, 0x71, 0x4d, 0x41, 0xb1, 0x46, 0x81, 0x3e, 0x01, 0x48, 0xcf, 0xce, 0x64, 0xc4, 0xc6, 0x7c,
|
||||
0xf6, 0xde, 0xc1, 0x2c, 0x5a, 0x4f, 0x61, 0x0f, 0x0f, 0x66, 0xa7, 0x28, 0xb4, 0xec, 0xd1, 0xdb,
|
||||
0x67, 0x1c, 0x50, 0x2c, 0x83, 0x11, 0xba, 0x0d, 0x13, 0x14, 0xca, 0x56, 0x94, 0x0c, 0xbc, 0xc9,
|
||||
0x6f, 0x8c, 0x4f, 0xdf, 0x3b, 0x98, 0x9d, 0x58, 0x4f, 0xe0, 0xf2, 0x58, 0xa7, 0x98, 0xa0, 0x97,
|
||||
0x61, 0x2c, 0x9e, 0x57, 0xd7, 0xc8, 0x3e, 0x0f, 0x74, 0x53, 0xe2, 0x4a, 0xef, 0x35, 0x03, 0x83,
|
||||
0x13, 0x94, 0xf6, 0xe7, 0x2d, 0x38, 0x9b, 0x9b, 0x41, 0x1c, 0x5d, 0x82, 0x21, 0xa7, 0xe5, 0x72,
|
||||
0x13, 0x86, 0x38, 0x6a, 0x98, 0xaa, 0xac, 0x52, 0xe6, 0x06, 0x0c, 0x85, 0xa5, 0x3b, 0xfc, 0xae,
|
||||
0xeb, 0xd5, 0x93, 0x3b, 0xfc, 0x35, 0xd7, 0xab, 0x63, 0x86, 0x51, 0x47, 0x56, 0x31, 0xf7, 0x39,
|
||||
0xc2, 0x57, 0xe8, 0x5a, 0xcd, 0xc8, 0x35, 0x7e, 0xb2, 0xcd, 0x40, 0x4f, 0xeb, 0xe6, 0x46, 0xe1,
|
||||
0x59, 0x98, 0x6b, 0x6a, 0xfc, 0x3e, 0x0b, 0xc4, 0xf3, 0xe5, 0x1e, 0xce, 0xe4, 0x8f, 0xc1, 0xc8,
|
||||
0x5e, 0x3a, 0x73, 0xdd, 0x85, 0xfc, 0xf7, 0xdc, 0x22, 0xe2, 0xb7, 0x12, 0xb4, 0x8d, 0x2c, 0x75,
|
||||
0x06, 0x2f, 0xbb, 0x0e, 0x02, 0xbb, 0x4c, 0x98, 0x51, 0xa1, 0x7b, 0x6b, 0x9e, 0x03, 0xa8, 0x33,
|
||||
0x5a, 0x96, 0xce, 0xb6, 0x60, 0x4a, 0x5c, 0xcb, 0x0a, 0x83, 0x35, 0x2a, 0xfb, 0x5f, 0x17, 0x60,
|
||||
0x58, 0x66, 0x4a, 0x6b, 0x7b, 0xbd, 0xa8, 0xfe, 0x8e, 0x94, 0x3a, 0x19, 0xcd, 0x43, 0x89, 0xe9,
|
||||
0xa6, 0x2b, 0xb1, 0xc6, 0x54, 0x69, 0x86, 0xd6, 0x24, 0x02, 0xc7, 0x34, 0x74, 0x77, 0x0c, 0xdb,
|
||||
0x9b, 0x8c, 0x3c, 0xf1, 0xd8, 0xb6, 0xca, 0xc1, 0x58, 0xe2, 0xd1, 0x47, 0x60, 0x82, 0x97, 0x0b,
|
||||
0xfc, 0x96, 0xb3, 0xcd, 0xed, 0x59, 0xfd, 0x2a, 0x82, 0xc9, 0xc4, 0x5a, 0x02, 0x77, 0x78, 0x30,
|
||||
0x7b, 0x2a, 0x09, 0x63, 0x86, 0xda, 0x14, 0x17, 0xe6, 0xb6, 0xc6, 0x2b, 0xa1, 0xbb, 0x7a, 0xca,
|
||||
0xdb, 0x2d, 0x46, 0x61, 0x9d, 0xce, 0xfe, 0x14, 0xa0, 0x74, 0xce, 0x38, 0xf4, 0x1a, 0x77, 0x7b,
|
||||
0x76, 0x03, 0x52, 0xef, 0x64, 0xb8, 0xd5, 0xe3, 0x74, 0xc8, 0x77, 0x72, 0xbc, 0x14, 0x56, 0xe5,
|
||||
0xed, 0xbf, 0x50, 0x84, 0x89, 0x64, 0x64, 0x00, 0x74, 0x15, 0x06, 0xb8, 0x48, 0x29, 0xd8, 0x77,
|
||||
0xf0, 0x0b, 0xd2, 0xe2, 0x09, 0xb0, 0xc3, 0x55, 0x48, 0xa5, 0xa2, 0x3c, 0x7a, 0x03, 0x86, 0xeb,
|
||||
0xfe, 0x1d, 0xef, 0x8e, 0x13, 0xd4, 0x17, 0x2a, 0x65, 0x31, 0x9d, 0x33, 0x95, 0x15, 0xcb, 0x31,
|
||||
0x99, 0x1e, 0xa3, 0x80, 0xd9, 0xc0, 0x63, 0x14, 0xd6, 0xd9, 0xa1, 0x0d, 0x96, 0x68, 0x62, 0xcb,
|
||||
0xdd, 0x5e, 0x73, 0x5a, 0x9d, 0xde, 0xc0, 0x2c, 0x49, 0x22, 0x8d, 0xf3, 0xa8, 0xc8, 0x46, 0xc1,
|
||||
0x11, 0x38, 0x66, 0x84, 0x3e, 0x03, 0x53, 0x61, 0x8e, 0xf9, 0x24, 0x2f, 0x85, 0x68, 0x27, 0x8b,
|
||||
0xc2, 0xe2, 0x43, 0xf7, 0x0e, 0x66, 0xa7, 0xb2, 0x0c, 0x2d, 0x59, 0xd5, 0xd8, 0x5f, 0x3c, 0x05,
|
||||
0xc6, 0x22, 0x36, 0x32, 0x4a, 0x5b, 0xc7, 0x94, 0x51, 0x1a, 0xc3, 0x10, 0x69, 0xb6, 0xa2, 0xfd,
|
||||
0x65, 0x37, 0x10, 0x63, 0x92, 0xc9, 0x73, 0x45, 0xd0, 0xa4, 0x79, 0x4a, 0x0c, 0x56, 0x7c, 0xb2,
|
||||
0xd3, 0x7e, 0x17, 0xbf, 0x89, 0x69, 0xbf, 0xfb, 0x4e, 0x30, 0xed, 0xf7, 0x3a, 0x0c, 0x6e, 0xbb,
|
||||
0x11, 0x26, 0x2d, 0x5f, 0x5c, 0xe6, 0x32, 0xe7, 0xe1, 0x15, 0x4e, 0x92, 0x4e, 0x30, 0x2b, 0x10,
|
||||
0x58, 0x32, 0x41, 0xaf, 0xa9, 0x15, 0x38, 0x90, 0xaf, 0x70, 0x49, 0x3b, 0xb0, 0x64, 0xae, 0x41,
|
||||
0x91, 0xdc, 0x7b, 0xf0, 0x7e, 0x93, 0x7b, 0xaf, 0xca, 0x94, 0xdc, 0x43, 0xf9, 0x0f, 0xd6, 0x58,
|
||||
0xc6, 0xed, 0x2e, 0x89, 0xb8, 0x6f, 0xe9, 0x69, 0xcc, 0x4b, 0xf9, 0x3b, 0x81, 0xca, 0x50, 0xde,
|
||||
0x63, 0xf2, 0xf2, 0xef, 0xb3, 0xe0, 0x74, 0x2b, 0x2b, 0xa3, 0xbf, 0xf0, 0xf5, 0x78, 0xb1, 0x97,
|
||||
0xbc, 0xaf, 0xac, 0x80, 0x51, 0x21, 0xd3, 0x93, 0x66, 0x92, 0xe1, 0xec, 0xea, 0x68, 0x47, 0x07,
|
||||
0x9b, 0x75, 0xe1, 0x73, 0xf0, 0x58, 0x4e, 0x16, 0xf4, 0x0e, 0xb9, 0xcf, 0x37, 0x32, 0x32, 0x6e,
|
||||
0x3f, 0x9e, 0x97, 0x71, 0xbb, 0xe7, 0x3c, 0xdb, 0xaf, 0xa9, 0xfc, 0xe7, 0xa3, 0xf9, 0x53, 0x89,
|
||||
0x67, 0x37, 0xef, 0x9a, 0xf5, 0xfc, 0x35, 0x95, 0xf5, 0xbc, 0x43, 0x68, 0x6d, 0x9e, 0xd3, 0xbc,
|
||||
0x6b, 0xae, 0x73, 0x2d, 0x5f, 0xf9, 0xf8, 0xf1, 0xe4, 0x2b, 0x37, 0x8e, 0x1a, 0x9e, 0x32, 0xfb,
|
||||
0xe9, 0x2e, 0x47, 0x8d, 0xc1, 0xb7, 0xf3, 0x61, 0xc3, 0x73, 0xb3, 0x4f, 0xde, 0x57, 0x6e, 0xf6,
|
||||
0x5b, 0x7a, 0xae, 0x73, 0xd4, 0x25, 0x99, 0x37, 0x25, 0xea, 0x31, 0xc3, 0xf9, 0x2d, 0xfd, 0x00,
|
||||
0x9c, 0xca, 0xe7, 0xab, 0xce, 0xb9, 0x34, 0xdf, 0xcc, 0x23, 0x30, 0x95, 0x39, 0xfd, 0xd4, 0xc9,
|
||||
0x64, 0x4e, 0x3f, 0x7d, 0xec, 0x99, 0xd3, 0xcf, 0x9c, 0x40, 0xe6, 0xf4, 0x87, 0x4e, 0x30, 0x73,
|
||||
0xfa, 0x2d, 0xe6, 0x20, 0xc5, 0x83, 0x40, 0x89, 0x50, 0xe0, 0x4f, 0xe5, 0xc4, 0x50, 0x4b, 0x47,
|
||||
0x8a, 0xe2, 0x1f, 0xa7, 0x50, 0x38, 0x66, 0x95, 0x91, 0x91, 0x7d, 0xfa, 0x01, 0x64, 0x64, 0x5f,
|
||||
0x8f, 0x33, 0xb2, 0x9f, 0xcd, 0x1f, 0xea, 0x8c, 0x27, 0x35, 0x39, 0x79, 0xd8, 0x6f, 0xe9, 0xf9,
|
||||
0xd3, 0x1f, 0xee, 0x60, 0x09, 0xcb, 0x52, 0x28, 0x77, 0xc8, 0x9a, 0xfe, 0x2a, 0xcf, 0x9a, 0xfe,
|
||||
0x48, 0xfe, 0x4e, 0x9e, 0x3c, 0xee, 0x8c, 0x5c, 0xe9, 0xb4, 0x5d, 0x2a, 0x88, 0x2a, 0x0b, 0x7a,
|
||||
0x9e, 0xd3, 0x2e, 0x15, 0x85, 0x35, 0xdd, 0x2e, 0x85, 0xc2, 0x31, 0x2b, 0xfb, 0x07, 0x0a, 0x70,
|
||||
0xbe, 0xf3, 0x7a, 0x8b, 0xb5, 0xe4, 0x95, 0xd8, 0x29, 0x20, 0xa1, 0x25, 0xe7, 0x77, 0xb6, 0x98,
|
||||
0xaa, 0xe7, 0x98, 0x90, 0x57, 0x60, 0x52, 0xbd, 0xc5, 0x69, 0xb8, 0xb5, 0xfd, 0xf5, 0xf8, 0x9a,
|
||||
0xac, 0xa2, 0x27, 0x54, 0x93, 0x04, 0x38, 0x5d, 0x06, 0x2d, 0xc0, 0xb8, 0x01, 0x2c, 0x2f, 0x8b,
|
||||
0xbb, 0x59, 0x1c, 0x66, 0xdb, 0x44, 0xe3, 0x24, 0xbd, 0xfd, 0x25, 0x0b, 0x1e, 0xca, 0x49, 0x39,
|
||||
0xda, 0x73, 0xc8, 0xc3, 0x2d, 0x18, 0x6f, 0x99, 0x45, 0xbb, 0x44, 0x69, 0x35, 0x12, 0x9b, 0xaa,
|
||||
0xb6, 0x26, 0x10, 0x38, 0xc9, 0xd4, 0xfe, 0xe9, 0x02, 0x9c, 0xeb, 0xe8, 0x5c, 0x8a, 0x30, 0x9c,
|
||||
0xd9, 0x6e, 0x86, 0xce, 0x52, 0x40, 0xea, 0xc4, 0x8b, 0x5c, 0xa7, 0x51, 0x6d, 0x91, 0x9a, 0x66,
|
||||
0xe7, 0x60, 0x5e, 0x9a, 0x57, 0xd6, 0xaa, 0x0b, 0x69, 0x0a, 0x9c, 0x53, 0x12, 0xad, 0x02, 0x4a,
|
||||
0x63, 0xc4, 0x08, 0xb3, 0xf0, 0xf9, 0x69, 0x7e, 0x38, 0xa3, 0x04, 0xfa, 0x00, 0x8c, 0x2a, 0xa7,
|
||||
0x55, 0x6d, 0xc4, 0xd9, 0xc6, 0x8e, 0x75, 0x04, 0x36, 0xe9, 0xd0, 0x65, 0x9e, 0x7f, 0x41, 0x64,
|
||||
0xea, 0x10, 0x46, 0x91, 0x71, 0x99, 0x5c, 0x41, 0x80, 0xb1, 0x4e, 0xb3, 0xf8, 0xd2, 0xaf, 0xfd,
|
||||
0xde, 0xf9, 0xf7, 0xfc, 0xc6, 0xef, 0x9d, 0x7f, 0xcf, 0x6f, 0xff, 0xde, 0xf9, 0xf7, 0x7c, 0xd7,
|
||||
0xbd, 0xf3, 0xd6, 0xaf, 0xdd, 0x3b, 0x6f, 0xfd, 0xc6, 0xbd, 0xf3, 0xd6, 0x6f, 0xdf, 0x3b, 0x6f,
|
||||
0xfd, 0xee, 0xbd, 0xf3, 0xd6, 0x17, 0x7e, 0xff, 0xfc, 0x7b, 0x3e, 0x86, 0xe2, 0x20, 0xa2, 0xf3,
|
||||
0x74, 0x74, 0xe6, 0xf7, 0x2e, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xad, 0xc7, 0x7d, 0xad,
|
||||
0xf3, 0x0c, 0x01, 0x00,
|
||||
}
|
||||
|
||||
func (m *AWSElasticBlockStoreVolumeSource) Marshal() (dAtA []byte, err error) {
|
||||
@ -65016,7 +65016,7 @@ func (m *ServiceSpec) Unmarshal(dAtA []byte) error {
|
||||
if postIndex > l {
|
||||
return io.ErrUnexpectedEOF
|
||||
}
|
||||
m.ExternalTrafficPolicy = ServiceExternalTrafficPolicyType(dAtA[iNdEx:postIndex])
|
||||
m.ExternalTrafficPolicy = ServiceExternalTrafficPolicy(dAtA[iNdEx:postIndex])
|
||||
iNdEx = postIndex
|
||||
case 12:
|
||||
if wireType != 0 {
|
||||
|
@ -4382,20 +4382,29 @@ const (
|
||||
ServiceInternalTrafficPolicyLocal ServiceInternalTrafficPolicyType = "Local"
|
||||
)
|
||||
|
||||
// ServiceExternalTrafficPolicyType describes how nodes distribute service traffic they
|
||||
// ServiceExternalTrafficPolicy describes how nodes distribute service traffic they
|
||||
// receive on one of the Service's "externally-facing" addresses (NodePorts, ExternalIPs,
|
||||
// and LoadBalancer IPs).
|
||||
// and LoadBalancer IPs.
|
||||
// +enum
|
||||
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"
|
||||
)
|
||||
|
||||
// for backwards compat
|
||||
// +enum
|
||||
type ServiceExternalTrafficPolicyType = ServiceExternalTrafficPolicy
|
||||
|
||||
const (
|
||||
ServiceExternalTrafficPolicyTypeLocal = ServiceExternalTrafficPolicyLocal
|
||||
ServiceExternalTrafficPolicyTypeCluster = ServiceExternalTrafficPolicyCluster
|
||||
)
|
||||
|
||||
// These are the valid conditions of a service.
|
||||
@ -4628,7 +4637,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
|
||||
|
@ -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"`
|
||||
@ -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
|
||||
}
|
||||
|
@ -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
|
||||
|
@ -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,
|
||||
},
|
||||
|
@ -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.
|
||||
|
@ -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,
|
||||
},
|
||||
})
|
||||
}
|
||||
|
@ -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)),
|
||||
|
@ -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,
|
||||
},
|
||||
},
|
||||
|
@ -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{}
|
||||
|
@ -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)
|
||||
|
@ -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)
|
||||
|
@ -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)
|
||||
|
||||
|
@ -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)
|
||||
}
|
||||
|
@ -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)
|
||||
|
||||
|
@ -772,7 +772,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)
|
||||
})
|
||||
|
||||
@ -783,7 +783,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)
|
||||
})
|
||||
|
||||
@ -794,7 +794,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)
|
||||
})
|
||||
|
||||
@ -805,7 +805,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)
|
||||
})
|
||||
|
||||
@ -1502,7 +1502,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 {
|
||||
@ -1602,7 +1602,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)
|
||||
})
|
||||
|
@ -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)
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user