Skip to content

e2e: reach an in-cluster destination over each address family - #1104

Open
Yuan Gao (ygao-g) wants to merge 1 commit into
agent-substrate:mainfrom
ygao-g:e2e-egress-family
Open

e2e: reach an in-cluster destination over each address family#1104
Yuan Gao (ygao-g) wants to merge 1 commit into
agent-substrate:mainfrom
ygao-g:e2e-egress-family

Conversation

@ygao-g

Copy link
Copy Markdown
Collaborator

The egress suite fetches example.com, so which address families a test exercises is decided by
whatever resolver the cluster inherited. When the name has no AAAA the actor never attempts IPv6 and
a broken IPv6 path passes; when it does, the same test fails. Neither outcome says anything about
the system, and neither single-family lane can notice.

This adds an in-cluster destination fronted by Services pinned to each family, so which families are
in play is a property of the test, and asserts the family each request actually arrived over rather
than trusting a 200. The dual-homed case is the one no single-family cluster can construct: an actor
that has an IPv6 address prefers the AAAA, so that destination becomes unreachable the moment IPv6
egress breaks, even with a working A record right beside it and every IPv4-only destination still
working. Measured on a dual-stack kind cluster it passes on main and fails with #979 and #1057
applied, which is #1089. On a single-family cluster the cases it cannot build are skipped. Part of
#246.

🤖 Generated with Claude Code

@google-cla

google-cla Bot commented Aug 20, 2026

Copy link
Copy Markdown

Thanks for your pull request! It looks like this may be your first contribution to a Google open source project. Before we can look at your pull request, you'll need to sign a Contributor License Agreement (CLA).

View this failed invocation of the CLA check for more information.

For the most up to date status, view the checks section at the bottom of the pull request.

The egress suite fetches example.com, so which address families a test
exercises is decided by whatever resolver the cluster inherited. When the name
has no AAAA the actor never attempts IPv6 and a broken IPv6 path passes; when
it does, the same test fails. Neither outcome says anything about the system.

Adds an in-cluster destination fronted by three Services over one backend, so
the families are a property of the test, and asserts the family the request
actually arrived over rather than trusting a 200. The dual-homed case is the
one no single-family cluster can construct: an actor with an IPv6 address
prefers the AAAA, so that destination is unreachable the moment IPv6 egress
breaks, even with a working A record alongside it.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant