diff options
author | 2016-11-14 19:31:08 +0000 | |
---|---|---|
committer | 2016-11-15 01:35:24 +0000 | |
commit | afe4368c344a4934396521c0cf42c62e60ea515c (patch) | |
tree | da2da5c0c94f1d959d8b98e3a93de3389b93414e /test/kubernetes_test.go | |
parent | 137fc33b8f2ac0c37915f3cb173bc5f8315def9d (diff) | |
download | coredns-afe4368c344a4934396521c0cf42c62e60ea515c.tar.gz coredns-afe4368c344a4934396521c0cf42c62e60ea515c.tar.zst coredns-afe4368c344a4934396521c0cf42c62e60ea515c.zip |
K8s Test Cleanup and Service PTR
Change the CI setup for K8s to be simpler. Now it just creates a
set of objects via a yaml file, making it very easy to modify
the tests.
Implement PTR for services.
Diffstat (limited to 'test/kubernetes_test.go')
-rw-r--r-- | test/kubernetes_test.go | 117 |
1 files changed, 74 insertions, 43 deletions
diff --git a/test/kubernetes_test.go b/test/kubernetes_test.go index 6fba08e54..819f55489 100644 --- a/test/kubernetes_test.go +++ b/test/kubernetes_test.go @@ -17,144 +17,175 @@ import ( var dnsTestCases = []test.Case{ { - Qname: "mynginx.demo.svc.coredns.local.", Qtype: dns.TypeA, + Qname: "svc-1-a.test-1.svc.cluster.local.", Qtype: dns.TypeA, Rcode: dns.RcodeSuccess, Answer: []dns.RR{ - test.A("mynginx.demo.svc.coredns.local. 1800 IN A 10.3.0.10"), + test.A("svc-1-a.test-1.svc.cluster.local. 303 IN A 10.3.0.100"), }, }, { - Qname: "bogusservice.demo.svc.coredns.local.", Qtype: dns.TypeA, + Qname: "bogusservice.test-1.svc.cluster.local.", Qtype: dns.TypeA, Rcode: dns.RcodeNameError, Answer: []dns.RR{}, }, { - Qname: "mynginx.*.svc.coredns.local.", Qtype: dns.TypeA, + Qname: "svc-1-a.*.svc.cluster.local.", Qtype: dns.TypeA, Rcode: dns.RcodeSuccess, Answer: []dns.RR{ - test.A("mynginx.demo.svc.coredns.local. 1800 IN A 10.3.0.10"), + test.A("svc-1-a.test-1.svc.cluster.local. 303 IN A 10.3.0.100"), }, }, { - Qname: "mynginx.any.svc.coredns.local.", Qtype: dns.TypeA, + Qname: "svc-1-a.any.svc.cluster.local.", Qtype: dns.TypeA, Rcode: dns.RcodeSuccess, Answer: []dns.RR{ - test.A("mynginx.demo.svc.coredns.local. 1800 IN A 10.3.0.10"), + test.A("svc-1-a.test-1.svc.cluster.local. 303 IN A 10.3.0.100"), }, }, { - Qname: "bogusservice.*.svc.coredns.local.", Qtype: dns.TypeA, + Qname: "bogusservice.*.svc.cluster.local.", Qtype: dns.TypeA, Rcode: dns.RcodeNameError, Answer: []dns.RR{}, }, { - Qname: "bogusservice.any.svc.coredns.local.", Qtype: dns.TypeA, + Qname: "bogusservice.any.svc.cluster.local.", Qtype: dns.TypeA, Rcode: dns.RcodeNameError, Answer: []dns.RR{}, }, { - Qname: "*.demo.svc.coredns.local.", Qtype: dns.TypeA, + Qname: "*.test-1.svc.cluster.local.", Qtype: dns.TypeA, Rcode: dns.RcodeSuccess, Answer: []dns.RR{ - test.A("mynginx.demo.svc.coredns.local. 1800 IN A 10.3.0.10"), - test.A("webserver.demo.svc.coredns.local. 1800 IN A 10.3.0.20"), + test.A("svc-1-a.test-1.svc.cluster.local. 303 IN A 10.3.0.100"), + test.A("svc-1-b.test-1.svc.cluster.local. 303 IN A 10.3.0.110"), + test.A("svc-c.test-1.svc.cluster.local. 303 IN A 10.3.0.115"), }, }, { - Qname: "any.demo.svc.coredns.local.", Qtype: dns.TypeA, + Qname: "any.test-1.svc.cluster.local.", Qtype: dns.TypeA, Rcode: dns.RcodeSuccess, Answer: []dns.RR{ - test.A("mynginx.demo.svc.coredns.local. 1800 IN A 10.3.0.10"), - test.A("webserver.demo.svc.coredns.local. 1800 IN A 10.3.0.20"), + test.A("svc-1-a.test-1.svc.cluster.local. 303 IN A 10.3.0.100"), + test.A("svc-1-b.test-1.svc.cluster.local. 303 IN A 10.3.0.110"), + test.A("svc-c.test-1.svc.cluster.local. 303 IN A 10.3.0.115"), }, }, { - Qname: "any.test.svc.coredns.local.", Qtype: dns.TypeA, + Qname: "any.test-2.svc.cluster.local.", Qtype: dns.TypeA, Rcode: dns.RcodeNameError, Answer: []dns.RR{}, }, { - Qname: "*.test.svc.coredns.local.", Qtype: dns.TypeA, + Qname: "*.test-2.svc.cluster.local.", Qtype: dns.TypeA, Rcode: dns.RcodeNameError, Answer: []dns.RR{}, }, { - Qname: "*.*.svc.coredns.local.", Qtype: dns.TypeA, + Qname: "*.*.svc.cluster.local.", Qtype: dns.TypeA, Rcode: dns.RcodeSuccess, Answer: []dns.RR{ - test.A("mynginx.demo.svc.coredns.local. 1800 IN A 10.3.0.10"), - test.A("webserver.demo.svc.coredns.local. 1800 IN A 10.3.0.20"), + test.A("svc-1-a.test-1.svc.cluster.local. 303 IN A 10.3.0.100"), + test.A("svc-1-b.test-1.svc.cluster.local. 303 IN A 10.3.0.110"), + test.A("svc-c.test-1.svc.cluster.local. 303 IN A 10.3.0.115"), }, }, //TODO: Fix below to all use test.SRV not test.A! { - Qname: "mynginx.demo.svc.coredns.local.", Qtype: dns.TypeSRV, + Qname: "svc-1-a.test-1.svc.cluster.local.", Qtype: dns.TypeSRV, Rcode: dns.RcodeSuccess, Answer: []dns.RR{ - test.A("mynginx.demo.svc.coredns.local. 1800 IN A 10.3.0.10"), + test.SRV("_http._tcp.svc-1-a.test-1.svc.cluster.local. 303 IN SRV 10 100 80 svc-1-a.test-1.svc.cluster.local."), + test.SRV("_https._tcp.svc-1-a.test-1.svc.cluster.local. 303 IN SRV 10 100 443 svc-1-a.test-1.svc.cluster.local."), }, }, { - Qname: "bogusservice.demo.svc.coredns.local.", Qtype: dns.TypeSRV, + Qname: "bogusservice.test-1.svc.cluster.local.", Qtype: dns.TypeSRV, Rcode: dns.RcodeNameError, Answer: []dns.RR{}, }, { - Qname: "mynginx.*.svc.coredns.local.", Qtype: dns.TypeSRV, + Qname: "svc-1-a.*.svc.cluster.local.", Qtype: dns.TypeSRV, Rcode: dns.RcodeSuccess, Answer: []dns.RR{ - test.A("mynginx.demo.svc.coredns.local. 1800 IN A 10.3.0.10"), + test.SRV("_http._tcp.svc-1-a.test-1.svc.cluster.local. 303 IN SRV 10 100 80 svc-1-a.test-1.svc.cluster.local."), + test.SRV("_https._tcp.svc-1-a.test-1.svc.cluster.local. 303 IN SRV 10 100 443 svc-1-a.test-1.svc.cluster.local."), }, }, { - Qname: "mynginx.any.svc.coredns.local.", Qtype: dns.TypeSRV, + Qname: "svc-1-a.any.svc.cluster.local.", Qtype: dns.TypeSRV, Rcode: dns.RcodeSuccess, Answer: []dns.RR{ - test.A("mynginx.demo.svc.coredns.local. 1800 IN A 10.3.0.10"), + test.SRV("_http._tcp.svc-1-a.test-1.svc.cluster.local. 303 IN SRV 10 100 80 svc-1-a.test-1.svc.cluster.local."), + test.SRV("_https._tcp.svc-1-a.test-1.svc.cluster.local. 303 IN SRV 10 100 443 svc-1-a.test-1.svc.cluster.local."), }, }, { - Qname: "bogusservice.*.svc.coredns.local.", Qtype: dns.TypeSRV, + Qname: "bogusservice.*.svc.cluster.local.", Qtype: dns.TypeSRV, Rcode: dns.RcodeNameError, Answer: []dns.RR{}, }, { - Qname: "bogusservice.any.svc.coredns.local.", Qtype: dns.TypeSRV, + Qname: "bogusservice.any.svc.cluster.local.", Qtype: dns.TypeSRV, Rcode: dns.RcodeNameError, Answer: []dns.RR{}, }, { - Qname: "*.demo.svc.coredns.local.", Qtype: dns.TypeSRV, + Qname: "*.test-1.svc.cluster.local.", Qtype: dns.TypeSRV, Rcode: dns.RcodeSuccess, Answer: []dns.RR{ - test.A("mynginx.demo.svc.coredns.local. 1800 IN A 10.3.0.10"), - test.A("webserver.demo.svc.coredns.local. 1800 IN A 10.3.0.20"), + test.SRV("_http._tcp.svc-1-a.test-1.svc.cluster.local. 303 IN SRV 10 100 80 svc-1-a.test-1.svc.cluster.local."), + test.SRV("_https._tcp.svc-1-a.test-1.svc.cluster.local. 303 IN SRV 10 100 443 svc-1-a.test-1.svc.cluster.local."), + test.SRV("_http._tcp.svc-1-b.test-1.svc.cluster.local. 303 IN SRV 10 100 80 svc-1-b.test-1.svc.cluster.local."), + test.SRV("_c-port._udp.svc-c.test-1.svc.cluster.local. 303 IN SRV 10 100 1234 svc-c.test-1.svc.cluster.local."), }, }, { - Qname: "any.demo.svc.coredns.local.", Qtype: dns.TypeSRV, + Qname: "any.test-1.svc.cluster.local.", Qtype: dns.TypeSRV, Rcode: dns.RcodeSuccess, Answer: []dns.RR{ - test.A("mynginx.demo.svc.coredns.local. 1800 IN A 10.3.0.10"), - test.A("webserver.demo.svc.coredns.local. 1800 IN A 10.3.0.20"), + test.SRV("_http._tcp.svc-1-a.test-1.svc.cluster.local. 303 IN SRV 10 100 80 svc-1-a.test-1.svc.cluster.local."), + test.SRV("_https._tcp.svc-1-a.test-1.svc.cluster.local. 303 IN SRV 10 100 443 svc-1-a.test-1.svc.cluster.local."), + test.SRV("_http._tcp.svc-1-b.test-1.svc.cluster.local. 303 IN SRV 10 100 80 svc-1-b.test-1.svc.cluster.local."), + test.SRV("_c-port._udp.svc-c.test-1.svc.cluster.local. 303 IN SRV 10 100 1234 svc-c.test-1.svc.cluster.local."), }, }, { - Qname: "any.test.svc.coredns.local.", Qtype: dns.TypeSRV, + Qname: "any.test-2.svc.cluster.local.", Qtype: dns.TypeSRV, Rcode: dns.RcodeNameError, Answer: []dns.RR{}, }, { - Qname: "*.test.svc.coredns.local.", Qtype: dns.TypeSRV, + Qname: "*.test-2.svc.cluster.local.", Qtype: dns.TypeSRV, Rcode: dns.RcodeNameError, Answer: []dns.RR{}, }, { - Qname: "*.*.svc.coredns.local.", Qtype: dns.TypeSRV, + Qname: "*.*.svc.cluster.local.", Qtype: dns.TypeSRV, Rcode: dns.RcodeSuccess, Answer: []dns.RR{ - test.A("mynginx.demo.svc.coredns.local. 1800 IN A 10.3.0.10"), - test.A("webserver.demo.svc.coredns.local. 1800 IN A 10.3.0.20"), + test.SRV("_http._tcp.svc-1-a.test-1.svc.cluster.local. 303 IN SRV 10 100 80 svc-1-a.test-1.svc.cluster.local."), + test.SRV("_https._tcp.svc-1-a.test-1.svc.cluster.local. 303 IN SRV 10 100 443 svc-1-a.test-1.svc.cluster.local."), + test.SRV("_http._tcp.svc-1-b.test-1.svc.cluster.local. 303 IN SRV 10 100 80 svc-1-b.test-1.svc.cluster.local."), + test.SRV("_c-port._udp.svc-c.test-1.svc.cluster.local. 303 IN SRV 10 100 1234 svc-c.test-1.svc.cluster.local."), + }, + }, + { + Qname: "123.0.3.10.in-addr.arpa.", Qtype: dns.TypePTR, + Rcode: dns.RcodeSuccess, + Answer: []dns.RR{}, + }, + { + Qname: "100.0.3.10.in-addr.arpa.", Qtype: dns.TypePTR, + Rcode: dns.RcodeSuccess, + Answer: []dns.RR{ + test.PTR("100.0.3.10.in-addr.arpa. 303 IN PTR svc-1-a.test-1.svc.cluster.local."), + }, + }, + { + Qname: "115.0.3.10.in-addr.arpa.", Qtype: dns.TypePTR, + Rcode: dns.RcodeSuccess, + Answer: []dns.RR{ + test.PTR("115.0.3.10.in-addr.arpa. 303 IN PTR svc-c.test-1.svc.cluster.local."), }, }, } @@ -176,12 +207,12 @@ func createTestServer(t *testing.T, corefile string) (*caddy.Instance, string) { func TestKubernetesIntegration(t *testing.T) { corefile := `.:0 { - kubernetes coredns.local { + kubernetes cluster.local 0.3.10.in-addr.arpa { endpoint http://localhost:8080 - #endpoint https://kubernetes/ admin.pem admin-key.pem ca.pem #endpoint https://kubernetes/ + #tls admin.pem admin-key.pem ca.pem #tls k8s_auth/client2.crt k8s_auth/client2.key k8s_auth/ca2.crt - namespaces demo + namespaces test-1 } ` server, udp := createTestServer(t, corefile) |