Skip to content

Make the tenant network a Pod's default network - #9

Merged
scotwells merged 1 commit into
mainfrom
feat/multus-default-network
Aug 25, 2026
Merged

Make the tenant network a Pod's default network#9
scotwells merged 1 commit into
mainfrom
feat/multus-default-network

Conversation

@scotwells

Copy link
Copy Markdown
Collaborator

An injected Pod carries its interfaces as Multus secondaries and keeps the cluster CNI as its default network.

On a cell where guests are microVMs that costs the instance its primary interface. The runtime daemon runs in the host network namespace with no access to /run/netns, so a default network plumbed into the Pod's namespace can never reach the guest — the guest ends up with one NIC on a tap that is connected to nothing, while the address the Pod advertises answers nobody.

Names the instance's first interface in v1.multus-cni.io/default-network, in the same <namespace>/<name> form as the networks annotation, so the Pod's default network is the one the tenant asked for.

Worth a look before merging

v1.multus-cni.io/default-network takes a single network, so this names the first interface rather than the whole list. Instances declaring more than one interface still get the rest as secondaries.

That first interface is now named in both annotations. Multus is expected to treat the default-network entry as the Pod's primary rather than attaching it twice, but this has not been confirmed against a live sandbox yet — worth verifying on a cell before this reaches one that matters.

This does not by itself get an interface into a microVM guest: kraftlet drops IPv6 secondary CIDRs and requires a subnet-len NAD annotation that nothing emits. Those are separate and still open.

🤖 Generated with Claude Code

An injected Pod carried its interfaces as Multus secondaries and kept the
cluster CNI as its default network. On a cell where guests are microVMs
that costs the instance its primary interface: the runtime reaches only
the host root namespace, so a default network plumbed into the Pod's
namespace can never reach the guest.

Name the instance's first interface in v1.multus-cni.io/default-network
alongside the existing networks annotation, so the Pod's default network
is the one the tenant asked for.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@scotwells
scotwells requested a review from a team as a code owner August 25, 2026 20:38
@scotwells
scotwells requested a review from ecv August 25, 2026 20:38
@scotwells
scotwells merged commit fa4519c into main Aug 25, 2026
7 checks passed
@scotwells
scotwells deleted the feat/multus-default-network branch August 25, 2026 20:42
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.

2 participants