plugin/kubernetes: Fix reverse TTL response (#1240)
Remove most 303 TTLs (those get skipped by the test) and use 5, which is the default for all tests.
This commit is contained in:
parent
621dd36f6d
commit
70a5a098c1
3 changed files with 29 additions and 29 deletions
|
@ -32,29 +32,29 @@ var dnsTestCases = []test.Case{
|
|||
{
|
||||
Qname: "svc1.testns.svc.cluster.local.", Qtype: dns.TypeSRV,
|
||||
Rcode: dns.RcodeSuccess,
|
||||
Answer: []dns.RR{test.SRV("svc1.testns.svc.cluster.local. 303 IN SRV 0 100 80 svc1.testns.svc.cluster.local.")},
|
||||
Extra: []dns.RR{test.A("svc1.testns.svc.cluster.local. 303 IN A 10.0.0.1")},
|
||||
Answer: []dns.RR{test.SRV("svc1.testns.svc.cluster.local. 5 IN SRV 0 100 80 svc1.testns.svc.cluster.local.")},
|
||||
Extra: []dns.RR{test.A("svc1.testns.svc.cluster.local. 5 IN A 10.0.0.1")},
|
||||
},
|
||||
// SRV Service (wildcard)
|
||||
{
|
||||
Qname: "svc1.*.svc.cluster.local.", Qtype: dns.TypeSRV,
|
||||
Rcode: dns.RcodeSuccess,
|
||||
Answer: []dns.RR{test.SRV("svc1.*.svc.cluster.local. 303 IN SRV 0 100 80 svc1.testns.svc.cluster.local.")},
|
||||
Extra: []dns.RR{test.A("svc1.testns.svc.cluster.local. 303 IN A 10.0.0.1")},
|
||||
Answer: []dns.RR{test.SRV("svc1.*.svc.cluster.local. 5 IN SRV 0 100 80 svc1.testns.svc.cluster.local.")},
|
||||
Extra: []dns.RR{test.A("svc1.testns.svc.cluster.local. 5 IN A 10.0.0.1")},
|
||||
},
|
||||
// SRV Service (wildcards)
|
||||
{
|
||||
Qname: "*.any.svc1.*.svc.cluster.local.", Qtype: dns.TypeSRV,
|
||||
Rcode: dns.RcodeSuccess,
|
||||
Answer: []dns.RR{test.SRV("*.any.svc1.*.svc.cluster.local. 303 IN SRV 0 100 80 svc1.testns.svc.cluster.local.")},
|
||||
Extra: []dns.RR{test.A("svc1.testns.svc.cluster.local. 303 IN A 10.0.0.1")},
|
||||
Answer: []dns.RR{test.SRV("*.any.svc1.*.svc.cluster.local. 5 IN SRV 0 100 80 svc1.testns.svc.cluster.local.")},
|
||||
Extra: []dns.RR{test.A("svc1.testns.svc.cluster.local. 5 IN A 10.0.0.1")},
|
||||
},
|
||||
// A Service (wildcards)
|
||||
{
|
||||
Qname: "*.any.svc1.*.svc.cluster.local.", Qtype: dns.TypeA,
|
||||
Rcode: dns.RcodeSuccess,
|
||||
Answer: []dns.RR{
|
||||
test.A("*.any.svc1.*.svc.cluster.local. 303 IN A 10.0.0.1"),
|
||||
test.A("*.any.svc1.*.svc.cluster.local. 5 IN A 10.0.0.1"),
|
||||
},
|
||||
},
|
||||
// SRV Service Not udp/tcp
|
||||
|
@ -70,10 +70,10 @@ var dnsTestCases = []test.Case{
|
|||
Qname: "_http._tcp.svc1.testns.svc.cluster.local.", Qtype: dns.TypeSRV,
|
||||
Rcode: dns.RcodeSuccess,
|
||||
Answer: []dns.RR{
|
||||
test.SRV("_http._tcp.svc1.testns.svc.cluster.local. 303 IN SRV 0 100 80 svc1.testns.svc.cluster.local."),
|
||||
test.SRV("_http._tcp.svc1.testns.svc.cluster.local. 5 IN SRV 0 100 80 svc1.testns.svc.cluster.local."),
|
||||
},
|
||||
Extra: []dns.RR{
|
||||
test.A("svc1.testns.svc.cluster.local. 303 IN A 10.0.0.1"),
|
||||
test.A("svc1.testns.svc.cluster.local. 5 IN A 10.0.0.1"),
|
||||
},
|
||||
},
|
||||
// A Service (Headless)
|
||||
|
@ -81,8 +81,8 @@ var dnsTestCases = []test.Case{
|
|||
Qname: "hdls1.testns.svc.cluster.local.", Qtype: dns.TypeA,
|
||||
Rcode: dns.RcodeSuccess,
|
||||
Answer: []dns.RR{
|
||||
test.A("hdls1.testns.svc.cluster.local. 303 IN A 172.0.0.2"),
|
||||
test.A("hdls1.testns.svc.cluster.local. 303 IN A 172.0.0.3"),
|
||||
test.A("hdls1.testns.svc.cluster.local. 5 IN A 172.0.0.2"),
|
||||
test.A("hdls1.testns.svc.cluster.local. 5 IN A 172.0.0.3"),
|
||||
},
|
||||
},
|
||||
// SRV Service (Headless)
|
||||
|
@ -90,16 +90,16 @@ var dnsTestCases = []test.Case{
|
|||
Qname: "_http._tcp.hdls1.testns.svc.cluster.local.", Qtype: dns.TypeSRV,
|
||||
Rcode: dns.RcodeSuccess,
|
||||
Answer: []dns.RR{
|
||||
test.SRV("_http._tcp.hdls1.testns.svc.cluster.local. 303 IN SRV 0 25 80 172-0-0-2.hdls1.testns.svc.cluster.local."),
|
||||
test.SRV("_http._tcp.hdls1.testns.svc.cluster.local. 303 IN SRV 0 25 80 172-0-0-3.hdls1.testns.svc.cluster.local."),
|
||||
test.SRV("_http._tcp.hdls1.testns.svc.cluster.local. 303 IN SRV 0 25 80 5678-abcd--1.hdls1.testns.svc.cluster.local."),
|
||||
test.SRV("_http._tcp.hdls1.testns.svc.cluster.local. 303 IN SRV 0 25 80 5678-abcd--2.hdls1.testns.svc.cluster.local."),
|
||||
test.SRV("_http._tcp.hdls1.testns.svc.cluster.local. 5 IN SRV 0 25 80 172-0-0-2.hdls1.testns.svc.cluster.local."),
|
||||
test.SRV("_http._tcp.hdls1.testns.svc.cluster.local. 5 IN SRV 0 25 80 172-0-0-3.hdls1.testns.svc.cluster.local."),
|
||||
test.SRV("_http._tcp.hdls1.testns.svc.cluster.local. 5 IN SRV 0 25 80 5678-abcd--1.hdls1.testns.svc.cluster.local."),
|
||||
test.SRV("_http._tcp.hdls1.testns.svc.cluster.local. 5 IN SRV 0 25 80 5678-abcd--2.hdls1.testns.svc.cluster.local."),
|
||||
},
|
||||
Extra: []dns.RR{
|
||||
test.A("172-0-0-2.hdls1.testns.svc.cluster.local. 303 IN A 172.0.0.2"),
|
||||
test.A("172-0-0-3.hdls1.testns.svc.cluster.local. 303 IN A 172.0.0.3"),
|
||||
test.AAAA("5678-abcd--1.hdls1.testns.svc.cluster.local. 303 IN AAAA 5678:abcd::1"),
|
||||
test.AAAA("5678-abcd--2.hdls1.testns.svc.cluster.local. 303 IN AAAA 5678:abcd::2"),
|
||||
test.A("172-0-0-2.hdls1.testns.svc.cluster.local. 5 IN A 172.0.0.2"),
|
||||
test.A("172-0-0-3.hdls1.testns.svc.cluster.local. 5 IN A 172.0.0.3"),
|
||||
test.AAAA("5678-abcd--1.hdls1.testns.svc.cluster.local. 5 IN AAAA 5678:abcd::1"),
|
||||
test.AAAA("5678-abcd--2.hdls1.testns.svc.cluster.local. 5 IN AAAA 5678:abcd::2"),
|
||||
},
|
||||
},
|
||||
// CNAME External
|
||||
|
@ -107,7 +107,7 @@ var dnsTestCases = []test.Case{
|
|||
Qname: "external.testns.svc.cluster.local.", Qtype: dns.TypeCNAME,
|
||||
Rcode: dns.RcodeSuccess,
|
||||
Answer: []dns.RR{
|
||||
test.CNAME("external.testns.svc.cluster.local. 303 IN CNAME ext.interwebs.test."),
|
||||
test.CNAME("external.testns.svc.cluster.local. 5 IN CNAME ext.interwebs.test."),
|
||||
},
|
||||
},
|
||||
// AAAA Service (with an existing A record, but no AAAA record)
|
||||
|
@ -171,8 +171,8 @@ var dnsTestCases = []test.Case{
|
|||
Qname: "hdls1.testns.svc.cluster.local.", Qtype: dns.TypeAAAA,
|
||||
Rcode: dns.RcodeSuccess,
|
||||
Answer: []dns.RR{
|
||||
test.AAAA("hdls1.testns.svc.cluster.local. 303 IN AAAA 5678:abcd::1"),
|
||||
test.AAAA("hdls1.testns.svc.cluster.local. 303 IN AAAA 5678:abcd::2"),
|
||||
test.AAAA("hdls1.testns.svc.cluster.local. 5 IN AAAA 5678:abcd::1"),
|
||||
test.AAAA("hdls1.testns.svc.cluster.local. 5 IN AAAA 5678:abcd::2"),
|
||||
},
|
||||
},
|
||||
// AAAA Endpoint
|
||||
|
@ -180,7 +180,7 @@ var dnsTestCases = []test.Case{
|
|||
Qname: "5678-abcd--1.hdls1.testns.svc.cluster.local.", Qtype: dns.TypeAAAA,
|
||||
Rcode: dns.RcodeSuccess,
|
||||
Answer: []dns.RR{
|
||||
test.AAAA("5678-abcd--1.hdls1.testns.svc.cluster.local. 303 IN AAAA 5678:abcd::1"),
|
||||
test.AAAA("5678-abcd--1.hdls1.testns.svc.cluster.local. 5 IN AAAA 5678:abcd::1"),
|
||||
},
|
||||
},
|
||||
}
|
||||
|
|
|
@ -26,22 +26,22 @@ func (k *Kubernetes) Reverse(state request.Request, exact bool, opt plugin.Optio
|
|||
func (k *Kubernetes) serviceRecordForIP(ip, name string) []msg.Service {
|
||||
// First check services with cluster ips
|
||||
for _, service := range k.APIConn.SvcIndexReverse(ip) {
|
||||
if (len(k.Namespaces) > 0) && !k.namespaceExposed(service.Namespace) {
|
||||
if len(k.Namespaces) > 0 && !k.namespaceExposed(service.Namespace) {
|
||||
continue
|
||||
}
|
||||
domain := strings.Join([]string{service.Name, service.Namespace, Svc, k.primaryZone()}, ".")
|
||||
return []msg.Service{{Host: domain}}
|
||||
return []msg.Service{{Host: domain, TTL: k.ttl}}
|
||||
}
|
||||
// If no cluster ips match, search endpoints
|
||||
for _, ep := range k.APIConn.EpIndexReverse(ip) {
|
||||
if (len(k.Namespaces) > 0) && !k.namespaceExposed(ep.ObjectMeta.Namespace) {
|
||||
if len(k.Namespaces) > 0 && !k.namespaceExposed(ep.ObjectMeta.Namespace) {
|
||||
continue
|
||||
}
|
||||
for _, eps := range ep.Subsets {
|
||||
for _, addr := range eps.Addresses {
|
||||
if addr.IP == ip {
|
||||
domain := strings.Join([]string{endpointHostname(addr, k.endpointNameMode), ep.ObjectMeta.Name, ep.ObjectMeta.Namespace, Svc, k.primaryZone()}, ".")
|
||||
return []msg.Service{{Host: domain}}
|
||||
return []msg.Service{{Host: domain, TTL: k.ttl}}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -104,14 +104,14 @@ func TestReverse(t *testing.T) {
|
|||
Qname: "100.0.0.10.in-addr.arpa.", Qtype: dns.TypePTR,
|
||||
Rcode: dns.RcodeSuccess,
|
||||
Answer: []dns.RR{
|
||||
test.PTR("100.0.0.10.in-addr.arpa. 303 IN PTR ep1a.svc1.testns.svc.cluster.local."),
|
||||
test.PTR("100.0.0.10.in-addr.arpa. 5 IN PTR ep1a.svc1.testns.svc.cluster.local."),
|
||||
},
|
||||
},
|
||||
{
|
||||
Qname: "100.1.168.192.in-addr.arpa.", Qtype: dns.TypePTR,
|
||||
Rcode: dns.RcodeSuccess,
|
||||
Answer: []dns.RR{
|
||||
test.PTR("100.1.168.192.in-addr.arpa. 303 IN PTR svc1.testns.svc.cluster.local."),
|
||||
test.PTR("100.1.168.192.in-addr.arpa. 5 IN PTR svc1.testns.svc.cluster.local."),
|
||||
},
|
||||
},
|
||||
{
|
||||
|
|
Loading…
Add table
Reference in a new issue