mirror of
https://git.launchpad.net/livecd-rootfs
synced 2025-02-23 11:21:12 +00:00
cloud-init: prefer netplan to handle all network manager config
Cloud-init cannot write directly to /etc/NetworkManager/system-connections because subiquity may need to emit config to /etc/netplan/00-installer.yaml and call netplan apply for autoinstall.network use-cases. When cloud-init's config is written directly to /etc/NetworkManager, neither netplan nor subiquity has knowledge of this config and this results in namespace collisions in NetworkManager due to `netplan-` named connections and `cloud-init` connection ids fighting over which config own a given interface name. Deleting this config overlay allows subiquity to manage all network setup when it needs to with netplan directly. Subiquity already has logic to rename any unwanted netplan configuration when it intends to write cfg and run netplan apply[1]. This should allow subiquity full control of network config when needed. [1] https://github.com/canonical/subiquity/blob/ 92ac6544cdfedfd332d8cd94dbcfad0aab994575/subiquitycore/ controllers/network.py#L267 LP: #2015605
This commit is contained in:
parent
fce09c0e05
commit
9a82720f1c
@ -1008,17 +1008,18 @@ network:
|
||||
version: 2
|
||||
renderer: NetworkManager
|
||||
EOF
|
||||
# Do not limit cloud-init renderers to network-manager as suggested
|
||||
# in LP: #1982855 because subiquity needs to render full networking
|
||||
# in ephemeral boot time when autoinstall.network is provided.
|
||||
# Neither subiquity nor netplan is aware of /etc/NetworkManager config
|
||||
# artifacts emmitted by cloud-init. It's best if cloud-init reports
|
||||
# network config directly to /etc/netplan with the configured netplan
|
||||
# backend: NetworkManager per 01-network-manager-all.yaml above.
|
||||
|
||||
# inform cloud-init of the same (LP: #1982855)
|
||||
mkdir -p chroot/etc/cloud/cloud.cfg.d
|
||||
cat <<EOF > chroot/etc/cloud/cloud.cfg.d/99-installer-use-networkmanager.cfg
|
||||
${AUTOMATION_HEADER}
|
||||
# Let NetworkManager manage all devices on this system
|
||||
system_info:
|
||||
network:
|
||||
renderers: ['network-manager']
|
||||
activators: ['network-manager']
|
||||
EOF
|
||||
# cloud-init's default renderer discovery will prefer netplan.
|
||||
# Any time subiquity needs to write and apply network config
|
||||
# it disables all previous network config in /etc/netplan so
|
||||
# any previous 50-cloud-init.yaml will be rendered inert.
|
||||
|
||||
# Position cloud-init.service After=NetworkManager.service.
|
||||
# (LP: #2008952).
|
||||
|
Loading…
x
Reference in New Issue
Block a user