[Bug 1580192] [NEW] systemd-nspawn --network-interface= disappears when container exits
Tero Marttila
terom at paivola.fi
Tue May 10 13:50:55 UTC 2016
Public bug reported:
On Ubuntu xenial,
$ lsb_release -rd
Description: Ubuntu 16.04 LTS
Release: 16.04
$ apt-cache policy systemd
systemd:
Installed: 229-4ubuntu4
Candidate: 229-4ubuntu4
Version table:
*** 229-4ubuntu4 500
500 http://apt/ubuntu xenial/main amd64 Packages
100 /var/lib/dpkg/status
The systemd-nspawn manpage states that the existing --network-interface=
device should be returned to the host's namespace on exit:
--network-interface=
Assign the specified network interface to the container. This will remove the specified interface from the calling namespace
and place it in the container. *When the container terminates, it is moved back to the host namespace*. Note that
--network-interface= implies --private-network. This option may be used more than once to add multiple network interfaces to
the container.
However, this does not appear to be the case for a VLAN interface
(created using systemd-networkd):
$ ip link
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eno1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DEFAULT group default qlen 1000
link/ether 00:26:b9:5a:45:03 brd ff:ff:ff:ff:ff:ff
3: eno2: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 1000
link/ether 00:26:b9:5a:45:04 brd ff:ff:ff:ff:ff:ff
6: vlan-terom-dev at eno1: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 1000
link/ether 66:c9:35:09:49:74 brd ff:ff:ff:ff:ff:ff
$ sudo systemd-nspawn -M obelix-terom-dev --network-interface=vlan-terom-dev bash
Spawning container obelix-terom-dev on /var/lib/machines/.#machine.obelix-terom-devfc1e2f39f5df67dd.
Press ^] three times within 1s to kill container.
mount(/var/lib/machines/obelix-terom-dev/sys/fs/selinux) failed, ignoring: No such file or directory
mount(/var/lib/machines/obelix-terom-dev/sys/fs/selinux) failed, ignoring: Invalid argument
/etc/localtime is not a symlink, not updating container timezone.
root at obelix-terom-dev:/# ip link
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
6: vlan-terom-dev at if2: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 1000
link/ether 66:c9:35:09:49:74 brd ff:ff:ff:ff:ff:ff link-netnsid 0
root at obelix-terom-dev:/# exit
Container obelix-terom-dev exited successfully.
$ ip link
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eno1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DEFAULT group default qlen 1000
link/ether 00:26:b9:5a:45:03 brd ff:ff:ff:ff:ff:ff
3: eno2: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 1000
link/ether 00:26:b9:5a:45:04 brd ff:ff:ff:ff:ff:ff
$ sudo systemd-nspawn -M obelix-terom-dev --network-interface=vlan-terom-dev bash
Spawning container obelix-terom-dev on /var/lib/machines/obelix-terom-dev.
Press ^] three times within 1s to kill container.
Failed to resolve interface vlan-terom-dev: No such device
mount(/var/lib/machines/obelix-terom-dev/sys/fs/selinux) failed, ignoring: No such file or directory
mount(/var/lib/machines/obelix-terom-dev/sys/fs/selinux) failed, ignoring: Invalid argument
/etc/localtime is not a symlink, not updating container timezone.
$
Possibly related upstream mailing list thread, including workarounds:
https://lists.freedesktop.org/archives/systemd-
devel/2015-April/030934.html
Is this just a documentation bug in the man page?
** Affects: systemd (Ubuntu)
Importance: Undecided
Status: New
--
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to systemd in Ubuntu.
https://bugs.launchpad.net/bugs/1580192
Title:
systemd-nspawn --network-interface= disappears when container exits
Status in systemd package in Ubuntu:
New
Bug description:
On Ubuntu xenial,
$ lsb_release -rd
Description: Ubuntu 16.04 LTS
Release: 16.04
$ apt-cache policy systemd
systemd:
Installed: 229-4ubuntu4
Candidate: 229-4ubuntu4
Version table:
*** 229-4ubuntu4 500
500 http://apt/ubuntu xenial/main amd64 Packages
100 /var/lib/dpkg/status
The systemd-nspawn manpage states that the existing --network-
interface= device should be returned to the host's namespace on exit:
--network-interface=
Assign the specified network interface to the container. This will remove the specified interface from the calling namespace
and place it in the container. *When the container terminates, it is moved back to the host namespace*. Note that
--network-interface= implies --private-network. This option may be used more than once to add multiple network interfaces to
the container.
However, this does not appear to be the case for a VLAN interface
(created using systemd-networkd):
$ ip link
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eno1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DEFAULT group default qlen 1000
link/ether 00:26:b9:5a:45:03 brd ff:ff:ff:ff:ff:ff
3: eno2: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 1000
link/ether 00:26:b9:5a:45:04 brd ff:ff:ff:ff:ff:ff
6: vlan-terom-dev at eno1: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 1000
link/ether 66:c9:35:09:49:74 brd ff:ff:ff:ff:ff:ff
$ sudo systemd-nspawn -M obelix-terom-dev --network-interface=vlan-terom-dev bash
Spawning container obelix-terom-dev on /var/lib/machines/.#machine.obelix-terom-devfc1e2f39f5df67dd.
Press ^] three times within 1s to kill container.
mount(/var/lib/machines/obelix-terom-dev/sys/fs/selinux) failed, ignoring: No such file or directory
mount(/var/lib/machines/obelix-terom-dev/sys/fs/selinux) failed, ignoring: Invalid argument
/etc/localtime is not a symlink, not updating container timezone.
root at obelix-terom-dev:/# ip link
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
6: vlan-terom-dev at if2: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 1000
link/ether 66:c9:35:09:49:74 brd ff:ff:ff:ff:ff:ff link-netnsid 0
root at obelix-terom-dev:/# exit
Container obelix-terom-dev exited successfully.
$ ip link
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eno1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DEFAULT group default qlen 1000
link/ether 00:26:b9:5a:45:03 brd ff:ff:ff:ff:ff:ff
3: eno2: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 1000
link/ether 00:26:b9:5a:45:04 brd ff:ff:ff:ff:ff:ff
$ sudo systemd-nspawn -M obelix-terom-dev --network-interface=vlan-terom-dev bash
Spawning container obelix-terom-dev on /var/lib/machines/obelix-terom-dev.
Press ^] three times within 1s to kill container.
Failed to resolve interface vlan-terom-dev: No such device
mount(/var/lib/machines/obelix-terom-dev/sys/fs/selinux) failed, ignoring: No such file or directory
mount(/var/lib/machines/obelix-terom-dev/sys/fs/selinux) failed, ignoring: Invalid argument
/etc/localtime is not a symlink, not updating container timezone.
$
Possibly related upstream mailing list thread, including workarounds:
https://lists.freedesktop.org/archives/systemd-
devel/2015-April/030934.html
Is this just a documentation bug in the man page?
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/systemd/+bug/1580192/+subscriptions
More information about the foundations-bugs
mailing list