From 886c4b0cf262d3ecb3d72a04d9fde23cde20be26 Mon Sep 17 00:00:00 2001 From: Dan Winship Date: Sat, 31 Dec 2022 10:15:03 -0500 Subject: [PATCH] Drop Endpoints-tracking-specific TestEndpointsToEndpointsMap TestEndpointsToEndpointsMap tested code that only ran when using Endpoints tracking rather than EndpointSlice tracking--which is to say, never, any more. (TestEndpointsMapFromESC in endpointslicecache_test.go is an equivalent EndpointSlice test.) --- pkg/proxy/endpoints_test.go | 298 ------------------------------------ 1 file changed, 298 deletions(-) diff --git a/pkg/proxy/endpoints_test.go b/pkg/proxy/endpoints_test.go index 660a3a2efe7..1a6db465dc6 100644 --- a/pkg/proxy/endpoints_test.go +++ b/pkg/proxy/endpoints_test.go @@ -21,8 +21,6 @@ import ( "testing" "time" - "github.com/davecgh/go-spew/spew" - v1 "k8s.io/api/core/v1" discovery "k8s.io/api/discovery/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" @@ -180,302 +178,6 @@ func makeTestEndpoints(namespace, name string, eptFunc func(*v1.Endpoints)) *v1. return ept } -// This is a coarse test, but it offers some modicum of confidence as the code is evolved. -func TestEndpointsToEndpointsMap(t *testing.T) { - testCases := []struct { - desc string - newEndpoints *v1.Endpoints - expected map[ServicePortName][]*BaseEndpointInfo - isIPv6Mode *bool - ipFamily v1.IPFamily - }{ - { - desc: "nothing", - ipFamily: v1.IPv4Protocol, - - newEndpoints: makeTestEndpoints("ns1", "ep1", func(ept *v1.Endpoints) {}), - expected: map[ServicePortName][]*BaseEndpointInfo{}, - }, - { - desc: "no changes, unnamed port", - ipFamily: v1.IPv4Protocol, - - newEndpoints: makeTestEndpoints("ns1", "ep1", func(ept *v1.Endpoints) { - ept.Subsets = []v1.EndpointSubset{ - { - Addresses: []v1.EndpointAddress{{ - IP: "1.1.1.1", - }}, - Ports: []v1.EndpointPort{{ - Name: "", - Port: 11, - Protocol: v1.ProtocolTCP, - }}, - }, - } - }), - expected: map[ServicePortName][]*BaseEndpointInfo{ - makeServicePortName("ns1", "ep1", "", v1.ProtocolTCP): { - {Endpoint: "1.1.1.1:11", IsLocal: false, Ready: true, Serving: true, Terminating: false, ZoneHints: sets.String{}}, - }, - }, - }, - { - desc: "no changes, named port", - ipFamily: v1.IPv4Protocol, - - newEndpoints: makeTestEndpoints("ns1", "ep1", func(ept *v1.Endpoints) { - ept.Subsets = []v1.EndpointSubset{ - { - Addresses: []v1.EndpointAddress{{ - IP: "1.1.1.1", - }}, - Ports: []v1.EndpointPort{{ - Name: "port", - Port: 11, - Protocol: v1.ProtocolTCP, - }}, - }, - } - }), - expected: map[ServicePortName][]*BaseEndpointInfo{ - makeServicePortName("ns1", "ep1", "port", v1.ProtocolTCP): { - {Endpoint: "1.1.1.1:11", IsLocal: false, Ready: true, Serving: true, Terminating: false, ZoneHints: sets.String{}}, - }, - }, - }, - { - desc: "new port", - ipFamily: v1.IPv4Protocol, - - newEndpoints: makeTestEndpoints("ns1", "ep1", func(ept *v1.Endpoints) { - ept.Subsets = []v1.EndpointSubset{ - { - Addresses: []v1.EndpointAddress{{ - IP: "1.1.1.1", - }}, - Ports: []v1.EndpointPort{{ - Port: 11, - Protocol: v1.ProtocolTCP, - }}, - }, - } - }), - expected: map[ServicePortName][]*BaseEndpointInfo{ - makeServicePortName("ns1", "ep1", "", v1.ProtocolTCP): { - {Endpoint: "1.1.1.1:11", IsLocal: false, Ready: true, Serving: true, Terminating: false, ZoneHints: sets.String{}}, - }, - }, - }, - { - desc: "remove port", - ipFamily: v1.IPv4Protocol, - - newEndpoints: makeTestEndpoints("ns1", "ep1", func(ept *v1.Endpoints) {}), - expected: map[ServicePortName][]*BaseEndpointInfo{}, - }, - { - desc: "new IP and port", - ipFamily: v1.IPv4Protocol, - - newEndpoints: makeTestEndpoints("ns1", "ep1", func(ept *v1.Endpoints) { - ept.Subsets = []v1.EndpointSubset{ - { - Addresses: []v1.EndpointAddress{{ - IP: "1.1.1.1", - }, { - IP: "2.2.2.2", - }}, - Ports: []v1.EndpointPort{{ - Name: "p1", - Port: 11, - Protocol: v1.ProtocolTCP, - }, { - Name: "p2", - Port: 22, - Protocol: v1.ProtocolTCP, - }}, - }, - } - }), - expected: map[ServicePortName][]*BaseEndpointInfo{ - makeServicePortName("ns1", "ep1", "p1", v1.ProtocolTCP): { - {Endpoint: "1.1.1.1:11", IsLocal: false, Ready: true, Serving: true, Terminating: false, ZoneHints: sets.String{}}, - {Endpoint: "2.2.2.2:11", IsLocal: false, Ready: true, Serving: true, Terminating: false, ZoneHints: sets.String{}}, - }, - makeServicePortName("ns1", "ep1", "p2", v1.ProtocolTCP): { - {Endpoint: "1.1.1.1:22", IsLocal: false, Ready: true, Serving: true, Terminating: false, ZoneHints: sets.String{}}, - {Endpoint: "2.2.2.2:22", IsLocal: false, Ready: true, Serving: true, Terminating: false, ZoneHints: sets.String{}}, - }, - }, - }, - { - desc: "remove IP and port", - ipFamily: v1.IPv4Protocol, - - newEndpoints: makeTestEndpoints("ns1", "ep1", func(ept *v1.Endpoints) { - ept.Subsets = []v1.EndpointSubset{ - { - Addresses: []v1.EndpointAddress{{ - IP: "1.1.1.1", - }}, - Ports: []v1.EndpointPort{{ - Name: "p1", - Port: 11, - Protocol: v1.ProtocolTCP, - }}, - }, - } - }), - expected: map[ServicePortName][]*BaseEndpointInfo{ - makeServicePortName("ns1", "ep1", "p1", v1.ProtocolTCP): { - {Endpoint: "1.1.1.1:11", IsLocal: false, Ready: true, Serving: true, Terminating: false, ZoneHints: sets.String{}}, - }, - }, - }, - { - desc: "rename port", - ipFamily: v1.IPv4Protocol, - - newEndpoints: makeTestEndpoints("ns1", "ep1", func(ept *v1.Endpoints) { - ept.Subsets = []v1.EndpointSubset{ - { - Addresses: []v1.EndpointAddress{{ - IP: "1.1.1.1", - }}, - Ports: []v1.EndpointPort{{ - Name: "p2", - Port: 11, - Protocol: v1.ProtocolTCP, - }}, - }, - } - }), - expected: map[ServicePortName][]*BaseEndpointInfo{ - makeServicePortName("ns1", "ep1", "p2", v1.ProtocolTCP): { - {Endpoint: "1.1.1.1:11", IsLocal: false, Ready: true, Serving: true, Terminating: false, ZoneHints: sets.String{}}, - }, - }, - }, - { - desc: "renumber port", - ipFamily: v1.IPv4Protocol, - - newEndpoints: makeTestEndpoints("ns1", "ep1", func(ept *v1.Endpoints) { - ept.Subsets = []v1.EndpointSubset{ - { - Addresses: []v1.EndpointAddress{{ - IP: "1.1.1.1", - }}, - Ports: []v1.EndpointPort{{ - Name: "p1", - Port: 22, - Protocol: v1.ProtocolTCP, - }}, - }, - } - }), - expected: map[ServicePortName][]*BaseEndpointInfo{ - makeServicePortName("ns1", "ep1", "p1", v1.ProtocolTCP): { - {Endpoint: "1.1.1.1:22", IsLocal: false, Ready: true, Serving: true, Terminating: false, ZoneHints: sets.String{}}, - }, - }, - }, - { - desc: "should omit IPv6 address in IPv4 mode", - ipFamily: v1.IPv4Protocol, - - newEndpoints: makeTestEndpoints("ns1", "ep1", func(ept *v1.Endpoints) { - ept.Subsets = []v1.EndpointSubset{ - { - Addresses: []v1.EndpointAddress{{ - IP: "1.1.1.1", - }, { - IP: "2001:db8:85a3:0:0:8a2e:370:7334", - }}, - Ports: []v1.EndpointPort{{ - Name: "p1", - Port: 11, - Protocol: v1.ProtocolTCP, - }, { - Name: "p2", - Port: 22, - Protocol: v1.ProtocolTCP, - }}, - }, - } - }), - expected: map[ServicePortName][]*BaseEndpointInfo{ - makeServicePortName("ns1", "ep1", "p1", v1.ProtocolTCP): { - {Endpoint: "1.1.1.1:11", IsLocal: false, Ready: true, Serving: true, Terminating: false, ZoneHints: sets.String{}}, - }, - makeServicePortName("ns1", "ep1", "p2", v1.ProtocolTCP): { - {Endpoint: "1.1.1.1:22", IsLocal: false, Ready: true, Serving: true, Terminating: false, ZoneHints: sets.String{}}, - }, - }, - }, - { - desc: "should omit IPv4 address in IPv6 mode", - ipFamily: v1.IPv6Protocol, - - newEndpoints: makeTestEndpoints("ns1", "ep1", func(ept *v1.Endpoints) { - ept.Subsets = []v1.EndpointSubset{ - { - Addresses: []v1.EndpointAddress{{ - IP: "1.1.1.1", - }, { - IP: "2001:db8:85a3:0:0:8a2e:370:7334", - }}, - Ports: []v1.EndpointPort{{ - Name: "p1", - Port: 11, - Protocol: v1.ProtocolTCP, - }, { - Name: "p2", - Port: 22, - Protocol: v1.ProtocolTCP, - }}, - }, - } - }), - expected: map[ServicePortName][]*BaseEndpointInfo{ - makeServicePortName("ns1", "ep1", "p1", v1.ProtocolTCP): { - {Endpoint: "[2001:db8:85a3:0:0:8a2e:370:7334]:11", IsLocal: false, Ready: true, Serving: true, Terminating: false, ZoneHints: sets.String{}}, - }, - makeServicePortName("ns1", "ep1", "p2", v1.ProtocolTCP): { - {Endpoint: "[2001:db8:85a3:0:0:8a2e:370:7334]:22", IsLocal: false, Ready: true, Serving: true, Terminating: false, ZoneHints: sets.String{}}, - }, - }, - }, - } - - for _, tc := range testCases { - t.Run(tc.desc, func(t *testing.T) { - - epTracker := NewEndpointChangeTracker("test-hostname", nil, tc.ipFamily, nil, nil) - - // outputs - newEndpoints := epTracker.endpointsToEndpointsMap(tc.newEndpoints) - - if len(newEndpoints) != len(tc.expected) { - t.Fatalf("[%s] expected %d new, got %d: %v", tc.desc, len(tc.expected), len(newEndpoints), spew.Sdump(newEndpoints)) - } - for x := range tc.expected { - if len(newEndpoints[x]) != len(tc.expected[x]) { - t.Fatalf("[%s] expected %d endpoints for %v, got %d", tc.desc, len(tc.expected[x]), x, len(newEndpoints[x])) - } else { - for i := range newEndpoints[x] { - ep := newEndpoints[x][i].(*BaseEndpointInfo) - if !(reflect.DeepEqual(*ep, *(tc.expected[x][i]))) { - t.Fatalf("[%s] expected new[%v][%d] to be %v, got %v", tc.desc, x, i, tc.expected[x][i], *ep) - } - } - } - } - }) - } -} - func TestUpdateEndpointsMap(t *testing.T) { var nodeName = testHostname