atenet/dns: (Not Intended to Merge) manual CoreDNS rcode harness - #1038
Draft
Yuan Gao (ygao-g) wants to merge 2 commits into
Draft
atenet/dns: (Not Intended to Merge) manual CoreDNS rcode harness#1038Yuan Gao (ygao-g) wants to merge 2 commits into
Yuan Gao (ygao-g) wants to merge 2 commits into
Conversation
Before, the actor zone answered A queries and failed everything else -- AAAA for a valid actor, and any name in the zone that is not an actor. A failure reads as a temporary error rather than an answer, so clients retry it and then give up on the name; Alpine actors could not resolve each other at all, even on an IPv4-only cluster. After, those queries return a correct empty answer, and one that resolvers can cache. A unit test pins the whole rendered zone as a literal, so editing the name pattern or the suffix fails there rather than passing silently.
Not intended to merge. The unit test in agent-substrate#874 pins the rendered zone but nothing exercises CoreDNS, so this serves that zone with the pinned coredns/coredns:1.11.1 and checks the rcode returned for A, AAAA, HTTPS, SRV, a name in the zone that is not an actor, and a malformed one, plus an Alpine getent for the musl path. Pointing --corefile at a zone rendered before the fix turns the run into a negative control: the AAAA case SERVFAILs and getent stops resolving, while plain dig A still succeeds.
Yuan Gao (ygao-g)
force-pushed
the
atenet-dns-manual-test
branch
from
August 18, 2026 14:40
12cf866 to
d543dd5
Compare
Yuan Gao (ygao-g)
marked this pull request as draft
August 18, 2026 19:24
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Test signals only — not intended to merge.
Stacked on #874, whose commit appears in this diff until it merges.
#874's unit test pins the rendered zone, but nothing in the tree exercises
CoreDNS itself, so the rcode behavior the PR is about goes unchecked. There is
no way to close that in a Go test here — neither
corednsnormiekg/dnsisvendored, and no test in the repo runs a container. This is the reference
procedure instead:
It renders the real zone via the test binary, serves it with the pinned
coredns/coredns:1.11.1, and checks the rcode for A, AAAA, HTTPS, SRV, a namein the zone that is not an actor, and a malformed name — plus an Alpine
getent ahostsfor the musl path.Passing
--corefilea zone rendered from before the fix makes the run anegative control: AAAA SERVFAILs and
getentstops resolving, while plaindig Astill succeeds. That last combination is exactly the failure #874describes.