It looks like there is a regression with new netplan 0.107 version under 22.04. Now juju can not start lxd containers due to following error:
2024-10-12 09:10:24 ERROR juju.worker.lxdprovisioner provisioner_task.go:1304 cannot start instance for machine "7/lxd/3": failed to bridge devices: bridge activation error: yaml: unmarshal errors:
line 10: cannot unmarshal !!str 0 into int
line 12: cannot unmarshal !!str 100 into int
line 15: cannot unmarshal !!str 0 into int
line 32: cannot unmarshal !!str 0 into int
line 34: cannot unmarshal !!str 100 into int
line 37: cannot unmarshal !!str 0 into int
line 53: cannot unmarshal !!str 15 into int
line 112: field openvswitch not found in type netplan.VLAN
line 126: field openvswitch not found in type netplan.VLAN
line 140: field openvswitch not found in type netplan.VLAN
line 154: field openvswitch not found in type netplan.VLAN
line 161: field openvswitch not found in type netplan.VLAN
line 168: field openvswitch not found in type netplan.VLAN
The generated netplan is following:
https://pastebin.canonical.com/p/ZfGfCvRx5d/
It looks like new netplan renders network config configuration received from maas cloud-init differently then previous version.
To allow lxc container creation following changes had to be done to the netplan file:
- Change string values to int values:
mii-monitor-interval: "100" -> 100
up-delay: "0" -> 0
down-delay: "0" -> 0
- Comment out openvswitch: {} from the vlan definition:
br-data.3219:
addresses:
- "X.X.X.X/22"
mtu: 9000
id: 3219
link: "br-data"
# openvswitch: {}
Are you aware about any changes introduced in netplan 0.107 which uses string instead of int in bond parameter values and adding openvswitch: {} under vlan section?