** 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

Reply via email to