diff options
author | 2017-08-03 23:14:11 -0700 | |
---|---|---|
committer | 2017-08-03 23:14:11 -0700 | |
commit | 2c0fc3182caa2d76a2c83a2a3b85ec5c5fa8f915 (patch) | |
tree | 2bfcbe14239c1dbd6f6c7a1161630c3dd05e05d7 /middleware/kubernetes/kubernetes.go | |
parent | 8ad8c75ab41023f894b0d2886bd93c2ba20993ef (diff) | |
download | coredns-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/kubernetes.go')
-rw-r--r-- | middleware/kubernetes/kubernetes.go | 15 |
1 files changed, 6 insertions, 9 deletions
diff --git a/middleware/kubernetes/kubernetes.go b/middleware/kubernetes/kubernetes.go index 58d3656ae..8a87322e8 100644 --- a/middleware/kubernetes/kubernetes.go +++ b/middleware/kubernetes/kubernetes.go @@ -46,7 +46,7 @@ type Kubernetes struct { ReverseCidrs []net.IPNet Fallthrough bool AutoPath - interfaceAddrs interfaceAddrser + interfaceAddrsFunc func() net.IP } type AutoPath struct { @@ -98,8 +98,6 @@ type recordRequest struct { federation string } -var localPodIP net.IP - var ( errNoItems = errors.New("no items found") errNsNotExposed = errors.New("namespace is not exposed") @@ -651,11 +649,11 @@ func symbolContainsWildcard(symbol string) bool { return (symbol == "*" || symbol == "any") } -func (k *Kubernetes) localPodIP() net.IP { - if localPodIP != nil { - return localPodIP +func localPodIP() net.IP { + addrs, err := net.InterfaceAddrs() + if err != nil { + return nil } - addrs, _ := k.interfaceAddrs.interfaceAddrs() for _, addr := range addrs { ip, _, _ := net.ParseCIDR(addr.String()) @@ -663,8 +661,7 @@ func (k *Kubernetes) localPodIP() net.IP { if ip == nil || ip.IsLoopback() { continue } - localPodIP = ip - return localPodIP + return ip } return nil } |