aboutsummaryrefslogtreecommitdiff
path: root/middleware
diff options
context:
space:
mode:
authorGravatar Miek Gieben <miek@miek.nl> 2017-08-07 07:09:32 -0700
committerGravatar GitHub <noreply@github.com> 2017-08-07 07:09:32 -0700
commit760e66706381ada5c4a589650175d07e8aeb09f0 (patch)
treece0472143c20801a3637fa1ae774b4a8d1e2bb91 /middleware
parent050eccd69e2381fa865b5c527618111ab7c7d21d (diff)
downloadcoredns-760e66706381ada5c4a589650175d07e8aeb09f0.tar.gz
coredns-760e66706381ada5c4a589650175d07e8aeb09f0.tar.zst
coredns-760e66706381ada5c4a589650175d07e8aeb09f0.zip
middleware/kubernetes: autopath in sub package (#848)
Put the autopath stuff in a separate sub package. Tests are still included in the main kubernetes directory. Next steps (after this is merged), is pulling the autopath handling into the subpackage and fixing the tests.
Diffstat (limited to 'middleware')
-rw-r--r--middleware/kubernetes/autopath/autopath.go (renamed from middleware/kubernetes/autopath.go)38
-rw-r--r--middleware/kubernetes/autopath/cname.go10
-rw-r--r--middleware/kubernetes/handler.go20
-rw-r--r--middleware/kubernetes/handler_test.go11
-rw-r--r--middleware/kubernetes/kubernetes.go17
-rw-r--r--middleware/kubernetes/setup.go22
-rw-r--r--middleware/kubernetes/setup_test.go80
7 files changed, 103 insertions, 95 deletions
diff --git a/middleware/kubernetes/autopath.go b/middleware/kubernetes/autopath/autopath.go
index fa79212a9..abcb360ae 100644
--- a/middleware/kubernetes/autopath.go
+++ b/middleware/kubernetes/autopath/autopath.go
@@ -1,8 +1,8 @@
-package kubernetes
+package autopath
import "github.com/miekg/dns"
-// AutoPathWriter implements a ResponseWriter that also does the following:
+// Writer implements a ResponseWriter that also does the following:
// * reverts question section of a packet to its original state.
// This is done to avoid the 'Question section mismatch:' error in client.
// * Defers write to the client if the response code is NXDOMAIN. This is needed
@@ -10,40 +10,48 @@ import "github.com/miekg/dns"
// * Allow forced write to client regardless of response code. This is needed to
// write the packet to the client if the final search in the path fails to
// produce results.
-// * Overwrites response code with AutoPathWriter.Rcode if the response code
+// * Overwrites response code with Writer.Rcode if the response code
// is NXDOMAIN (NameError). This is needed to support the AutoPath.OnNXDOMAIN
// function, which returns a NOERROR to client instead of NXDOMAIN if the final
// search in the path fails to produce results.
-type AutoPathWriter struct {
+type Writer struct {
dns.ResponseWriter
original dns.Question
Rcode int
Sent bool
}
-// NewAutoPathWriter returns a pointer to a new AutoPathWriter
-func NewAutoPathWriter(w dns.ResponseWriter, r *dns.Msg) *AutoPathWriter {
- return &AutoPathWriter{
+// AutoPath enables server side search path lookups for pods.
+type AutoPath struct {
+ NDots int
+ ResolvConfFile string
+ HostSearchPath []string
+ OnNXDOMAIN int
+}
+
+// NewWriter returns a pointer to a new Writer
+func NewWriter(w dns.ResponseWriter, r *dns.Msg) *Writer {
+ return &Writer{
ResponseWriter: w,
original: r.Question[0],
Rcode: dns.RcodeSuccess,
}
}
-// WriteMsg writes to client, unless response will be NXDOMAIN
-func (apw *AutoPathWriter) WriteMsg(res *dns.Msg) error {
+// WriteMsg writes to client, unless response will be NXDOMAIN.
+func (apw *Writer) WriteMsg(res *dns.Msg) error {
return apw.overrideMsg(res, false)
}
-// ForceWriteMsg forces the write to client regardless of response code
-func (apw *AutoPathWriter) ForceWriteMsg(res *dns.Msg) error {
+// ForceWriteMsg forces the write to client regardless of response code.
+func (apw *Writer) ForceWriteMsg(res *dns.Msg) error {
return apw.overrideMsg(res, true)
}
// overrideMsg overrides rcode, reverts question, adds CNAME, and calls the
// underlying ResponseWriter's WriteMsg method unless the write is deferred,
// or force = true.
-func (apw *AutoPathWriter) overrideMsg(res *dns.Msg, force bool) error {
+func (apw *Writer) overrideMsg(res *dns.Msg, force bool) error {
if res.Rcode == dns.RcodeNameError {
res.Rcode = apw.Rcode
}
@@ -56,7 +64,7 @@ func (apw *AutoPathWriter) overrideMsg(res *dns.Msg, force bool) error {
}
res.Answer = append(res.Answer, nil)
copy(res.Answer[1:], res.Answer)
- res.Answer[0] = newCNAME(apw.original.Name, dns.Fqdn(a.Header().Name), a.Header().Ttl)
+ res.Answer[0] = CNAME(apw.original.Name, a.Header().Name, a.Header().Ttl)
}
res.Question[0] = apw.original
apw.Sent = true
@@ -64,14 +72,14 @@ func (apw *AutoPathWriter) overrideMsg(res *dns.Msg, force bool) error {
}
// Write is a wrapper that records the size of the message that gets written.
-func (apw *AutoPathWriter) Write(buf []byte) (int, error) {
+func (apw *Writer) Write(buf []byte) (int, error) {
n, err := apw.ResponseWriter.Write(buf)
return n, err
}
// Hijack implements dns.Hijacker. It simply wraps the underlying
// ResponseWriter's Hijack method if there is one, or returns an error.
-func (apw *AutoPathWriter) Hijack() {
+func (apw *Writer) Hijack() {
apw.ResponseWriter.Hijack()
return
}
diff --git a/middleware/kubernetes/autopath/cname.go b/middleware/kubernetes/autopath/cname.go
new file mode 100644
index 000000000..471266747
--- /dev/null
+++ b/middleware/kubernetes/autopath/cname.go
@@ -0,0 +1,10 @@
+package autopath
+
+import "github.com/miekg/dns"
+
+// CNAME returns a new CNAME formed from name target and ttl.
+func CNAME(name string, target string, ttl uint32) *dns.CNAME {
+ return &dns.CNAME{
+ Hdr: dns.RR_Header{Name: name, Rrtype: dns.TypeCNAME, Class: dns.ClassINET, Ttl: ttl},
+ Target: dns.Fqdn(target)}
+}
diff --git a/middleware/kubernetes/handler.go b/middleware/kubernetes/handler.go
index e7660c3a9..3ef4f7a37 100644
--- a/middleware/kubernetes/handler.go
+++ b/middleware/kubernetes/handler.go
@@ -5,6 +5,7 @@ import (
"strings"
"github.com/coredns/coredns/middleware"
+ "github.com/coredns/coredns/middleware/kubernetes/autopath"
"github.com/coredns/coredns/middleware/pkg/dnsutil"
"github.com/coredns/coredns/request"
@@ -41,14 +42,14 @@ func (k Kubernetes) ServeDNS(ctx context.Context, w dns.ResponseWriter, r *dns.M
records, extra, _, err := k.routeRequest(zone, state)
// Check for Autopath search eligibility
- if k.AutoPath.Enabled && k.IsNameError(err) && (state.QType() == dns.TypeA || state.QType() == dns.TypeAAAA) {
+ if (k.autoPath != nil) && k.IsNameError(err) && (state.QType() == dns.TypeA || state.QType() == dns.TypeAAAA) {
p := k.findPodWithIP(state.IP())
for p != nil {
name, path, ok := splitSearch(zone, state.QName(), p.Namespace)
if !ok {
break
}
- if (dns.CountLabel(name) - 1) < k.AutoPath.NDots {
+ if (dns.CountLabel(name) - 1) < k.autoPath.NDots {
break
}
origQName := state.QName()
@@ -60,7 +61,7 @@ func (k Kubernetes) ServeDNS(ctx context.Context, w dns.ResponseWriter, r *dns.M
if !k.IsNameError(err) && len(records) > 0 {
records = append(records, nil)
copy(records[1:], records)
- records[0] = newCNAME(origQName, records[0].Header().Name, records[0].Header().Ttl)
+ records[0] = autopath.CNAME(origQName, records[0].Header().Name, records[0].Header().Ttl)
break
}
}
@@ -68,8 +69,8 @@ func (k Kubernetes) ServeDNS(ctx context.Context, w dns.ResponseWriter, r *dns.M
break
}
// Try host search path (if set) in the next middleware
- apw := NewAutoPathWriter(w, r)
- for _, hostsearch := range k.AutoPath.HostSearchPath {
+ apw := autopath.NewWriter(w, r)
+ for _, hostsearch := range k.autoPath.HostSearchPath {
newstate := state.NewWithQuestion(strings.Join([]string{name, hostsearch}, "."), state.QType())
rcode, nextErr := middleware.NextOrFailure(k.Name(), k.Next, ctx, apw, newstate.Req)
if apw.Sent {
@@ -82,11 +83,11 @@ func (k Kubernetes) ServeDNS(ctx context.Context, w dns.ResponseWriter, r *dns.M
if !k.IsNameError(err) && len(records) > 0 {
records = append(records, nil)
copy(records[1:], records)
- records[0] = newCNAME(origQName, records[0].Header().Name, records[0].Header().Ttl)
+ records[0] = autopath.CNAME(origQName, records[0].Header().Name, records[0].Header().Ttl)
break
}
// Search . in the next middleware
- apw.Rcode = k.AutoPath.OnNXDOMAIN
+ apw.Rcode = k.autoPath.OnNXDOMAIN
newstate = state.NewWithQuestion(strings.Join([]string{name, "."}, ""), state.QType())
r = newstate.Req
rcode, nextErr := middleware.NextOrFailure(k.Name(), k.Next, ctx, apw, r)
@@ -125,11 +126,6 @@ func (k Kubernetes) ServeDNS(ctx context.Context, w dns.ResponseWriter, r *dns.M
return dns.RcodeSuccess, nil
}
-func newCNAME(name string, target string, ttl uint32) *dns.CNAME {
- // TODO factor this out and put in dnsutil
- return &dns.CNAME{Hdr: dns.RR_Header{Name: name, Rrtype: dns.TypeCNAME, Class: dns.ClassINET, Ttl: ttl}, Target: dns.Fqdn(target)}
-}
-
func (k *Kubernetes) routeRequest(zone string, state request.Request) (records []dns.RR, extra []dns.RR, debug []dns.RR, err error) {
switch state.Type() {
case "A":
diff --git a/middleware/kubernetes/handler_test.go b/middleware/kubernetes/handler_test.go
index 04d64722f..dc6b62923 100644
--- a/middleware/kubernetes/handler_test.go
+++ b/middleware/kubernetes/handler_test.go
@@ -5,6 +5,7 @@ import (
"sort"
"testing"
+ "github.com/coredns/coredns/middleware/kubernetes/autopath"
"github.com/coredns/coredns/middleware/pkg/dnsrecorder"
"github.com/coredns/coredns/middleware/test"
@@ -267,8 +268,8 @@ func TestServeDNS(t *testing.T) {
k.ReverseCidrs = []net.IPNet{*cidr}
k.Federations = []Federation{{name: "fed", zone: "federal.test."}}
k.APIConn = &APIConnServeTest{}
- k.AutoPath.Enabled = true
- k.AutoPath.HostSearchPath = []string{"hostdom.test"}
+ k.autoPath = new(autopath.AutoPath)
+ k.autoPath.HostSearchPath = []string{"hostdom.test"}
k.interfaceAddrsFunc = localPodIP
k.Next = testHandler(nextMWMap)
@@ -288,11 +289,11 @@ func TestServeDNS(t *testing.T) {
runServeDNSTests(ctx, t, podModeVerifiedCases, k)
// Set ndots to 2 for the ndots test cases
- k.AutoPath.NDots = 2
+ k.autoPath.NDots = 2
runServeDNSTests(ctx, t, autopath2NDotsCases, k)
- k.AutoPath.NDots = defautNdots
+ k.autoPath.NDots = defautNdots
// Disable the NXDOMAIN override (enabled by default)
- k.OnNXDOMAIN = dns.RcodeNameError
+ k.autoPath.OnNXDOMAIN = dns.RcodeNameError
runServeDNSTests(ctx, t, autopathCases, k)
runServeDNSTests(ctx, t, autopathBareSearchExpectNameErr, k)
diff --git a/middleware/kubernetes/kubernetes.go b/middleware/kubernetes/kubernetes.go
index 3649eb02c..7c5f59f4f 100644
--- a/middleware/kubernetes/kubernetes.go
+++ b/middleware/kubernetes/kubernetes.go
@@ -11,6 +11,7 @@ import (
"github.com/coredns/coredns/middleware"
"github.com/coredns/coredns/middleware/etcd/msg"
+ "github.com/coredns/coredns/middleware/kubernetes/autopath"
"github.com/coredns/coredns/middleware/pkg/dnsutil"
dnsstrings "github.com/coredns/coredns/middleware/pkg/strings"
"github.com/coredns/coredns/middleware/proxy"
@@ -45,17 +46,9 @@ type Kubernetes struct {
PodMode string
ReverseCidrs []net.IPNet
Fallthrough bool
- AutoPath
- interfaceAddrsFunc func() net.IP
-}
-// AutoPath enables server side search path lookups for pods
-type AutoPath struct {
- Enabled bool
- NDots int
- ResolvConfFile string
- HostSearchPath []string
- OnNXDOMAIN int
+ autoPath *autopath.AutoPath
+ interfaceAddrsFunc func() net.IP
}
const (
@@ -259,7 +252,7 @@ func (k *Kubernetes) InitKubeCache() (err error) {
}
opts := dnsControlOpts{
- initPodCache: (k.PodMode == PodModeVerified || k.AutoPath.Enabled),
+ initPodCache: (k.PodMode == PodModeVerified || (k.autoPath != nil)),
}
k.APIConn = newdnsController(kubeClient, k.ResyncPeriod, k.Selector, opts)
@@ -468,7 +461,7 @@ func (k *Kubernetes) getRecordsForK8sItems(services []service, pods []pod, r rec
}
func (k *Kubernetes) findPodWithIP(ip string) (p *api.Pod) {
- if !k.AutoPath.Enabled {
+ if k.autoPath == nil {
return nil
}
objList := k.APIConn.PodIndex(ip)
diff --git a/middleware/kubernetes/setup.go b/middleware/kubernetes/setup.go
index d56b788f9..d892ef94a 100644
--- a/middleware/kubernetes/setup.go
+++ b/middleware/kubernetes/setup.go
@@ -10,6 +10,7 @@ import (
"github.com/coredns/coredns/core/dnsserver"
"github.com/coredns/coredns/middleware"
+ "github.com/coredns/coredns/middleware/kubernetes/autopath"
"github.com/coredns/coredns/middleware/pkg/dnsutil"
"github.com/coredns/coredns/middleware/proxy"
"github.com/miekg/dns"
@@ -192,7 +193,7 @@ func kubernetesParse(c *caddy.Controller) (*Kubernetes, error) {
return nil, fmt.Errorf("incorrect number of arguments for federation, got %v, expected 2", len(args))
case "autopath": // name zone
args := c.RemainingArgs()
- k8s.AutoPath = AutoPath{
+ k8s.autoPath = &autopath.AutoPath{
NDots: defautNdots,
HostSearchPath: []string{},
ResolvConfFile: defaultResolvConfFile,
@@ -207,30 +208,29 @@ func kubernetesParse(c *caddy.Controller) (*Kubernetes, error) {
if err != nil {
return nil, fmt.Errorf("invalid NDOTS argument for autopath, got '%v', expected an integer", ndots)
}
- k8s.AutoPath.NDots = ndots
+ k8s.autoPath.NDots = ndots
}
if len(args) > 1 {
switch args[1] {
case dns.RcodeToString[dns.RcodeNameError]:
- k8s.AutoPath.OnNXDOMAIN = dns.RcodeNameError
+ k8s.autoPath.OnNXDOMAIN = dns.RcodeNameError
case dns.RcodeToString[dns.RcodeSuccess]:
- k8s.AutoPath.OnNXDOMAIN = dns.RcodeSuccess
+ k8s.autoPath.OnNXDOMAIN = dns.RcodeSuccess
case dns.RcodeToString[dns.RcodeServerFailure]:
- k8s.AutoPath.OnNXDOMAIN = dns.RcodeServerFailure
+ k8s.autoPath.OnNXDOMAIN = dns.RcodeServerFailure
default:
return nil, fmt.Errorf("invalid RESPONSE argument for autopath, got '%v', expected SERVFAIL, NOERROR, or NXDOMAIN", args[1])
}
}
if len(args) > 2 {
- k8s.AutoPath.ResolvConfFile = args[2]
+ k8s.autoPath.ResolvConfFile = args[2]
}
- rc, err := dns.ClientConfigFromFile(k8s.AutoPath.ResolvConfFile)
+ rc, err := dns.ClientConfigFromFile(k8s.autoPath.ResolvConfFile)
if err != nil {
- return nil, fmt.Errorf("error when parsing %v: %v", k8s.AutoPath.ResolvConfFile, err)
+ return nil, fmt.Errorf("error when parsing %v: %v", k8s.autoPath.ResolvConfFile, err)
}
- k8s.AutoPath.HostSearchPath = rc.Search
- middleware.Zones(k8s.AutoPath.HostSearchPath).Normalize()
- k8s.AutoPath.Enabled = true
+ k8s.autoPath.HostSearchPath = rc.Search
+ middleware.Zones(k8s.autoPath.HostSearchPath).Normalize()
continue
}
}
diff --git a/middleware/kubernetes/setup_test.go b/middleware/kubernetes/setup_test.go
index 9512c8fbf..3cfc94bf1 100644
--- a/middleware/kubernetes/setup_test.go
+++ b/middleware/kubernetes/setup_test.go
@@ -8,6 +8,7 @@ import (
"testing"
"time"
+ "github.com/coredns/coredns/middleware/kubernetes/autopath"
"github.com/coredns/coredns/middleware/test"
"github.com/mholt/caddy"
@@ -42,7 +43,7 @@ func TestKubernetesParse(t *testing.T) {
expectedFallthrough bool
expectedUpstreams []string
expectedFederations []Federation
- expectedAutoPath AutoPath
+ expectedAutoPath *autopath.AutoPath
}{
// positive
{
@@ -59,7 +60,7 @@ func TestKubernetesParse(t *testing.T) {
false,
nil,
[]Federation{},
- AutoPath{},
+ nil,
},
{
"kubernetes keyword with multiple zones",
@@ -75,7 +76,7 @@ func TestKubernetesParse(t *testing.T) {
false,
nil,
[]Federation{},
- AutoPath{},
+ nil,
},
{
"kubernetes keyword with zone and empty braces",
@@ -92,7 +93,7 @@ func TestKubernetesParse(t *testing.T) {
false,
nil,
[]Federation{},
- AutoPath{},
+ nil,
},
{
"endpoint keyword with url",
@@ -110,7 +111,7 @@ func TestKubernetesParse(t *testing.T) {
false,
nil,
[]Federation{},
- AutoPath{},
+ nil,
},
{
"namespaces keyword with one namespace",
@@ -128,7 +129,7 @@ func TestKubernetesParse(t *testing.T) {
false,
nil,
nil,
- AutoPath{},
+ nil,
},
{
"namespaces keyword with multiple namespaces",
@@ -146,7 +147,7 @@ func TestKubernetesParse(t *testing.T) {
false,
nil,
[]Federation{},
- AutoPath{},
+ nil,
},
{
"resync period in seconds",
@@ -164,7 +165,7 @@ func TestKubernetesParse(t *testing.T) {
false,
nil,
[]Federation{},
- AutoPath{},
+ nil,
},
{
"resync period in minutes",
@@ -182,7 +183,7 @@ func TestKubernetesParse(t *testing.T) {
false,
nil,
[]Federation{},
- AutoPath{},
+ nil,
},
{
"basic label selector",
@@ -200,7 +201,7 @@ func TestKubernetesParse(t *testing.T) {
false,
nil,
[]Federation{},
- AutoPath{},
+ nil,
},
{
"multi-label selector",
@@ -218,7 +219,7 @@ func TestKubernetesParse(t *testing.T) {
false,
nil,
[]Federation{},
- AutoPath{},
+ nil,
},
{
"fully specified valid config",
@@ -240,7 +241,7 @@ func TestKubernetesParse(t *testing.T) {
true,
nil,
[]Federation{},
- AutoPath{},
+ nil,
},
// negative
{
@@ -257,7 +258,7 @@ func TestKubernetesParse(t *testing.T) {
false,
nil,
[]Federation{},
- AutoPath{},
+ nil,
},
{
"kubernetes keyword without a zone",
@@ -273,7 +274,7 @@ func TestKubernetesParse(t *testing.T) {
false,
nil,
[]Federation{},
- AutoPath{},
+ nil,
},
{
"endpoint keyword without an endpoint value",
@@ -291,7 +292,7 @@ func TestKubernetesParse(t *testing.T) {
false,
nil,
[]Federation{},
- AutoPath{},
+ nil,
},
{
"namespace keyword without a namespace value",
@@ -309,7 +310,7 @@ func TestKubernetesParse(t *testing.T) {
false,
nil,
[]Federation{},
- AutoPath{},
+ nil,
},
{
"resyncperiod keyword without a duration value",
@@ -327,7 +328,7 @@ func TestKubernetesParse(t *testing.T) {
false,
nil,
[]Federation{},
- AutoPath{},
+ nil,
},
{
"resync period no units",
@@ -345,7 +346,7 @@ func TestKubernetesParse(t *testing.T) {
false,
nil,
[]Federation{},
- AutoPath{},
+ nil,
},
{
"resync period invalid",
@@ -363,7 +364,7 @@ func TestKubernetesParse(t *testing.T) {
false,
nil,
[]Federation{},
- AutoPath{},
+ nil,
},
{
"labels with no selector value",
@@ -381,7 +382,7 @@ func TestKubernetesParse(t *testing.T) {
false,
nil,
[]Federation{},
- AutoPath{},
+ nil,
},
{
"labels with invalid selector value",
@@ -399,7 +400,7 @@ func TestKubernetesParse(t *testing.T) {
false,
nil,
[]Federation{},
- AutoPath{},
+ nil,
},
// pods disabled
{
@@ -418,7 +419,7 @@ func TestKubernetesParse(t *testing.T) {
false,
nil,
[]Federation{},
- AutoPath{},
+ nil,
},
// pods insecure
{
@@ -437,7 +438,7 @@ func TestKubernetesParse(t *testing.T) {
false,
nil,
[]Federation{},
- AutoPath{},
+ nil,
},
// pods verified
{
@@ -456,7 +457,7 @@ func TestKubernetesParse(t *testing.T) {
false,
nil,
[]Federation{},
- AutoPath{},
+ nil,
},
// pods invalid
{
@@ -475,7 +476,7 @@ func TestKubernetesParse(t *testing.T) {
false,
nil,
[]Federation{},
- AutoPath{},
+ nil,
},
// cidrs ok
{
@@ -494,7 +495,7 @@ func TestKubernetesParse(t *testing.T) {
false,
nil,
[]Federation{},
- AutoPath{},
+ nil,
},
// cidrs ok
{
@@ -513,7 +514,7 @@ func TestKubernetesParse(t *testing.T) {
false,
nil,
[]Federation{},
- AutoPath{},
+ nil,
},
// fallthrough invalid
{
@@ -532,7 +533,7 @@ func TestKubernetesParse(t *testing.T) {
false,
nil,
[]Federation{},
- AutoPath{},
+ nil,
},
// Valid upstream
{
@@ -551,7 +552,7 @@ func TestKubernetesParse(t *testing.T) {
false,
[]string{"13.14.15.16:53"},
[]Federation{},
- AutoPath{},
+ nil,
},
// Invalid upstream
{
@@ -570,7 +571,7 @@ func TestKubernetesParse(t *testing.T) {
false,
nil,
[]Federation{},
- AutoPath{},
+ nil,
},
// Valid federations
{
@@ -593,7 +594,7 @@ func TestKubernetesParse(t *testing.T) {
{name: "foo", zone: "bar.crawl.com"},
{name: "fed", zone: "era.tion.com"},
},
- AutoPath{},
+ nil,
},
// Invalid federations
{
@@ -612,7 +613,7 @@ func TestKubernetesParse(t *testing.T) {
false,
nil,
[]Federation{},
- AutoPath{},
+ nil,
},
// autopath
{
@@ -631,8 +632,7 @@ func TestKubernetesParse(t *testing.T) {
false,
nil,
nil,
- AutoPath{
- Enabled: true,
+ &autopath.AutoPath{
NDots: 1,
HostSearchPath: []string{"bar.com.", "baz.com."},
ResolvConfFile: autoPathResolvConfFile,
@@ -655,7 +655,7 @@ func TestKubernetesParse(t *testing.T) {
false,
nil,
nil,
- AutoPath{},
+ nil,
},
{
"invalid autopath NDOTS",
@@ -673,7 +673,7 @@ func TestKubernetesParse(t *testing.T) {
false,
nil,
nil,
- AutoPath{},
+ nil,
},
{
"invalid autopath RESOLV-CONF",
@@ -691,7 +691,7 @@ func TestKubernetesParse(t *testing.T) {
false,
nil,
nil,
- AutoPath{},
+ nil,
},
{
"invalid autopath invalid option",
@@ -709,7 +709,7 @@ func TestKubernetesParse(t *testing.T) {
false,
nil,
nil,
- AutoPath{},
+ nil,
},
}
@@ -811,8 +811,8 @@ func TestKubernetesParse(t *testing.T) {
}
}
// autopath
- if !reflect.DeepEqual(test.expectedAutoPath, k8sController.AutoPath) {
- t.Errorf("Test %d: Expected kubernetes controller to be initialized with autopath '%v'. Instead found autopath '%v' for input '%s'", i, test.expectedAutoPath, k8sController.AutoPath, test.input)
+ if !reflect.DeepEqual(test.expectedAutoPath, k8sController.autoPath) {
+ t.Errorf("Test %d: Expected kubernetes controller to be initialized with autopath '%v'. Instead found autopath '%v' for input '%s'", i, test.expectedAutoPath, k8sController.autoPath, test.input)
}
}
}