From b8c031486154b1095dfb1655630cf1601556c07c Mon Sep 17 00:00:00 2001 From: Matt Potter Date: Fri, 5 May 2017 12:18:43 +0100 Subject: [PATCH] deduplicate endpoints before DNS registration --- federation/pkg/federation-controller/service/dns.go | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/federation/pkg/federation-controller/service/dns.go b/federation/pkg/federation-controller/service/dns.go index 8c733e51223..2f5627781fa 100644 --- a/federation/pkg/federation-controller/service/dns.go +++ b/federation/pkg/federation-controller/service/dns.go @@ -342,12 +342,18 @@ func getResolvedEndpoints(endpoints []string) ([]string, error) { return resolvedEndpoints, err } resolvedEndpoints = append(resolvedEndpoints, ipAddrs...) - } else { resolvedEndpoints = append(resolvedEndpoints, endpoint) } } - return resolvedEndpoints, nil + deduped := []string{} + + for _, value := range resolvedEndpoints { + if !dedupeEndpoints(value, deduped) { + deduped = append(deduped, value) + } + } + return deduped, nil } /* ensureDNSRrsets ensures (idempotently, and with minimum mutations) that all of the DNS resource record sets for dnsName are consistent with endpoints.