mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-29 14:37:00 +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)
|
||||
// Default to 1 port
|
||||
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 {
|
||||
tweak(svc)
|
||||
@ -68,6 +65,8 @@ func SetTypeClusterIP(svc *api.Service) {
|
||||
svc.Spec.ExternalName = ""
|
||||
svc.Spec.ExternalTrafficPolicy = ""
|
||||
svc.Spec.AllocateLoadBalancerNodePorts = nil
|
||||
internalTrafficPolicy := api.ServiceInternalTrafficPolicyCluster
|
||||
svc.Spec.InternalTrafficPolicy = &internalTrafficPolicy
|
||||
}
|
||||
|
||||
// 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.ExternalName = ""
|
||||
svc.Spec.AllocateLoadBalancerNodePorts = nil
|
||||
internalTrafficPolicy := api.ServiceInternalTrafficPolicyCluster
|
||||
svc.Spec.InternalTrafficPolicy = &internalTrafficPolicy
|
||||
}
|
||||
|
||||
// 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.AllocateLoadBalancerNodePorts = utilpointer.BoolPtr(true)
|
||||
svc.Spec.ExternalName = ""
|
||||
internalTrafficPolicy := api.ServiceInternalTrafficPolicyCluster
|
||||
svc.Spec.InternalTrafficPolicy = &internalTrafficPolicy
|
||||
}
|
||||
|
||||
// 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.ClusterIPs = nil
|
||||
svc.Spec.AllocateLoadBalancerNodePorts = nil
|
||||
svc.Spec.InternalTrafficPolicy = nil
|
||||
}
|
||||
|
||||
// SetPorts sets the service ports list.
|
||||
|
@ -597,12 +597,9 @@ func TestServiceDefaultOnRead(t *testing.T) {
|
||||
svctest.SetIPFamilyPolicy(api.IPFamilyPolicySingleStack),
|
||||
svctest.SetIPFamilies(api.IPv4Protocol)),
|
||||
}, {
|
||||
name: "external name",
|
||||
input: makeServiceList(svctest.SetTypeExternalName),
|
||||
expect: makeServiceList(svctest.SetTypeExternalName, func(svc *api.Service) {
|
||||
// we now drop internalTrafficPolicy on read when Type=ExternalName
|
||||
svc.Spec.InternalTrafficPolicy = nil
|
||||
}),
|
||||
name: "external name",
|
||||
input: makeServiceList(svctest.SetTypeExternalName, svctest.SetInternalTrafficPolicy(api.ServiceInternalTrafficPolicyCluster)),
|
||||
expect: makeServiceList(svctest.SetTypeExternalName),
|
||||
}, {
|
||||
name: "dual v4v6",
|
||||
input: svctest.MakeService("foo", svctest.SetClusterIPs("10.0.0.1", "2000::1")),
|
||||
@ -11391,31 +11388,16 @@ func TestFeatureInternalTrafficPolicy(t *testing.T) {
|
||||
}
|
||||
|
||||
testCases := []cudTestCase{{
|
||||
name: "ExternalName_policy:none-ExternalName_policy:Local",
|
||||
name: "ExternalName_policy:none-ExternalName_policy:none",
|
||||
create: svcTestCase{
|
||||
svc: svctest.MakeService("foo",
|
||||
svctest.SetTypeExternalName),
|
||||
prove: prove(proveITP(api.ServiceInternalTrafficPolicyCluster)),
|
||||
prove: prove(proveITP("")),
|
||||
},
|
||||
update: svcTestCase{
|
||||
svc: svctest.MakeService("foo",
|
||||
svctest.SetTypeExternalName,
|
||||
svctest.SetInternalTrafficPolicy(api.ServiceInternalTrafficPolicyLocal)),
|
||||
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)),
|
||||
svctest.SetTypeExternalName),
|
||||
prove: prove(proveITP("")),
|
||||
},
|
||||
}, {
|
||||
name: "ClusterIP_policy:none-ClusterIP_policy:Local",
|
||||
|
Loading…
Reference in New Issue
Block a user