[Touch-packages] [Bug 1579130] Re: need to support systemd.link renaming of devices in container

2016-05-26 Thread Scott Moser
** Description changed:

  We're interested in supporting network configuration of lxc containers
  via maas/cloud-init yaml format.
  
  The end goal is to do:
  $ lxc init xenial x1
  $ ncpath=/var/lib/cloud/seed/nocloud-net/network-config
  $ sudo tee /var/lib/lxd/containers/x1/rootfs/$ncpath < 
into 'eth0').
+  b.) systemd.link does not rename devices that have been renamed previously, 
and all lxd instance devices are renamed (from the kernel returned veth 
into 'eth0').
   That is implemented by check of 
/sys/devices/virtual/net/eth0/name_assign_type . Value of 4 means renamed.
  
   c.) systemd.link will not attempt to rename a device that does not have a 
driver.
     To see that run: udevadm test-builtin net_setup_link /sys/class/net/eth0
     http://paste.ubuntu.com/16261974/
  
  To force these systemd.link files to run in spite of 'b' on kvm guests
  or bare metal, we have found that unbind and rebind of the device will
  clear the state and rename would occur.  that can be done as shown in
  https://bugs.launchpad.net/ubuntu/+source/cloud-
  init/+bug/1577844/comments/3 but since there is no 'driver' we cannot
  unbind and rebind veth devices.
  
  Ultimately, we want to allow cloud-init to configure the system once and
  then let renaming on reboots not require involvement of cloud-init.  And
  at the moment the ideal way to affect that would be through systemd.link
  files such as /etc/systemd/network/50-cloud-init-foo2.link.
  
  ProblemType: Bug
  DistroRelease: Ubuntu 16.04
  Package: udev 229-4ubuntu4
  ProcVersionSignature: Ubuntu 4.4.0-21.37-generic 4.4.6
  Uname: Linux 4.4.0-21-generic x86_64
  ApportVersion: 2.20.1-0ubuntu2
  Architecture: amd64
  Date: Fri May  6 15:42:52 2016
  MachineType: LENOVO 33672B7
  ProcEnviron:
   TERM=xterm-256color
   PATH=(custom, no user)
  ProcKernelCmdLine: BOOT_IMAGE=/boot/vmlinuz-4.4.0-21-generic.efi.signed 
root=UUID=19ac97d5-6973-4193-9a09-2e6bbfa38262 ro quiet splash vt.handoff=7
  SourcePackage: systemd
  UpgradeStatus: No upgrade log present (probably fresh install)
  dmi.bios.date: 12/18/2013
  dmi.bios.vendor: LENOVO
  dmi.bios.version: G8ET96WW (2.56 )
  dmi.board.asset.tag: Not Available
  dmi.board.name: 33672B7
  dmi.board.vendor: LENOVO
  dmi.board.version: Not Defined
  dmi.chassis.asset.tag: No Asset Information
  dmi.chassis.type: 10
  dmi.chassis.vendor: LENOVO
  dmi.chassis.version: Not Available
  dmi.modalias: 
dmi:bvnLENOVO:bvrG8ET96WW(2.56):bd12/18/2013:svnLENOVO:pn33672B7:pvrThinkPadX131e:rvnLENOVO:rn33672B7:rvrNotDefined:cvnLENOVO:ct10:cvrNotAvailable:
  dmi.product.name: 33672B7
  dmi.product.version: ThinkPad X131e
  dmi.sys.vendor: LENOVO

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to systemd in Ubuntu.
https://bugs.launchpad.net/bugs/1579130

Title:
  need to support systemd.link renaming of devices in container

Status in cloud-init package in Ubuntu:
  Confirmed
Status in systemd package in Ubuntu:
  Triaged

Bug description:
  We're interested in supporting network configuration of lxc containers
  via maas/cloud-init yaml format.

  The end goal is to do:
  $ lxc init xenial x1
  $ ncpath=/var/lib/cloud/seed/nocloud-net/network-config
  $ sudo tee /var/lib/lxd/containers/x1/rootfs/$ncpath < 
into 'eth0').
   That is implemented by check of 
/sys/devices/virtual/net/eth0/name_assign_type . Value of 4 means renamed.

   c.) systemd.link will not attempt to rename a device that does not have a 
driver.
     To see that run: udevadm test-builtin net_setup_link /sys/class/net/eth0
     http://paste.ubuntu.com/16261974/

  To force these systemd.link files to run in spite of 'b' on kvm guests
  or bare metal, we have found that unbind and rebind of the device will
  clear the state and rename would occur.  that can be done as shown in
  https://bugs.launchpad.net/ubuntu/+source/cloud-
  init/+bug/1577844/comments/3 but since there is no 'driver' we cannot
  unbind and rebind veth devices.

  Ultimately, we want to allow cloud-init to configure the system once
  and then let renaming on reboots not require involvement of cloud-
  init.  And at the moment the ideal way to affect that would be through
  systemd.link files such as /etc/systemd/network/50-cloud-init-
  foo2.link.

  ProblemType: Bug
  DistroRelease: Ubuntu 16.04
  Package: udev 229-4ubuntu4
  ProcVersionSignature: Ubuntu 4.4.0-21.37-generic 4.4.6
  Uname: Linux 4.4.0-21-generic x86_64
  ApportVersion: 2.20.1-0ubuntu2
  Architecture: amd64
  Date: Fri May  6 15:42:52 2016
  MachineType: LENOVO 33672B7
  ProcEnviron:
   TERM=xterm-256color
   PATH=(custom, no user)
  ProcKernelCmdLine: BOOT_IMAGE=/boot/vmlinuz-4.4.0-21-generic.efi.signed 
root=UUID=19ac97d5-6973-4193-9a09-2e6bbfa38262 ro quiet splash vt.handoff=7
  SourcePackage: systemd
  UpgradeStatus: No upgrade log present (probably fresh install)
  dmi.bios.date: 12/18/2013
  dmi.bios.vendor: LENOVO
  dmi.bios.version: G8ET96WW (2.56 

[Touch-packages] [Bug 1579130] Re: need to support systemd.link renaming of devices in container

2016-05-06 Thread Martin Pitt
** Changed in: systemd (Ubuntu)
   Status: New => Triaged

** Changed in: systemd (Ubuntu)
 Assignee: (unassigned) => Martin Pitt (pitti)

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to systemd in Ubuntu.
https://bugs.launchpad.net/bugs/1579130

Title:
  need to support systemd.link renaming of devices in container

Status in cloud-init package in Ubuntu:
  Confirmed
Status in systemd package in Ubuntu:
  Triaged

Bug description:
  We're interested in supporting network configuration of lxc containers
  via maas/cloud-init yaml format.

  The end goal is to do:
  $ lxc init xenial x1
  $ ncpath=/var/lib/cloud/seed/nocloud-net/network-config
  $ sudo tee /var/lib/lxd/containers/x1/rootfs/$ncpath < 
into 'eth0').
   That is implemented by check of 
/sys/devices/virtual/net/eth0/name_assign_type . Value of 4 means renamed.

   c.) systemd.link will not attempt to rename a device that does not have a 
driver.
     To see that run: udevadm test-builtin net_setup_link /sys/class/net/eth0
     http://paste.ubuntu.com/16261974/

  To force these systemd.link files to run in spite of 'b' on kvm guests
  or bare metal, we have found that unbind and rebind of the device will
  clear the state and rename would occur.  that can be done as shown in
  https://bugs.launchpad.net/ubuntu/+source/cloud-
  init/+bug/1577844/comments/3 but since there is no 'driver' we cannot
  unbind and rebind veth devices.

  Ultimately, we want to allow cloud-init to configure the system once
  and then let renaming on reboots not require involvement of cloud-
  init.  And at the moment the ideal way to affect that would be through
  systemd.link files such as /etc/systemd/network/50-cloud-init-
  foo2.link.

  ProblemType: Bug
  DistroRelease: Ubuntu 16.04
  Package: udev 229-4ubuntu4
  ProcVersionSignature: Ubuntu 4.4.0-21.37-generic 4.4.6
  Uname: Linux 4.4.0-21-generic x86_64
  ApportVersion: 2.20.1-0ubuntu2
  Architecture: amd64
  Date: Fri May  6 15:42:52 2016
  MachineType: LENOVO 33672B7
  ProcEnviron:
   TERM=xterm-256color
   PATH=(custom, no user)
  ProcKernelCmdLine: BOOT_IMAGE=/boot/vmlinuz-4.4.0-21-generic.efi.signed 
root=UUID=19ac97d5-6973-4193-9a09-2e6bbfa38262 ro quiet splash vt.handoff=7
  SourcePackage: systemd
  UpgradeStatus: No upgrade log present (probably fresh install)
  dmi.bios.date: 12/18/2013
  dmi.bios.vendor: LENOVO
  dmi.bios.version: G8ET96WW (2.56 )
  dmi.board.asset.tag: Not Available
  dmi.board.name: 33672B7
  dmi.board.vendor: LENOVO
  dmi.board.version: Not Defined
  dmi.chassis.asset.tag: No Asset Information
  dmi.chassis.type: 10
  dmi.chassis.vendor: LENOVO
  dmi.chassis.version: Not Available
  dmi.modalias: 
dmi:bvnLENOVO:bvrG8ET96WW(2.56):bd12/18/2013:svnLENOVO:pn33672B7:pvrThinkPadX131e:rvnLENOVO:rn33672B7:rvrNotDefined:cvnLENOVO:ct10:cvrNotAvailable:
  dmi.product.name: 33672B7
  dmi.product.version: ThinkPad X131e
  dmi.sys.vendor: LENOVO

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

-- 
Mailing list: https://launchpad.net/~touch-packages
Post to : touch-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~touch-packages
More help   : https://help.launchpad.net/ListHelp


[Touch-packages] [Bug 1579130] Re: need to support systemd.link renaming of devices in container

2016-05-06 Thread Scott Moser
** Description changed:

  We're interested in supporting network configuration of lxc containers
  via maas/cloud-init yaml format.
  
  The end goal is to do:
  $ lxc init xenial x1
  # enter into container and modify 
/var/lib/cloud/seed/nocloud-net/network-config
  # to have something like:
  
  % cat /var/lib/cloud/seed/nocloud-net/network-config
  version: 1
  config:
-   - type: physical
- mac_address: "00:16:3e:3b:01:7a"
- name: foo2
- subnets:
-   - type: dhcp
- control: auto
+   - type: physical
+ mac_address: "00:16:3e:3b:01:7a"
+ name: foo2
+ subnets:
+   - type: dhcp
+ control: auto
  
  $ lxc start x1
  $ lxc exec x1 /bin/bash
  
  From inside we expect to have a device named 'foo2' at this point that
  has dhcp'd.
+ 
+ We've run into a number of issues with this.
+  a.) we don't get coldplug events for devices in a container, so writing 
systemd.link (or 70-persistent-net.rules style udev rules files) wont "just 
work" to apply the name changes.
+  
+  b.) systemd.link does rename devices that have been renamed previously, and 
all lxd instance devices are renamed (from the kernel returned veth 
into 'eth0').
+  That is implemented by check of 
/sys/devices/virtual/net/eth0/name_assign_type . Value of 4 means renamed.
+ 
+  c.) systemd.link will not attempt to rename a device that does not have a 
driver.
+To see that run: udevadm test-builtin net_setup_link /sys/class/net/eth0
+http://paste.ubuntu.com/16261974/
+ 
+ To force these systemd.link files to run in spite of 'b' on kvm guests
+ or bare metal, we have found that unbind and rebind of the device will
+ clear the state and rename would occur.  that can be done as shown in
+ https://bugs.launchpad.net/ubuntu/+source/cloud-
+ init/+bug/1577844/comments/3 but since there is no 'driver' we cannot
+ unbind and rebind veth devices.
+ 
+ Ultimately, we want to allow cloud-init to configure the system once and
+ then let renaming on reboots not require involvement of cloud-init.  And
+ at the moment the ideal way to affect that would be through systemd.link
+ files such as /etc/systemd/network/50-cloud-init-foo2.link.
+ 
  
  ProblemType: Bug
  DistroRelease: Ubuntu 16.04
  Package: udev 229-4ubuntu4
  ProcVersionSignature: Ubuntu 4.4.0-21.37-generic 4.4.6
  Uname: Linux 4.4.0-21-generic x86_64
  ApportVersion: 2.20.1-0ubuntu2
  Architecture: amd64
  Date: Fri May  6 15:42:52 2016
  MachineType: LENOVO 33672B7
  ProcEnviron:
-  TERM=xterm-256color
-  PATH=(custom, no user)
+  TERM=xterm-256color
+  PATH=(custom, no user)
  ProcKernelCmdLine: BOOT_IMAGE=/boot/vmlinuz-4.4.0-21-generic.efi.signed 
root=UUID=19ac97d5-6973-4193-9a09-2e6bbfa38262 ro quiet splash vt.handoff=7
  SourcePackage: systemd
  UpgradeStatus: No upgrade log present (probably fresh install)
  dmi.bios.date: 12/18/2013
  dmi.bios.vendor: LENOVO
  dmi.bios.version: G8ET96WW (2.56 )
  dmi.board.asset.tag: Not Available
  dmi.board.name: 33672B7
  dmi.board.vendor: LENOVO
  dmi.board.version: Not Defined
  dmi.chassis.asset.tag: No Asset Information
  dmi.chassis.type: 10
  dmi.chassis.vendor: LENOVO
  dmi.chassis.version: Not Available
  dmi.modalias: 
dmi:bvnLENOVO:bvrG8ET96WW(2.56):bd12/18/2013:svnLENOVO:pn33672B7:pvrThinkPadX131e:rvnLENOVO:rn33672B7:rvrNotDefined:cvnLENOVO:ct10:cvrNotAvailable:
  dmi.product.name: 33672B7
  dmi.product.version: ThinkPad X131e
  dmi.sys.vendor: LENOVO

** Also affects: cloud-init (Ubuntu)
   Importance: Undecided
   Status: New

** Changed in: cloud-init (Ubuntu)
   Status: New => Confirmed

** Changed in: cloud-init (Ubuntu)
   Importance: Undecided => High

** Description changed:

  We're interested in supporting network configuration of lxc containers
  via maas/cloud-init yaml format.
  
  The end goal is to do:
  $ lxc init xenial x1
  # enter into container and modify 
/var/lib/cloud/seed/nocloud-net/network-config
  # to have something like:
  
- % cat /var/lib/cloud/seed/nocloud-net/network-config
+ $ ncpath=/var/lib/cloud/seed/nocloud-net/network-config
+ $ sudo tee /var/lib/lxd/containers/x1/rootfs/$ncpath < 
into 'eth0').
-  That is implemented by check of 
/sys/devices/virtual/net/eth0/name_assign_type . Value of 4 means renamed.
+  a.) we don't get coldplug events for devices in a container, so writing 
systemd.link (or 70-persistent-net.rules style udev rules files) wont "just 
work" to apply the name changes.
  
-  c.) systemd.link will not attempt to rename a device that does not have a 
driver.
-To see that run: udevadm test-builtin net_setup_link /sys/class/net/eth0
-http://paste.ubuntu.com/16261974/
+  b.) systemd.link does rename devices that have been renamed previously, and 
all lxd instance devices are renamed (from the kernel returned veth 
into 'eth0').
+  That is implemented by check of 
/sys/devices/virtual/net/eth0/name_assign_type . Value of 4 means renamed.
+ 
+  c.) systemd.link will not attempt to rename a device that does not have a