What I'm suggesting right now is only a workaround:
When deploying the system in MAAS, set the MAC of the bond to something rather than using the default. You may pick a MAC address within the 52:54:*:*:*:* address space, or probably b2:31:91:*:*:* (which is what gets used if the MAC is completely unset in the netplan config).
I think there are various pieces competing here:
- MAAS is trying to be clever, suggests a default value which is the MAC of one of the physical interfaces as a default value.
- systemd allows matching on things other than MAC, driver, or name, but those are pretty much useless for our purposes (Type= is unset on physical ethernet devices, Path= is unset on VLANs/bonds)
- netplan could second-guess the user and attempt at matching more strictly by device type (but see above, impossible due to a limitation in systemd/udev); at least should warn that the matching isn't unique.
I've been compiling a better example to show the behavior.
What I'm suggesting right now is only a workaround:
When deploying the system in MAAS, set the MAC of the bond to something rather than using the default. You may pick a MAC address within the 52:54:*:*:*:* address space, or probably b2:31:91:*:*:* (which is what gets used if the MAC is completely unset in the netplan config).
I think there are various pieces competing here:
- MAAS is trying to be clever, suggests a default value which is the MAC of one of the physical interfaces as a default value.
- systemd allows matching on things other than MAC, driver, or name, but those are pretty much useless for our purposes (Type= is unset on physical ethernet devices, Path= is unset on VLANs/bonds)
- netplan could second-guess the user and attempt at matching more strictly by device type (but see above, impossible due to a limitation in systemd/udev); at least should warn that the matching isn't unique.
I've been compiling a better example to show the behavior.