From f68f478e66fe1c264c01bc21142cdc45c0e510b5 Mon Sep 17 00:00:00 2001 From: Andrew Sy Kim Date: Tue, 4 Jan 2022 14:17:10 -0500 Subject: [PATCH] core/v1: update unit tests to not expect internalTrafficPolicy when Service Type=ExternalName Signed-off-by: Andrew Sy Kim --- pkg/api/service/testing/make.go | 10 ++++-- .../core/service/storage/storage_test.go | 32 ++++--------------- 2 files changed, 14 insertions(+), 28 deletions(-) diff --git a/pkg/api/service/testing/make.go b/pkg/api/service/testing/make.go index 4767448a67a..de4145c17da 100644 --- a/pkg/api/service/testing/make.go +++ b/pkg/api/service/testing/make.go @@ -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. diff --git a/pkg/registry/core/service/storage/storage_test.go b/pkg/registry/core/service/storage/storage_test.go index 1a0fc0a694f..b522d07a825 100644 --- a/pkg/registry/core/service/storage/storage_test.go +++ b/pkg/registry/core/service/storage/storage_test.go @@ -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",