canonical / cloud-init

Official upstream for the cloud-init: cloud instance initialization
https://cloud-init.io/
Other
3.01k stars 887 forks source link

fix: Add "manual" to allowed subnet types #5875

Open mathmarchand opened 2 weeks ago

mathmarchand commented 2 weeks ago

fix: Add "manual" to allowed subnet types

fix: Add "manual" to allowed subnet types

Adding "manual" to network-configv1 allowed subnet types as it is missing. Also added parameters for the testing all the options from that list.

Fixes GH-5769 

Test Steps

I can reproduce this with cloud-init 24.4~3+really24.3.1-0ubuntu4 with:

# cat v1.yaml 
network:
  version: 1
  config:
  - mac_address: 34:80:0d:2c:a4:99
    mtu: 1500
    name: enp129s0f1
    subnets:
    - type: manual
    type: physical
  - mac_address: 34:80:0d:2c:a4:9a
    mtu: 1500
    name: enp129s0f2
    subnets:
    - type: manual
    type: physical
  - mac_address: 34:80:0d:2c:a4:9b
    mtu: 1500
    name: enp129s0f3
    subnets:
    - type: manual
    type: physical

# cloud-init schema -t network-config -c ./v1.yaml
Invalid network-config ./v1.yaml
Error: Cloud config schema errors: network.config.0.subnets.0.type: 'manual' is not one of ['dhcp4', 'dhcp', 'dhcp6', 'static', 'static6', 'ipv6_dhcpv6-stateful', 'ipv6_dhcpv6-stateless', 'ipv6_slaac'], network.config.1.subnets.0.type: 'manual' is not one of ['dhcp4', 'dhcp', 'dhcp6', 'static', 'static6', 'ipv6_dhcpv6-stateful', 'ipv6_dhcpv6-stateless', 'ipv6_slaac'], network.config.2.subnets.0.type: 'manual' is not one of ['dhcp4', 'dhcp', 'dhcp6', 'static', 'static6', 'ipv6_dhcpv6-stateful', 'ipv6_dhcpv6-stateless', 'ipv6_slaac']

Error: Invalid schema: network-config

Merge type