2016-05-06 15:59:45 |
Scott Moser |
bug |
|
|
added bug |
2016-05-06 16:10:00 |
Scott Moser |
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
# 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
$ 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.
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 |
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
$ 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<random> 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 |
|
2016-05-06 16:10:42 |
Scott Moser |
bug task added |
|
cloud-init (Ubuntu) |
|
2016-05-06 16:10:52 |
Scott Moser |
cloud-init (Ubuntu): status |
New |
Confirmed |
|
2016-05-06 16:10:54 |
Scott Moser |
cloud-init (Ubuntu): importance |
Undecided |
High |
|
2016-05-06 16:14:39 |
Scott Moser |
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
# 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
$ 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<random> 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 |
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:
$ ncpath=/var/lib/cloud/seed/nocloud-net/network-config
$ sudo tee /var/lib/lxd/containers/x1/rootfs/$ncpath <<EOF
version: 1
config:
- type: physical
mac_address: "00:16:3e:3b:01:7a"
name: foo2
subnets:
- type: dhcp
control: auto
EOF
$ 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<random> 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 |
|
2016-05-06 16:14:55 |
Scott Moser |
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
# enter into container and modify /var/lib/cloud/seed/nocloud-net/network-config
# to have something like:
$ ncpath=/var/lib/cloud/seed/nocloud-net/network-config
$ sudo tee /var/lib/lxd/containers/x1/rootfs/$ncpath <<EOF
version: 1
config:
- type: physical
mac_address: "00:16:3e:3b:01:7a"
name: foo2
subnets:
- type: dhcp
control: auto
EOF
$ 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<random> 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 |
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 <<EOF
version: 1
config:
- type: physical
mac_address: "00:16:3e:3b:01:7a"
name: foo2
subnets:
- type: dhcp
control: auto
EOF
$ 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<random> 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 |
|
2016-05-07 01:26:19 |
Martin Pitt |
systemd (Ubuntu): status |
New |
Triaged |
|
2016-05-07 01:26:23 |
Martin Pitt |
systemd (Ubuntu): assignee |
|
Martin Pitt (pitti) |
|
2016-05-27 02:19:45 |
Scott Moser |
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 <<EOF
version: 1
config:
- type: physical
mac_address: "00:16:3e:3b:01:7a"
name: foo2
subnets:
- type: dhcp
control: auto
EOF
$ 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<random> 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 |
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 <<EOF
version: 1
config:
- type: physical
mac_address: "00:16:3e:3b:01:7a"
name: foo2
subnets:
- type: dhcp
control: auto
EOF
$ 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 not rename devices that have been renamed previously, and all lxd instance devices are renamed (from the kernel returned veth<random> 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 |
|
2016-05-27 13:07:17 |
Scott Moser |
summary |
need to support systemd.link renaming of devices in container |
need to support renaming of devices in container and on first boot |
|
2016-05-27 13:14:41 |
Scott Moser |
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 <<EOF
version: 1
config:
- type: physical
mac_address: "00:16:3e:3b:01:7a"
name: foo2
subnets:
- type: dhcp
control: auto
EOF
$ 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 not rename devices that have been renamed previously, and all lxd instance devices are renamed (from the kernel returned veth<random> 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 |
We're interested in supporting network configuration of cloud instances including lxc containers via maas/cloud-init yaml format.
For Containers, 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 <<EOF
version: 1
config:
- type: physical
mac_address: "00:16:3e:3b:01:7a"
name: foo2
subnets:
- type: dhcp
control: auto
EOF
$ 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.
Currently cloud-init is writing files named:
/etc/systemd/network/50-cloud-init-eth0.link
and expecting systemd.link(5) to rename them.
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 not rename devices that have been renamed previously, and all lxd instance devices are renamed (from the kernel returned veth<random> 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/
d.) on first boot of a cloud instance, the systemd.link files in the initramfs are either pristine or from the previous instance. The devices will leave the initramfs either named incorrectly or named with standard persistent naming and will have already been renamed.
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.
To do this right, we need to support:
1.) renaming on first boot with initramfs and with 'stale' initramfs
2.) renaming in lxc containers
3.) user updating whatever files or mechanism is used post first boot. For example, if the user wrote a 25-my-rules.link after first boot, a reboot should prefer their provided names to whatever were originally there.
4.) if cloud-init networking is disabled, the renaming should not occur.
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 |
|
2016-06-01 06:05:34 |
Alberto Salvia Novella |
systemd (Ubuntu): importance |
Undecided |
High |
|
2016-06-01 06:05:45 |
Alberto Salvia Novella |
systemd (Ubuntu): importance |
High |
Wishlist |
|
2016-06-01 06:06:34 |
Alberto Salvia Novella |
bug |
|
|
added subscriber Martin Pitt |
2016-06-03 20:22:35 |
Launchpad Janitor |
branch linked |
|
lp:cloud-init |
|
2016-06-05 02:01:23 |
Launchpad Janitor |
cloud-init (Ubuntu): status |
Confirmed |
Fix Released |
|
2016-06-06 13:33:11 |
Launchpad Janitor |
branch linked |
|
lp:~smoser/ubuntu/yakkety/cloud-init/pkg |
|
2016-06-20 19:25:17 |
Scott Moser |
description |
We're interested in supporting network configuration of cloud instances including lxc containers via maas/cloud-init yaml format.
For Containers, 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 <<EOF
version: 1
config:
- type: physical
mac_address: "00:16:3e:3b:01:7a"
name: foo2
subnets:
- type: dhcp
control: auto
EOF
$ 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.
Currently cloud-init is writing files named:
/etc/systemd/network/50-cloud-init-eth0.link
and expecting systemd.link(5) to rename them.
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 not rename devices that have been renamed previously, and all lxd instance devices are renamed (from the kernel returned veth<random> 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/
d.) on first boot of a cloud instance, the systemd.link files in the initramfs are either pristine or from the previous instance. The devices will leave the initramfs either named incorrectly or named with standard persistent naming and will have already been renamed.
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.
To do this right, we need to support:
1.) renaming on first boot with initramfs and with 'stale' initramfs
2.) renaming in lxc containers
3.) user updating whatever files or mechanism is used post first boot. For example, if the user wrote a 25-my-rules.link after first boot, a reboot should prefer their provided names to whatever were originally there.
4.) if cloud-init networking is disabled, the renaming should not occur.
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 |
We're interested in supporting network configuration of cloud instances including lxc containers via maas/cloud-init yaml format.
For Containers, 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 <<EOF
version: 1
config:
- type: physical
mac_address: "00:16:3e:3b:01:7a"
name: foo2
subnets:
- type: dhcp
control: auto
EOF
$ 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.
Currently cloud-init is writing files named:
/etc/systemd/network/50-cloud-init-eth0.link
and expecting systemd.link(5) to rename them.
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 not rename devices that have been renamed previously, and all lxd instance devices are renamed (from the kernel returned veth<random> 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/
d.) on first boot of a cloud instance, the systemd.link files in the initramfs are either pristine or from the previous instance. The devices will leave the initramfs either named incorrectly or named with standard persistent naming and will have already been renamed.
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.
To do this right, we need to support:
1.) renaming on first boot with initramfs and with 'stale' initramfs
2.) renaming in lxc containers
3.) user updating whatever files or mechanism is used post first boot. For example, if the user wrote a 25-my-rules.link after first boot, a reboot should prefer their provided names to whatever were originally there.
4.) if cloud-init networking is disabled, the renaming should not occur.
Related Bugs:
* bug 1594546: no need to write systemd.link files
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 |
|
2016-06-22 20:09:16 |
Launchpad Janitor |
branch linked |
|
lp:~smoser/ubuntu/xenial/cloud-init/pkg |
|
2016-06-23 18:58:33 |
Scott Moser |
nominated for series |
|
Ubuntu Xenial |
|
2016-06-23 18:58:33 |
Scott Moser |
bug task added |
|
cloud-init (Ubuntu Xenial) |
|
2016-06-23 18:58:33 |
Scott Moser |
bug task added |
|
systemd (Ubuntu Xenial) |
|
2016-06-23 18:58:55 |
Scott Moser |
cloud-init (Ubuntu Xenial): importance |
Undecided |
High |
|
2016-06-23 18:58:55 |
Scott Moser |
cloud-init (Ubuntu Xenial): status |
New |
In Progress |
|
2016-06-23 18:59:04 |
Scott Moser |
bug task deleted |
systemd (Ubuntu Xenial) |
|
|
2016-06-23 18:59:44 |
Scott Moser |
cloud-init (Ubuntu): assignee |
|
Scott Moser (smoser) |
|
2016-06-23 18:59:46 |
Scott Moser |
cloud-init (Ubuntu Xenial): assignee |
|
Scott Moser (smoser) |
|
2016-07-11 15:57:51 |
Scott Moser |
cloud-init (Ubuntu Xenial): status |
In Progress |
Fix Released |
|
2016-11-28 11:04:12 |
Martin Pitt |
systemd (Ubuntu): assignee |
Martin Pitt (pitti) |
|
|
2021-06-30 19:43:11 |
Dan Streetman |
systemd (Ubuntu): status |
Triaged |
Invalid |
|