Skip to content

talm template --talos-version v1.12 does not discover VLAN interfaces from running node #143

@IvanHunters

Description

@IvanHunters

Description

When running talm template against a node that has a VLAN interface configured (e.g., enp0s31f6.4000 via machine.network.interfaces[].vlans), the generated v1.12 multidoc config only includes a LinkConfig for the physical parent interface. The VLAN interface is silently omitted.

As a result:

  • The VLAN private IP is missing from the generated config
  • Layer2VIPConfig is generated with link: enp0s31f6 (physical/public) instead of link: enp0s31f6.4000 (VLAN) — placing the VIP on the wrong interface

Steps to Reproduce

  1. Bootstrap a node with a VLAN configured via legacy machine config:
    machine:
      network:
        interfaces:
          - interface: enp0s31f6
            vlans:
              - vlanId: 4000
                addresses:
                  - 192.168.100.2/24
                vip:
                  ip: 192.168.100.10
  2. Set talosVersion: "v1.12" in Chart.yaml
  3. Run talm template -t templates/controlplane.yaml -n <node-ip> -e <node-ip>

Observed Output

---
apiVersion: v1alpha1
kind: LinkConfig
name: enp0s31f6
addresses:
  - address: 88.99.249.47/26
routes:
  - gateway: 88.99.249.1
---
apiVersion: v1alpha1
kind: Layer2VIPConfig
name: "192.168.100.10"
link: enp0s31f6       # wrong: should be enp0s31f6.4000

The VLAN interface (enp0s31f6.4000, 192.168.100.2/24) is completely absent.

Expected Behavior

The template should also generate VLAN configuration, either as a separate VLAN document (if such a kind exists in v1.12) or at minimum annotate the discovered interfaces comment to include VLANs, so the user knows they need to add it manually. Layer2VIPConfig should reference enp0s31f6.4000 when the VIP is configured on a VLAN interface.

Workaround

Manually add VLAN config via legacy format in the first document and fix the VIP link:

machine:
  network:
    interfaces:
      - interface: enp0s31f6
        vlans:
          - vlanId: 4000
            addresses:
              - 192.168.100.2/24
---
apiVersion: v1alpha1
kind: Layer2VIPConfig
name: "192.168.100.10"
link: enp0s31f6.4000

Environment

  • talm: dev (post v0.25.0)
  • Talos: v1.12.6
  • VLAN ID: 4000, parent interface: enp0s31f6

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
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions