skynetservices/skydns

Allow typeANY queries

leblancd opened this issue · 6 comments

Currently skydns rejects typeANY queries.
Would it be feasible to allow typeANY queries? We would like to use typeANY queries
in kubernetes since we don't know whether the nodes will be working in V4 or V6 mode.

miekg commented

That's not what ANY does, you'll need to query A and AAAA.

@miekg: Thanks for the quick clarification. We're actually using the ANY as an "are you alive" probe (and can we connect) for the DNS server, we're not using it to actually retrieve A or AAAA records (those retrievals are done with A/AAAA requests). I tried the change, and it seems to work for our purposes... though I'm a bit of a DNS nube and maybe I'm misinterpreting what the ANY response is telling us.

miekg commented

ANY is "defined" as give me what you've got for $name.

A better keep alive probe would be a SOA query, I think

@miekg: I've come full circle, and I'm back to thinking that we really do need support of type ANY queries, and that SOA is not enough. The probe that we're looking for is much more than just a keepalive ping of the skyDNS server. What the probe is looking for is:
"Do you have a DNS record for $name, whether it be A or AAAA"
This DNS request will always be done over an IPv4 connection (using localhost), but the entry that it's looking for could be either A or AAAA. The $name in this case is the kubernetes API service, so it tells us that, not only is the skyDNS server alive, but it has an entry for the kubernetes API service. If I switch this to an SOA query, the test would not be as comprehensive.

miekg commented

@miekg: Yes, that should work for us, thanks!