From 5420dcec55362d7cab248471be60bcae6420fbe5 Mon Sep 17 00:00:00 2001 From: Dan Winship Date: Thu, 29 May 2025 09:50:15 -0400 Subject: [PATCH] Promote two more EndpointSlice tests to conformance Specifically, these ensure that the service proxy works with a service that has only EndpointSlices (no Endpoints). --- test/conformance/testdata/conformance.yaml | 16 ++++++++++++++++ test/e2e/network/endpointslice.go | 18 ++++++++++++++++-- 2 files changed, 32 insertions(+), 2 deletions(-) diff --git a/test/conformance/testdata/conformance.yaml b/test/conformance/testdata/conformance.yaml index 9550d7d9825..c997c101b38 100755 --- a/test/conformance/testdata/conformance.yaml +++ b/test/conformance/testdata/conformance.yaml @@ -1727,6 +1727,22 @@ MUST have Endpoints and EndpointSlices pointing to each API server instance. release: v1.21 file: test/e2e/network/endpointslice.go +- testname: EndpointSlice, multiple IPs, multiple ports + codename: '[sig-network] EndpointSlice should support a Service with multiple endpoint + IPs specified in multiple EndpointSlices [Conformance]' + description: Given a selector-less Service with multiple manually-created EndpointSlices + (and no Endpoints) where the endpoints have different IPs and different Ports, + the service proxy MUST allow connections to both ports. + release: v1.34 + file: test/e2e/network/endpointslice.go +- testname: EndpointSlice, single IP, multiple ports + codename: '[sig-network] EndpointSlice should support a Service with multiple ports + specified in multiple EndpointSlices [Conformance]' + description: Given a selector-less Service with multiple manually-created EndpointSlices + (and no Endpoints) where the endpoints have the same IP but different Ports, the + service proxy MUST allow connections to both ports. + release: v1.34 + file: test/e2e/network/endpointslice.go - testname: EndpointSlice API codename: '[sig-network] EndpointSlice should support creating EndpointSlice API operations [Conformance]' diff --git a/test/e2e/network/endpointslice.go b/test/e2e/network/endpointslice.go index 479c3568874..7dabe38aecd 100644 --- a/test/e2e/network/endpointslice.go +++ b/test/e2e/network/endpointslice.go @@ -528,7 +528,14 @@ var _ = common.SIGDescribe("EndpointSlice", func() { gomega.Expect(epsList.Items).To(gomega.BeEmpty(), "filtered list should have 0 items") }) - ginkgo.It("should support a Service with multiple ports specified in multiple EndpointSlices", func(ctx context.Context) { + /* + Release: v1.34 + Testname: EndpointSlice, single IP, multiple ports + Description: Given a selector-less Service with multiple manually-created + EndpointSlices (and no Endpoints) where the endpoints have the same IP + but different Ports, the service proxy MUST allow connections to both ports. + */ + framework.ConformanceIt("should support a Service with multiple ports specified in multiple EndpointSlices", func(ctx context.Context) { ns := f.Namespace.Name svc := createServiceReportErr(ctx, cs, f.Namespace.Name, &v1.Service{ ObjectMeta: metav1.ObjectMeta{ @@ -631,7 +638,14 @@ var _ = common.SIGDescribe("EndpointSlice", func() { }) - ginkgo.It("should support a Service with multiple endpoint IPs specified in multiple EndpointSlices", func(ctx context.Context) { + /* + Release: v1.34 + Testname: EndpointSlice, multiple IPs, multiple ports + Description: Given a selector-less Service with multiple manually-created + EndpointSlices (and no Endpoints) where the endpoints have different IPs + and different Ports, the service proxy MUST allow connections to both ports. + */ + framework.ConformanceIt("should support a Service with multiple endpoint IPs specified in multiple EndpointSlices", func(ctx context.Context) { ns := f.Namespace.Name svc := createServiceReportErr(ctx, cs, f.Namespace.Name, &v1.Service{ ObjectMeta: metav1.ObjectMeta{