Skip to content

e2e: check an actor's address families against its worker pod's - #1354

Draft
Yuan Gao (ygao-g) wants to merge 1 commit into
agent-substrate:mainfrom
ygao-g:e2e-actor-address-families
Draft

e2e: check an actor's address families against its worker pod's#1354
Yuan Gao (ygao-g) wants to merge 1 commit into
agent-substrate:mainfrom
ygao-g:e2e-actor-address-families

Conversation

@ygao-g

Copy link
Copy Markdown
Collaborator

Part of #246.

Nothing outside a sandbox can see which address families the actor inside it
ended up with, and the two sandbox classes reach that state by different
routes: gVisor's runsc adopts the interior netns wholesale, while a micro-VM
guest has to be told over the kata-agent channel. The counter demo now serves
/netinfo, reporting its interfaces and the addresses on them, and
TestActorAddressFamilies compares that against the worker pod's own IPs.

The assertion is an equivalence rather than "expect IPv6", so it means
something on every cluster: on a dual-stack one it is the positive check, and
on the IPv4-only clusters CI runs today it asserts that an actor was not
given an address its pod cannot route. It runs on both sandbox classes through
E2E_SANDBOX_CLASS, so the merge-gating e2e-test job picks it up for both
without any workflow change. Link-local does not count as IPv6 — every link
has an fe80::, so counting it would make the check vacuous.

  • Tests pass
  • Appropriate changes to documentation are included in the PR

🤖 Generated with Claude Code

Nothing outside a sandbox can see which address families the actor inside
it ended up with, and the two sandbox classes reach that state by different
routes -- gVisor's runsc adopts the interior netns wholesale, while a
micro-VM guest has to be told over the kata-agent channel. The counter demo
now serves /netinfo, reporting its own interfaces and the addresses on them,
and TestActorAddressFamilies compares that against the worker pod's own IPs.

The assertion is an equivalence rather than "expect IPv6", so it means
something on every cluster: on a dual-stack one it is the positive check,
and on the IPv4-only clusters CI runs today it asserts that an actor was not
given an address its pod cannot route. Link-local does not count as IPv6 --
every link has an fe80::, so counting it would make the check vacuous.

Part of agent-substrate#246
@BenTheElder

Copy link
Copy Markdown
Collaborator

... are we assuming that these will ever mismatch? why? does it even matter if we're sending traffic through the tunnel?

@ygao-g
Yuan Gao (ygao-g) marked this pull request as draft September 1, 2026 15:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants