diff options
author | Lennart Poettering <lennart@poettering.net> | 2018-12-05 20:52:03 +0100 |
---|---|---|
committer | Lennart Poettering <lennart@poettering.net> | 2018-12-07 12:25:24 +0100 |
commit | ff7507295db22539aacb2f9a8734eb97f8257e43 (patch) | |
tree | af69ca338a141f35de1f4a124767201a575b411f /test/networkd-test.py | |
parent | bash-completion: analyze: support 'security' (diff) | |
download | systemd-ff7507295db22539aacb2f9a8734eb97f8257e43.tar.xz systemd-ff7507295db22539aacb2f9a8734eb97f8257e43.zip |
networkd-test: set right access modes for /run/systemd/netif
Otherwise networkd isn't happy.
Let's also make addition of the "systemd-network" non-fatal. The user
exists on many machines anyway, hence it shouldn't fail if it already
exists.
Diffstat (limited to 'test/networkd-test.py')
-rwxr-xr-x | test/networkd-test.py | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/test/networkd-test.py b/test/networkd-test.py index d876f3a9e0..b6fe74e2c6 100755 --- a/test/networkd-test.py +++ b/test/networkd-test.py @@ -53,6 +53,7 @@ def setUpModule(): if (subprocess.call(['systemctl', 'is-active', '--quiet', 'systemd-networkd.service']) == 0 and subprocess.call(['systemd-detect-virt', '--quiet']) != 0): raise unittest.SkipTest('not virtualized and networkd is already active') + # Ensure we don't mess with an existing networkd config for u in ['systemd-networkd.socket', 'systemd-networkd', 'systemd-resolved']: if subprocess.call(['systemctl', 'is-active', '--quiet', u]) == 0: @@ -60,6 +61,12 @@ def setUpModule(): running_units.append(u) else: stopped_units.append(u) + + # create static systemd-network user for networkd-test-router.service (it + # needs to do some stuff as root and can't start as user; but networkd + # still insists on the user) + subprocess.call(['adduser', '--system', '--no-create-home', 'systemd-network']) + for d in ['/etc/systemd/network', '/run/systemd/network', '/run/systemd/netif', '/run/systemd/resolve']: if os.path.isdir(d): @@ -68,6 +75,9 @@ def setUpModule(): if os.path.isdir('/run/systemd/resolve'): os.chmod('/run/systemd/resolve', 0o755) shutil.chown('/run/systemd/resolve', 'systemd-resolve', 'systemd-resolve') + if os.path.isdir('/run/systemd/netif'): + os.chmod('/run/systemd/netif', 0o755) + shutil.chown('/run/systemd/netif', 'systemd-network', 'systemd-network') # Avoid "Failed to open /dev/tty" errors in containers. os.environ['SYSTEMD_LOG_TARGET'] = 'journal' @@ -75,11 +85,6 @@ def setUpModule(): # Ensure the unit directory exists so tests can dump files into it. os.makedirs(NETWORK_UNITDIR, exist_ok=True) - # create static systemd-network user for networkd-test-router.service (it - # needs to do some stuff as root and can't start as user; but networkd - # still insists on the user) - subprocess.check_call(['adduser', '--system', '--no-create-home', 'systemd-network']) - def tearDownModule(): global tmpmounts |