aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Miek Gieben <miek@miek.nl> 2017-08-03 09:03:53 -0700
committerGravatar GitHub <noreply@github.com> 2017-08-03 09:03:53 -0700
commitcd1f2f1bbf0a967bc41560f6da41e8cc383eaf7e (patch)
tree4393cf1544cb323e1aba853404834727a4417876
parent2410f5b3f4dbc223ed0da7ce05b00da9f1536622 (diff)
downloadcoredns-cd1f2f1bbf0a967bc41560f6da41e8cc383eaf7e.tar.gz
coredns-cd1f2f1bbf0a967bc41560f6da41e8cc383eaf7e.tar.zst
coredns-cd1f2f1bbf0a967bc41560f6da41e8cc383eaf7e.zip
mw/kubernete: small cleanup (#810)
* mw/kubernete: small cleanup Small cleanup, avoid pointer to []msg.Services and just returns the msg.Service. * Actually compile * testss
-rw-r--r--middleware/kubernetes/kubernetes.go44
-rw-r--r--middleware/kubernetes/kubernetes_test.go16
-rw-r--r--middleware/kubernetes/ns.go9
-rw-r--r--middleware/kubernetes/ns_test.go12
4 files changed, 36 insertions, 45 deletions
diff --git a/middleware/kubernetes/kubernetes.go b/middleware/kubernetes/kubernetes.go
index 6b55329d5..58d3656ae 100644
--- a/middleware/kubernetes/kubernetes.go
+++ b/middleware/kubernetes/kubernetes.go
@@ -100,13 +100,15 @@ type recordRequest struct {
var localPodIP net.IP
-var errNoItems = errors.New("no items found")
-var errNsNotExposed = errors.New("namespace is not exposed")
-var errInvalidRequest = errors.New("invalid query name")
-var errZoneNotFound = errors.New("zone not found")
-var errAPIBadPodType = errors.New("expected type *api.Pod")
-var errPodsDisabled = errors.New("pod records disabled")
-var errResolvConfReadErr = errors.New("resolv.conf read error")
+var (
+ errNoItems = errors.New("no items found")
+ errNsNotExposed = errors.New("namespace is not exposed")
+ errInvalidRequest = errors.New("invalid query name")
+ errZoneNotFound = errors.New("zone not found")
+ errAPIBadPodType = errors.New("expected type *api.Pod")
+ errPodsDisabled = errors.New("pod records disabled")
+ errResolvConfReadErr = errors.New("resolv.conf read error")
+)
// Services implements the ServiceBackend interface.
func (k *Kubernetes) Services(state request.Request, exact bool, opt middleware.Options) (svcs []msg.Service, debug []msg.Service, err error) {
@@ -139,26 +141,28 @@ func (k *Kubernetes) Services(state request.Request, exact bool, opt middleware.
}
return noext, nil, e
case "TXT":
- err := k.recordsForTXT(r, &svcs)
+ if r.typeName == "dns-version" {
+ srv := k.recordsForTXT(r)
+ svcs = append(svcs, srv)
+ }
return svcs, nil, err
case "NS":
- err = k.recordsForNS(r, &svcs)
+ srv := k.recordsForNS(r)
+ svcs = append(svcs, srv)
return svcs, nil, err
}
return nil, nil, nil
}
-func (k *Kubernetes) recordsForTXT(r recordRequest, svcs *[]msg.Service) (err error) {
- switch r.typeName {
- case "dns-version":
- s := msg.Service{
- Text: DNSSchemaVersion,
- TTL: 28800,
- Key: msg.Path(strings.Join([]string{r.typeName, r.zone}, "."), "coredns")}
- *svcs = append(*svcs, s)
- return nil
- }
- return nil
+func (k *Kubernetes) recordsForTXT(r recordRequest) msg.Service {
+ return msg.Service{Text: DNSSchemaVersion, TTL: 28800,
+ Key: msg.Path(strings.Join([]string{r.typeName, r.zone}, "."), "coredns")}
+}
+
+func (k *Kubernetes) recordsForNS(r recordRequest) msg.Service {
+ ns := k.coreDNSRecord()
+ return msg.Service{Host: ns.A.String(),
+ Key: msg.Path(strings.Join([]string{ns.Hdr.Name, r.zone}, "."), "coredns")}
}
// PrimaryZone will return the first non-reverse zone being handled by this middleware
diff --git a/middleware/kubernetes/kubernetes_test.go b/middleware/kubernetes/kubernetes_test.go
index 8449101a5..530e2234e 100644
--- a/middleware/kubernetes/kubernetes_test.go
+++ b/middleware/kubernetes/kubernetes_test.go
@@ -6,23 +6,21 @@ import (
"reflect"
"testing"
- "github.com/miekg/dns"
- "k8s.io/client-go/1.5/pkg/api"
-
"github.com/coredns/coredns/middleware"
- "github.com/coredns/coredns/middleware/etcd/msg"
"github.com/coredns/coredns/request"
+
+ "github.com/miekg/dns"
+ "k8s.io/client-go/1.5/pkg/api"
)
func TestRecordForTXT(t *testing.T) {
k := Kubernetes{Zones: []string{"inter.webs.test"}}
r, _ := k.parseRequest("dns-version.inter.webs.test", dns.TypeTXT)
- expected := DNSSchemaVersion
- var svcs []msg.Service
- k.recordsForTXT(r, &svcs)
- if svcs[0].Text != expected {
- t.Errorf("Expected result '%v'. Instead got result '%v'.", expected, svcs[0].Text)
+ expected := DNSSchemaVersion
+ svc := k.recordsForTXT(r)
+ if svc.Text != expected {
+ t.Errorf("Expected result '%v'. Instead got result '%v'.", expected, svc.Text)
}
}
diff --git a/middleware/kubernetes/ns.go b/middleware/kubernetes/ns.go
index 6a4a95af0..af6f83f21 100644
--- a/middleware/kubernetes/ns.go
+++ b/middleware/kubernetes/ns.go
@@ -24,15 +24,6 @@ func (i interfaceAddrs) interfaceAddrs() ([]net.Addr, error) {
return net.InterfaceAddrs()
}
-func (k *Kubernetes) recordsForNS(r recordRequest, svcs *[]msg.Service) error {
- ns := k.coreDNSRecord()
- s := msg.Service{
- Host: ns.A.String(),
- Key: msg.Path(strings.Join([]string{ns.Hdr.Name, r.zone}, "."), "coredns")}
- *svcs = append(*svcs, s)
- return nil
-}
-
// DefaultNSMsg returns an msg.Service representing an A record for
// ns.dns.[zone] -> dns service ip. This A record is needed to legitimize
// the SOA response in middleware.NS(), which is hardcoded at ns.dns.[zone].
diff --git a/middleware/kubernetes/ns_test.go b/middleware/kubernetes/ns_test.go
index 03b18481d..c7500a3fc 100644
--- a/middleware/kubernetes/ns_test.go
+++ b/middleware/kubernetes/ns_test.go
@@ -3,7 +3,6 @@ package kubernetes
import "testing"
import "net"
-import "github.com/coredns/coredns/middleware/etcd/msg"
import "k8s.io/client-go/1.5/pkg/api"
import "github.com/miekg/dns"
@@ -12,12 +11,11 @@ func TestRecordForNS(t *testing.T) {
corednsRecord.Hdr.Name = "coredns.kube-system."
corednsRecord.A = net.IP("1.2.3.4")
r, _ := k.parseRequest("inter.webs.test", dns.TypeNS)
- expected := "/coredns/test/webs/inter/kube-system/coredns"
- var svcs []msg.Service
- k.recordsForNS(r, &svcs)
- if svcs[0].Key != expected {
- t.Errorf("Expected result '%v'. Instead got result '%v'.", expected, svcs[0].Key)
+ expected := "/coredns/test/webs/inter/kube-system/coredns"
+ svc := k.recordsForNS(r)
+ if svc.Key != expected {
+ t.Errorf("Expected result '%v'. Instead got result '%v'.", expected, svc.Key)
}
}
@@ -26,8 +24,8 @@ func TestDefaultNSMsg(t *testing.T) {
corednsRecord.Hdr.Name = "coredns.kube-system."
corednsRecord.A = net.IP("1.2.3.4")
r, _ := k.parseRequest("ns.dns.inter.webs.test", dns.TypeA)
- expected := "/coredns/test/webs/inter/dns/ns"
+ expected := "/coredns/test/webs/inter/dns/ns"
svc := k.defaultNSMsg(r)
if svc.Key != expected {
t.Errorf("Expected result '%v'. Instead got result '%v'.", expected, svc.Key)