From 272ccb195d31cd1622d48f961f3a189ce3abb937 Mon Sep 17 00:00:00 2001 From: Chris O'Haver Date: Fri, 30 Oct 2020 08:14:30 -0400 Subject: plugin/kubernetes: Watch EndpointSlices (#4209) * initial commit Signed-off-by: Chris O'Haver * convert endpointslices to object.endpoints Signed-off-by: Chris O'Haver * add opt hard coded for now Signed-off-by: Chris O'Haver * check that server supports endpointslice Signed-off-by: Chris O'Haver * fix import grouping Signed-off-by: Chris O'Haver * dont use endpoint slice in 1.17 or 1.18 Signed-off-by: Chris O'Haver * bump kind/k8s in circle ci to latest Signed-off-by: Chris O'Haver * drop k8s to latest supported by kind Signed-off-by: Chris O'Haver * use endpointslice name as endoint Name; index by Service name Signed-off-by: Chris O'Haver * use index key comparison in nsAddrs() Signed-off-by: Chris O'Haver * add Index to object.Endpoint fixtures; fix direct endpoint name compares Signed-off-by: Chris O'Haver * add slice dup check and test Signed-off-by: Chris O'Haver * todo Signed-off-by: Chris O'Haver * add ep-slice skew dup test for reverse Signed-off-by: Chris O'Haver * nsaddrs: de-dup ep-slice skew dups; add test Signed-off-by: Chris O'Haver * remove todo Signed-off-by: Chris O'Haver * address various feedback Signed-off-by: Chris O'Haver * consolidate endpoint/slice informer code Signed-off-by: Chris O'Haver * fix endpoint informer consolidation; use clearer func name Signed-off-by: Chris O'Haver * log info; use major/minor fields Signed-off-by: Chris O'Haver * fix nsAddr and unit test Signed-off-by: Chris O'Haver * add latency tracking for endpointslices Signed-off-by: Chris O'Haver * endpointslice latency unit test & fix Signed-off-by: Chris O'Haver * code shuffling Signed-off-by: Chris O'Haver * rename endpointslices in tests Signed-off-by: Chris O'Haver * remove de-dup from nsAddrs and test Signed-off-by: Chris O'Haver * remove de-dup from findServices / test Signed-off-by: Chris O'Haver --- plugin/kubernetes/kubernetes_test.go | 34 ++++++++++++++-------------------- 1 file changed, 14 insertions(+), 20 deletions(-) (limited to 'plugin/kubernetes/kubernetes_test.go') diff --git a/plugin/kubernetes/kubernetes_test.go b/plugin/kubernetes/kubernetes_test.go index eddb7645d..7458a3bdc 100644 --- a/plugin/kubernetes/kubernetes_test.go +++ b/plugin/kubernetes/kubernetes_test.go @@ -137,8 +137,9 @@ func (APIConnServiceTest) EpIndex(string) []*object.Endpoints { }, }, }, - Name: "svc1", + Name: "svc1-slice1", Namespace: "testns", + Index: object.EndpointsKey("svc1", "testns"), }, { Subsets: []object.EndpointSubset{ @@ -151,22 +152,9 @@ func (APIConnServiceTest) EpIndex(string) []*object.Endpoints { }, }, }, - Name: "hdls1", - Namespace: "testns", - }, - { - Subsets: []object.EndpointSubset{ - { - Addresses: []object.EndpointAddress{ - {IP: "172.0.0.3"}, - }, - Ports: []object.EndpointPort{ - {Port: 80, Protocol: "tcp", Name: "http"}, - }, - }, - }, - Name: "hdls1", + Name: "hdls1-slice1", Namespace: "testns", + Index: object.EndpointsKey("hdls1", "testns"), }, { Subsets: []object.EndpointSubset{ @@ -194,8 +182,9 @@ func (APIConnServiceTest) EndpointsList() []*object.Endpoints { }, }, }, - Name: "svc1", + Name: "svc1-slice1", Namespace: "testns", + Index: object.EndpointsKey("svc1", "testns"), }, { Subsets: []object.EndpointSubset{ @@ -208,22 +197,24 @@ func (APIConnServiceTest) EndpointsList() []*object.Endpoints { }, }, }, - Name: "hdls1", + Name: "hdls1-slice1", Namespace: "testns", + Index: object.EndpointsKey("hdls1", "testns"), }, { Subsets: []object.EndpointSubset{ { Addresses: []object.EndpointAddress{ - {IP: "172.0.0.3"}, + {IP: "172.0.0.2"}, }, Ports: []object.EndpointPort{ {Port: 80, Protocol: "tcp", Name: "http"}, }, }, }, - Name: "hdls1", + Name: "hdls1-slice2", Namespace: "testns", + Index: object.EndpointsKey("hdls1", "testns"), }, { Subsets: []object.EndpointSubset{ @@ -275,6 +266,9 @@ func TestServices(t *testing.T) { // External Services {qname: "external.testns.svc.interwebs.test.", qtype: dns.TypeCNAME, answer: svcAns{host: "coredns.io", key: "/" + coredns + "/test/interwebs/svc/testns/external"}}, + + // Headless Services + {qname: "hdls1.testns.svc.interwebs.test.", qtype: dns.TypeA, answer: svcAns{host: "172.0.0.2", key: "/" + coredns + "/test/interwebs/svc/testns/hdls1/172-0-0-2"}}, } for i, test := range tests { -- cgit v1.2.3 Unnamed repository; edit this file 'description' to name the repository.
aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2022-03-17Add test coverage for emoji in blobsGravatar Jarred Sumner 1-84/+133
2022-03-17Prevent segfaultGravatar Jarred Sumner 1-0/+4
2022-03-17move some code aroundGravatar Jarred Sumner 3-189/+9
2022-03-17Update build-idGravatar Jarred Sumner 1-1/+1
2022-03-17optimize blob.text()Gravatar Jarred Sumner 1-83/+185
2022-03-17query_string_map -> urlGravatar Jarred Sumner 30-28/+405
2022-03-16Fix crash from checking if something is an object when it is undefinedbun-v0.0.72Gravatar Jarred Sumner 4-12/+12
2022-03-16Fix setTimeout on LinuxGravatar Jarred SUmner 1-5/+12
2022-03-16Increase from 4ms -> 40ms for timeoutGravatar Jarred SUmner 1-1/+1
2022-03-16Update README.mdGravatar Jarred Sumner 1-0/+1
2022-03-16llvm-stirp not workingGravatar Jarred Sumner 1-1/+0
2022-03-16Update MakefileGravatar Jarred Sumner 1-1/+1
2022-03-16Update Dockerfile.baseGravatar Jarred Sumner 1-0/+1
2022-03-16Update MakefileGravatar Jarred Sumner 1-2/+23
2022-03-16cleanup error printingGravatar Jarred Sumner 7-105/+193
2022-03-16Revert "Unlimited arguments in process.nextTick"Gravatar Jarred Sumner 1-38/+48
This reverts commit aff9d232b1e7dfbac5fa1b18631aba18ed5f27e7.
2022-03-16bun.lockbGravatar Jarred Sumner 3-0/+0
2022-03-16Update feature_flags.zigGravatar Jarred Sumner 1-0/+1
2022-03-16[bun.js] Bun.unsafe test should check the gcGravatar Jarred Sumner 1-4/+14
2022-03-16Update work_pool.zigGravatar Jarred Sumner 1-21/+28
2022-03-16Add a way to run serial tasks on a different threadGravatar Jarred Sumner 1-3/+65
2022-03-16fix crash when SyntaxError is thrown and we did not receive an ErrorInstance?Gravatar Jarred Sumner 1-18/+25
2022-03-16[bun.js] Fix release-mode test failures in HeadersGravatar Jarred Sumner 1-47/+42
2022-03-16Update ref_count.zigGravatar Jarred Sumner 1-2/+0
2022-03-15file is too bigjarred/replGravatar Jarred Sumner 1-113827/+0
2022-03-15Update Dockerfile.baseGravatar Jarred Sumner 1-1/+1
2022-03-15Add rust and lolhtml to dockerfileGravatar Jarred Sumner 2-0/+20
2022-03-15bump webkitGravatar Jarred Sumner 1-1/+1
2022-03-15Update WebKitGravatar Jarred Sumner 1-0/+0
2022-03-15:camera:Gravatar Jarred Sumner 60-799/+859
2022-03-15Fix test failureGravatar Jarred Sumner 1-15/+17
2022-03-15[bun:error] handle errors without a name or messageGravatar Jarred Sumner 1-6/+11
2022-03-15Update pool.zigGravatar Jarred Sumner 1-0/+1
2022-03-15Load .env by defaultGravatar Jarred Sumner 2-0/+8
2022-03-15mimalloc interpose is buggyGravatar Jarred Sumner 1-2/+25
2022-03-15higher max http requests for bun.jsGravatar Jarred Sumner 1-0/+29
2022-03-15zero copyGravatar Jarred Sumner 1-21/+15
2022-03-15Update javascript.zigGravatar Jarred Sumner 1-2/+0
2022-03-15[bun.js] utf8 console.{time, count, timeEnd, profile, profileEnd, count, ↵Gravatar Jarred Sumner 1-16/+16
countReset}