2019-08-26 16:14:20 |
Steve Dodd |
description |
I have machine with the following nspawn file:
--
[Network]
MACVLAN=laneth0
[Exec]
PrivateUsers=false
--
if I start it with systemctl start systemd-nspawn@name, all works as expected.
If I start manually with systemd-nspawn -M name -b, I seem to correctly get a new network namespace (ip link output in container is correct), but ls /sys/class/net shows the host's interfaces.
The difference turns out to be that starting with systemctl uses a default command line which includes --private-network; the MACVLAN= in the config file should imply this, but instead it seems I'm getting "half" a private network, with the namespace correctly set but /sys not.
Having a quick poke around, I suspect
https://github.com/systemd/systemd/commit/60f1ec13ed059e412c2a2ee4cc3093e2d520673c
may have 'accidentally' fixed this - it moves
if (arg_private_network)
arg_mount_settings |= MOUNT_APPLY_APIVFS_NETNS;
from parse_argv to verify_arguments which is called later.
This bug causes netplan to fail as well as it rummages around in /sys/class/net.
If the planets ever align appropriately, I will try to come up with a patch to 237 for bionic, but I don't recommend anyone hold's their breath..
ProblemType: Bug
DistroRelease: Ubuntu 18.04
Package: systemd-container 237-3ubuntu10.25
Uname: Linux 4.19.13-041913-generic x86_64
ApportVersion: 2.20.9-0ubuntu7.6
Architecture: amd64
CurrentDesktop: XFCE
Date: Sun Aug 25 17:54:50 2019
InstallationDate: Installed on 2018-03-22 (521 days ago)
InstallationMedia: Xubuntu 18.04 LTS "Bionic Beaver" - Alpha amd64 (20180306.1)
SourcePackage: systemd
UpgradeStatus: No upgrade log present (probably fresh install) |
I have machine with the following nspawn file:
--
[Network]
MACVLAN=laneth0
[Exec]
PrivateUsers=false
--
if I start it with systemctl start systemd-nspawn@name, all works as expected.
If I start manually with systemd-nspawn -M name -b, I seem to correctly get a new network namespace (ip link output in container is correct), but ls /sys/class/net shows the host's interfaces.
The difference turns out to be that starting with systemctl uses a default command line which includes --private-network; the MACVLAN= in the config file should imply this, but instead it seems I'm getting "half" a private network, with the namespace correctly set but /sys not.
Having a quick poke around, I suspect
https://github.com/systemd/systemd/commit/60f1ec13ed059e412c2a2ee4cc3093e2d520673c
may have 'accidentally' fixed this - it moves
if (arg_private_network)
arg_mount_settings |= MOUNT_APPLY_APIVFS_NETNS;
from parse_argv to verify_arguments which is called later.
This bug causes netplan to fail as well as it rummages around in /sys/class/net.
If the planets ever align appropriately, I will try to come up with a patch to 237 for bionic, but I don't recommend anyone holds their breath..
ProblemType: Bug
DistroRelease: Ubuntu 18.04
Package: systemd-container 237-3ubuntu10.25
Uname: Linux 4.19.13-041913-generic x86_64
ApportVersion: 2.20.9-0ubuntu7.6
Architecture: amd64
CurrentDesktop: XFCE
Date: Sun Aug 25 17:54:50 2019
InstallationDate: Installed on 2018-03-22 (521 days ago)
InstallationMedia: Xubuntu 18.04 LTS "Bionic Beaver" - Alpha amd64 (20180306.1)
SourcePackage: systemd
UpgradeStatus: No upgrade log present (probably fresh install) |
|