aboutsummaryrefslogtreecommitdiff
path: root/middleware/kubernetes/federation.go
diff options
context:
space:
mode:
authorGravatar Miek Gieben <miek@miek.nl> 2017-08-03 23:14:11 -0700
committerGravatar GitHub <noreply@github.com> 2017-08-03 23:14:11 -0700
commit2c0fc3182caa2d76a2c83a2a3b85ec5c5fa8f915 (patch)
tree2bfcbe14239c1dbd6f6c7a1161630c3dd05e05d7 /middleware/kubernetes/federation.go
parent8ad8c75ab41023f894b0d2886bd93c2ba20993ef (diff)
downloadcoredns-2c0fc3182caa2d76a2c83a2a3b85ec5c5fa8f915.tar.gz
coredns-2c0fc3182caa2d76a2c83a2a3b85ec5c5fa8f915.tar.zst
coredns-2c0fc3182caa2d76a2c83a2a3b85ec5c5fa8f915.zip
middleware/kubernetes: cleanup (#818)
Drop the interfaceAddr interfaces and just use a function. Cleanup all fallout from that. Remove the use of global variables and cleanup the tests a bit.
Diffstat (limited to 'middleware/kubernetes/federation.go')
-rw-r--r--middleware/kubernetes/federation.go13
1 files changed, 3 insertions, 10 deletions
diff --git a/middleware/kubernetes/federation.go b/middleware/kubernetes/federation.go
index 4c058b839..6f7e5f122 100644
--- a/middleware/kubernetes/federation.go
+++ b/middleware/kubernetes/federation.go
@@ -13,10 +13,6 @@ type Federation struct {
zone string
}
-var localNodeName string
-var federationZone string
-var federationRegion string
-
const (
// TODO: Do not hardcode these labels. Pull them out of the API instead.
//
@@ -80,21 +76,18 @@ func (k *Kubernetes) federationCNAMERecord(r recordRequest) msg.Service {
}
func (k *Kubernetes) localNodeName() string {
- if localNodeName != "" {
- return localNodeName
- }
- localIP := k.localPodIP()
+ localIP := k.interfaceAddrsFunc()
if localIP == nil {
return ""
}
+
// Find endpoint matching localIP
endpointsList := k.APIConn.EndpointsList()
for _, ep := range endpointsList.Items {
for _, eps := range ep.Subsets {
for _, addr := range eps.Addresses {
if localIP.Equal(net.ParseIP(addr.IP)) {
- localNodeName = *addr.NodeName
- return localNodeName
+ return *addr.NodeName
}
}
}