** Description changed: + === Begin SRU Template === + [Impact] + Writing netplan configuration during cloud-init's local phase + does not work properly. This is because there is stale configuration + from the default installed files in a Ubuntu core image. + + The change to cloud-initn was to clean those up so that it could + invoke netplan apply. + + [Test Case] + Unit tests were added that excercise this code, full functional + test would run through ubuntu core. To do this on ubuntu cloud images + we will simulate. + + lxc-proposed-snapshot is + https://git.launchpad.net/~smoser/cloud-init/+git/sru-info/tree/bin/lxc-proposed-snapshot + It publishes an image to lxd with proposed enabled and cloud-init upgraded. + + $ release=xenial + $ ref=$release-proposed + $ lxc-proposed-snapshot --proposed --publish $release $ref + $ lxc init $ref $name + $ cat > 00-snapd-config.yaml <<"EOF" + # This is the initial network config. + # It can be overwritten by cloud-init or console-conf. + network: + version: 2 + ethernets: + all-en: + match: + name: "en*" + dhcp4: true + all-eth: + match: + name: "eth*" + dhcp4: true + EOF + $ echo 'system_info: {network: {renderers: ["netplan"]}}' | + lxc file push - $name/etc/cloud/cloud.cfg.d/99-renderers.cfg + + $ lxc file push 00-snapd-config.yaml $name/etc/netplan/00-snapd-config.yaml + $ lxc start $name + + $ sleep 10 + $ lxc exec $name ls /etc/netplan/00-snapd-config.yaml + ls: cannot access '/etc/netplan/00-snapd-config.yaml': No such file or directory + + $ grep removing /var/log/cloud-init.log + 2017-04-04 14:38:18,303 - netplan.py[DEBUG]: removing known config '/etc/netplan/00-snapd-config.yaml' and derived existing files: ['/run/systemd/network/10-netplan-all-en.network', '/run/systemd/network/10-netplan-all-eth.network', '/run/systemd/generator/netplan.stamp'] + lxc + + # you can see networkd set up the links with + $ lxc exec $name ip a + $ lxc exec $name systemctl status systemd-networkd --no-pager --full + + [Regression Potential] + This code could delete a users netplan config incorrectly. + That is protected against the config being *exactly* as shown above, + and also named exactly as above. + + === End SRU Template === + 1. Zesty 2. 0.7.9-68-gef18b8ac-0ubuntu1 3. cloud-init with network configuration rendering to netplan config has exclusive control over networkd configuration 4. On images with existing netplan configuration (UC16 has an /etc/netplan/00-snapd-config.yaml); netplan generator will parse and write out networkd config to /run/systemd/network/10-netplan-* These files may collide with network-configuration provided to cloud-init which has been configured to render netplan. cloud-init should employ a 'maybe-delete' like function in the eni renderer to a) remove /etc/netplan/00-snapd-config.yaml # this is the only known content at this time b) remove /run/systemd/network/10-netplan* # files generated from (a) c) remove /run/systemd/generator/netplan.stamp # prevents new invocations of netplan generate Once these are removed, cloud-init netplan renderer may write out netplan config, and invoke netplan generate successfully. raharper@localhost:~$ find /etc/netplan /run/systemd/network /etc/netplan /etc/netplan/00-snapd-config.yaml /run/systemd/network /run/systemd/network/10-netplan-all-en.network /run/systemd/network/10-netplan-all-eth.network raharper@localhost:~$ ls -al /run/systemd/generator/netplan.stamp -rw-r--r-- 1 root root 0 Mar 23 21:58 /run/systemd/generator/netplan.stamp
-- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/1675576 Title: cloud-init netplan renderer might need to delete baked in configuration To manage notifications about this bug go to: https://bugs.launchpad.net/cloud-init/+bug/1675576/+subscriptions -- ubuntu-bugs mailing list [email protected] https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs
