Skip to content

bug(chart): multi-doc renderer emits network docs only for the gateway-bearing link #142

@lexfrei

Description

@lexfrei

What

On the Talos v1.12 multi-doc path, both charts/generic/templates/_helpers.tpl:talos.config.network.multidoc and the equivalent in charts/cozystack/templates/_helpers.tpl resolve a single link via talm.discovered.default_link_name_by_gateway and emit network documents (LinkConfig / BondConfig / VLANConfig / Layer2VIPConfig) only for that one link.

Every other physical NIC, bond, VLAN, or bridge present on the node is ignored by the renderer.

Why this is a bug

Multi-NIC nodes are an expected shape; #125 tracks the discovery side ("discover secondary network links alongside primary gateway link"). The discovery helpers added in #127 (physical_link_names, configurable_link_names, addresses_by_link, gateway_by_link, routes_by_link) exist specifically to enumerate the full link inventory, but the multi-doc renderer does not consume them — it still resolves a single link and stops.

Result: on a node with one routed NIC plus a storage NIC, the rendered config configures the routed NIC and silently leaves the storage NIC unconfigured. Same for any non-default-route VLAN, additional bond, or bridge.

Affected versions

Coverage gap since the multi-doc path was introduced in #116 (v0.24.0).

Suggested direction

Iterate configurable_link_names and emit the appropriate document per link kind, populating addresses and routes via the by-link helpers from #127. The single-gateway-link logic becomes a special case (the link that carries the default route also gets the gateway route appended).

Related to #125, but distinct: that issue tracks discovery; this one tracks the chart-side rendering. Even with full discovery available today, the renderer picks one link.

Metadata

Metadata

Assignees

No one assigned

    Labels

    area/chartIssues or PRs related to charts/ (Chart.yaml, helpers, templates)area/networkingIssues or PRs related to networking (interfaces, VIP, routes)kind/bugCategorizes issue or PR as related to a bugpriority/important-soonMust be staffed and worked on either currently, or very soon, ideally in time for the next releasetriage/acceptedIndicates an issue is ready to be actively worked on

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions