[capm3] IPA provisoning interface is disabled if using a VLAN

Summary

When the provisioning interface is declared with a vlan, it is not activated in the pre-provisioning config.

As a result:

  • provisioning interface is probably not usable (not tested)
  • declaring a route on provisioning interface is impossible (see #2205 (closed))

Steps to reproduce

values.yaml

[...]
cluster:
  control_plane:
    capm3:
      provisioning_pool_interface: bond0.24
      primary_pool_interface: bond0.13
    network_interfaces:
      bond0:
        type: bond
        interfaces:
          - nic1
          - nic2
        vlans:
          - id: 13
          - id: 24
[...]

Resulting pre-provisioning network data:

interfaces:
  - name: bond0
    type: bond
    state: up
    mtu: 1500
    link-aggregation:
      mode: 802.3ad
      port:
      - nic1
      - nic2
  - name: bond0.13
    type: vlan
    state: up
    vlan:
      base-iface: bond0
      id: 13
      protocol: 802.1q
    ipv4:                       <= enabled, dhcp and auto-dns not configured here
      address:
        - ip: 192.168.130.105
          prefix-length: 24
  - name: bond0.24
    type: vlan
    state: up
    vlan:
      base-iface: bond0
      id: 24
      protocol: 802.1q
    ipv4:
      address:
        - ip: 192.168.133.105
          prefix-length: 24
      enabled: true
      dhcp: false
      auto-dns: false
[...]

What is the current bug behavior?

In previous example, bond0.13 and bond0.24 interface have different configuration. Especially provisioning interface on bond0.13 do not have .ipv4.address.-.enabled set.

What is the expected correct behavior?

In previous example, provisioning interface should have been configured as primary one

  - name: bond0.13
    type: vlan
    state: up
    vlan:
      base-iface: bond0
      id: 13
      protocol: 802.1q
    ipv4:
      address:
        - ip: 192.168.130.105
          prefix-length: 24
      enabled: true
      dhcp: false
      auto-dns: false
Edited by Médéric de Verdilhac