← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1640556] Re: support network configuration for lxd 2.3

 

fixed in upstream commit 02f6c4bb8cef17b3fe04ef4dc1ef199e20aeb4d9


** Description changed:

+ === Begin SRU Template ===
+ [Impact] 
+ Support for lxd configuration of networking does not work with lxd 2.3+ as
+ the current path for configuration in cloud-init uses debconf but newer
+ lxd does not support configuration that way.
+ 
+ Prior to LXD 2.3, the bridge configuration was done through distro
+ packaging.  With 2.3 and higher, this is now done inside LXD itself, so we
+ need to use "lxc network" with 2.3 and higher.
+ 
+ All the old code has been thrown out so LXD 2.3 doesn't have any debconf
+ templates and doesn't manage the lxd bridge itself. LXD 2.3 packaging does
+ ship a script which will convert existing users in place, so folks
+ upgrading shouldn't actually notice anything except that
+ /etc/default/lxd-bridge will disappear and they'll need to use 
+   "lxc network edit lxdbr0"
+ to configure any extra thing.
+ 
+ [Test Case]
+  * Prepare an image with updated cloud-init from proposed.
+  * start instance with user-data like:
+    #cloud-config
+    lxd:
+      bridge:
+        mode: new
+        name: lxdbr1
+        ipv4_address: 10.5.0.1
+        ipv4_netmask: 24
+        ipv4_nat: true
+ 
+  * wait for system to boot, check that lxdbr1 is configured as expected.
+    # ip addr show dev lxdbr1
+    2: lxdbr1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state
+       UNKNOWN group default qlen 1000
+     link/ether 2e:f8:cc:5f:57:81 brd ff:ff:ff:ff:ff:ff
+     inet 10.5.0.1/24 scope global lxdbr1
+        valid_lft forever preferred_lft forever
+     inet6 fe80::2cf8:ccff:fe5f:5781/64 scope link 
+        valid_lft forever preferred_lft forever
+ 
+ [Regression Potential]
+ New codepath is taken based on prsence of /etc/default/lxd-bridge.
+ If that file was present and a newer version of lxd installed, then
+ we would take the wrong path.
+ 
+ [Other Info]
+ The upstream MP that this was added under can be seen at
+  https://code.launchpad.net/~stgraber/cloud-init/+git/cloud-init/+merge/307127
+ 
+ === End SRU Template ===
+ 
+ 
  Added to trunk at https://code.launchpad.net/~stgraber/cloud-init/+git/cloud-init/+merge/307127
  cloud-init in xenial should be able to configure an lxd 2.3 network also.

** Also affects: cloud-init
   Importance: Undecided
       Status: New

** Changed in: cloud-init
   Importance: Undecided => Medium

** Changed in: cloud-init
       Status: New => Fix Committed

** Changed in: cloud-init
     Assignee: (unassigned) => Stéphane Graber (stgraber)

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to cloud-init.
https://bugs.launchpad.net/bugs/1640556

Title:
  support network configuration for lxd 2.3

Status in cloud-init:
  Fix Committed
Status in cloud-init package in Ubuntu:
  Fix Released
Status in cloud-init source package in Xenial:
  Confirmed

Bug description:
  === Begin SRU Template ===
  [Impact] 
  Support for lxd configuration of networking does not work with lxd 2.3+ as
  the current path for configuration in cloud-init uses debconf but newer
  lxd does not support configuration that way.

  Prior to LXD 2.3, the bridge configuration was done through distro
  packaging.  With 2.3 and higher, this is now done inside LXD itself, so we
  need to use "lxc network" with 2.3 and higher.

  All the old code has been thrown out so LXD 2.3 doesn't have any debconf
  templates and doesn't manage the lxd bridge itself. LXD 2.3 packaging does
  ship a script which will convert existing users in place, so folks
  upgrading shouldn't actually notice anything except that
  /etc/default/lxd-bridge will disappear and they'll need to use 
    "lxc network edit lxdbr0"
  to configure any extra thing.

  [Test Case]
   * Prepare an image with updated cloud-init from proposed.
   * start instance with user-data like:
     #cloud-config
     lxd:
       bridge:
         mode: new
         name: lxdbr1
         ipv4_address: 10.5.0.1
         ipv4_netmask: 24
         ipv4_nat: true

   * wait for system to boot, check that lxdbr1 is configured as expected.
     # ip addr show dev lxdbr1
     2: lxdbr1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state
        UNKNOWN group default qlen 1000
      link/ether 2e:f8:cc:5f:57:81 brd ff:ff:ff:ff:ff:ff
      inet 10.5.0.1/24 scope global lxdbr1
         valid_lft forever preferred_lft forever
      inet6 fe80::2cf8:ccff:fe5f:5781/64 scope link 
         valid_lft forever preferred_lft forever

  [Regression Potential]
  New codepath is taken based on prsence of /etc/default/lxd-bridge.
  If that file was present and a newer version of lxd installed, then
  we would take the wrong path.

  [Other Info]
  The upstream MP that this was added under can be seen at
   https://code.launchpad.net/~stgraber/cloud-init/+git/cloud-init/+merge/307127

  === End SRU Template ===


  Added to trunk at https://code.launchpad.net/~stgraber/cloud-init/+git/cloud-init/+merge/307127
  cloud-init in xenial should be able to configure an lxd 2.3 network also.

To manage notifications about this bug go to:
https://bugs.launchpad.net/cloud-init/+bug/1640556/+subscriptions