mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-29 22:46:12 +00:00
core/v1: update unit tests to not expect internalTrafficPolicy when Service Type=ExternalName
Signed-off-by: Andrew Sy Kim <kim.andrewsy@gmail.com>
This commit is contained in:
parent
438b90fbc4
commit
f68f478e66
@ -48,9 +48,6 @@ func MakeService(name string, tweaks ...Tweak) *api.Service {
|
|||||||
SetTypeClusterIP(svc)
|
SetTypeClusterIP(svc)
|
||||||
// Default to 1 port
|
// Default to 1 port
|
||||||
SetPorts(MakeServicePort("", 93, intstr.FromInt(76), api.ProtocolTCP))(svc)
|
SetPorts(MakeServicePort("", 93, intstr.FromInt(76), api.ProtocolTCP))(svc)
|
||||||
// Default internalTrafficPolicy to "Cluster". This probably should not
|
|
||||||
// apply to ExternalName, but it went into beta and is not worth breaking.
|
|
||||||
SetInternalTrafficPolicy(api.ServiceInternalTrafficPolicyCluster)(svc)
|
|
||||||
|
|
||||||
for _, tweak := range tweaks {
|
for _, tweak := range tweaks {
|
||||||
tweak(svc)
|
tweak(svc)
|
||||||
@ -68,6 +65,8 @@ func SetTypeClusterIP(svc *api.Service) {
|
|||||||
svc.Spec.ExternalName = ""
|
svc.Spec.ExternalName = ""
|
||||||
svc.Spec.ExternalTrafficPolicy = ""
|
svc.Spec.ExternalTrafficPolicy = ""
|
||||||
svc.Spec.AllocateLoadBalancerNodePorts = nil
|
svc.Spec.AllocateLoadBalancerNodePorts = nil
|
||||||
|
internalTrafficPolicy := api.ServiceInternalTrafficPolicyCluster
|
||||||
|
svc.Spec.InternalTrafficPolicy = &internalTrafficPolicy
|
||||||
}
|
}
|
||||||
|
|
||||||
// SetTypeNodePort sets the service type to NodePort and clears other fields.
|
// SetTypeNodePort sets the service type to NodePort and clears other fields.
|
||||||
@ -76,6 +75,8 @@ func SetTypeNodePort(svc *api.Service) {
|
|||||||
svc.Spec.ExternalTrafficPolicy = api.ServiceExternalTrafficPolicyTypeCluster
|
svc.Spec.ExternalTrafficPolicy = api.ServiceExternalTrafficPolicyTypeCluster
|
||||||
svc.Spec.ExternalName = ""
|
svc.Spec.ExternalName = ""
|
||||||
svc.Spec.AllocateLoadBalancerNodePorts = nil
|
svc.Spec.AllocateLoadBalancerNodePorts = nil
|
||||||
|
internalTrafficPolicy := api.ServiceInternalTrafficPolicyCluster
|
||||||
|
svc.Spec.InternalTrafficPolicy = &internalTrafficPolicy
|
||||||
}
|
}
|
||||||
|
|
||||||
// SetTypeLoadBalancer sets the service type to LoadBalancer and clears other fields.
|
// SetTypeLoadBalancer sets the service type to LoadBalancer and clears other fields.
|
||||||
@ -84,6 +85,8 @@ func SetTypeLoadBalancer(svc *api.Service) {
|
|||||||
svc.Spec.ExternalTrafficPolicy = api.ServiceExternalTrafficPolicyTypeCluster
|
svc.Spec.ExternalTrafficPolicy = api.ServiceExternalTrafficPolicyTypeCluster
|
||||||
svc.Spec.AllocateLoadBalancerNodePorts = utilpointer.BoolPtr(true)
|
svc.Spec.AllocateLoadBalancerNodePorts = utilpointer.BoolPtr(true)
|
||||||
svc.Spec.ExternalName = ""
|
svc.Spec.ExternalName = ""
|
||||||
|
internalTrafficPolicy := api.ServiceInternalTrafficPolicyCluster
|
||||||
|
svc.Spec.InternalTrafficPolicy = &internalTrafficPolicy
|
||||||
}
|
}
|
||||||
|
|
||||||
// SetTypeExternalName sets the service type to ExternalName and clears other fields.
|
// SetTypeExternalName sets the service type to ExternalName and clears other fields.
|
||||||
@ -94,6 +97,7 @@ func SetTypeExternalName(svc *api.Service) {
|
|||||||
svc.Spec.ClusterIP = ""
|
svc.Spec.ClusterIP = ""
|
||||||
svc.Spec.ClusterIPs = nil
|
svc.Spec.ClusterIPs = nil
|
||||||
svc.Spec.AllocateLoadBalancerNodePorts = nil
|
svc.Spec.AllocateLoadBalancerNodePorts = nil
|
||||||
|
svc.Spec.InternalTrafficPolicy = nil
|
||||||
}
|
}
|
||||||
|
|
||||||
// SetPorts sets the service ports list.
|
// SetPorts sets the service ports list.
|
||||||
|
@ -597,12 +597,9 @@ func TestServiceDefaultOnRead(t *testing.T) {
|
|||||||
svctest.SetIPFamilyPolicy(api.IPFamilyPolicySingleStack),
|
svctest.SetIPFamilyPolicy(api.IPFamilyPolicySingleStack),
|
||||||
svctest.SetIPFamilies(api.IPv4Protocol)),
|
svctest.SetIPFamilies(api.IPv4Protocol)),
|
||||||
}, {
|
}, {
|
||||||
name: "external name",
|
name: "external name",
|
||||||
input: makeServiceList(svctest.SetTypeExternalName),
|
input: makeServiceList(svctest.SetTypeExternalName, svctest.SetInternalTrafficPolicy(api.ServiceInternalTrafficPolicyCluster)),
|
||||||
expect: makeServiceList(svctest.SetTypeExternalName, func(svc *api.Service) {
|
expect: makeServiceList(svctest.SetTypeExternalName),
|
||||||
// we now drop internalTrafficPolicy on read when Type=ExternalName
|
|
||||||
svc.Spec.InternalTrafficPolicy = nil
|
|
||||||
}),
|
|
||||||
}, {
|
}, {
|
||||||
name: "dual v4v6",
|
name: "dual v4v6",
|
||||||
input: svctest.MakeService("foo", svctest.SetClusterIPs("10.0.0.1", "2000::1")),
|
input: svctest.MakeService("foo", svctest.SetClusterIPs("10.0.0.1", "2000::1")),
|
||||||
@ -11391,31 +11388,16 @@ func TestFeatureInternalTrafficPolicy(t *testing.T) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
testCases := []cudTestCase{{
|
testCases := []cudTestCase{{
|
||||||
name: "ExternalName_policy:none-ExternalName_policy:Local",
|
name: "ExternalName_policy:none-ExternalName_policy:none",
|
||||||
create: svcTestCase{
|
create: svcTestCase{
|
||||||
svc: svctest.MakeService("foo",
|
svc: svctest.MakeService("foo",
|
||||||
svctest.SetTypeExternalName),
|
svctest.SetTypeExternalName),
|
||||||
prove: prove(proveITP(api.ServiceInternalTrafficPolicyCluster)),
|
prove: prove(proveITP("")),
|
||||||
},
|
},
|
||||||
update: svcTestCase{
|
update: svcTestCase{
|
||||||
svc: svctest.MakeService("foo",
|
svc: svctest.MakeService("foo",
|
||||||
svctest.SetTypeExternalName,
|
svctest.SetTypeExternalName),
|
||||||
svctest.SetInternalTrafficPolicy(api.ServiceInternalTrafficPolicyLocal)),
|
prove: prove(proveITP("")),
|
||||||
prove: prove(proveITP(api.ServiceInternalTrafficPolicyLocal)),
|
|
||||||
},
|
|
||||||
}, {
|
|
||||||
name: "ExternalName_policy:Cluster-ExternalName_policy:Local",
|
|
||||||
create: svcTestCase{
|
|
||||||
svc: svctest.MakeService("foo",
|
|
||||||
svctest.SetTypeExternalName,
|
|
||||||
svctest.SetInternalTrafficPolicy(api.ServiceInternalTrafficPolicyCluster)),
|
|
||||||
prove: prove(proveITP(api.ServiceInternalTrafficPolicyCluster)),
|
|
||||||
},
|
|
||||||
update: svcTestCase{
|
|
||||||
svc: svctest.MakeService("foo",
|
|
||||||
svctest.SetTypeExternalName,
|
|
||||||
svctest.SetInternalTrafficPolicy(api.ServiceInternalTrafficPolicyLocal)),
|
|
||||||
prove: prove(proveITP(api.ServiceInternalTrafficPolicyLocal)),
|
|
||||||
},
|
},
|
||||||
}, {
|
}, {
|
||||||
name: "ClusterIP_policy:none-ClusterIP_policy:Local",
|
name: "ClusterIP_policy:none-ClusterIP_policy:Local",
|
||||||
|
Loading…
Reference in New Issue
Block a user