aboutsummaryrefslogtreecommitdiff
path: root/middleware/kubernetes/kubernetes.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/kubernetes.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/kubernetes.go')
-rw-r--r--middleware/kubernetes/kubernetes.go15
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
}