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:
Andrew Sy Kim 2022-01-04 14:17:10 -05:00
parent 438b90fbc4
commit f68f478e66
2 changed files with 14 additions and 28 deletions

View File

@ -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.

View File

@ -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",