diff options
Diffstat (limited to 'test/TEST-13-NSPAWN-SMOKE/test.sh')
-rwxr-xr-x | test/TEST-13-NSPAWN-SMOKE/test.sh | 18 |
1 files changed, 15 insertions, 3 deletions
diff --git a/test/TEST-13-NSPAWN-SMOKE/test.sh b/test/TEST-13-NSPAWN-SMOKE/test.sh index 6a0cb42eaf..774b7cbed5 100755 --- a/test/TEST-13-NSPAWN-SMOKE/test.sh +++ b/test/TEST-13-NSPAWN-SMOKE/test.sh @@ -4,7 +4,7 @@ set -e TEST_DESCRIPTION="systemd-nspawn smoke test" TEST_NO_NSPAWN=1 -SKIP_INITRD=yes + . $TEST_BASE_DIR/test-functions test_setup() { @@ -18,7 +18,15 @@ test_setup() { eval $(udevadm info --export --query=env --name=${LOOPDEV}p2) setup_basic_environment - dracut_install busybox chmod rmdir unshare ip + dracut_install busybox chmod rmdir unshare ip sysctl + + # mask some services that we do not want to run in these tests + ln -fs /dev/null $initdir/etc/systemd/system/systemd-hwdb-update.service + ln -fs /dev/null $initdir/etc/systemd/system/systemd-journal-catalog-update.service + ln -fs /dev/null $initdir/etc/systemd/system/systemd-networkd.service + ln -fs /dev/null $initdir/etc/systemd/system/systemd-networkd.socket + ln -fs /dev/null $initdir/etc/systemd/system/systemd-resolved.service + ln -fs /dev/null $initdir/etc/systemd/system/systemd-machined.service cp create-busybox-container $initdir/ @@ -29,7 +37,6 @@ test_setup() { cat >$initdir/etc/systemd/system/testsuite.service <<EOF [Unit] Description=Testsuite service -After=multi-user.target [Service] ExecStart=/test-nspawn.sh @@ -63,6 +70,11 @@ if [[ -f /proc/1/ns/cgroup ]]; then fi is_user_ns_supported=no +# On some systems (e.g. CentOS 7) the default limit for user namespaces +# is set to 0, which causes the following unshare syscall to fail, even +# with enabled user namespaces support. By setting this value explicitly +# we can ensure the user namespaces support to be detected correctly. +sysctl -w user.max_user_namespaces=10000 if unshare -U sh -c :; then is_user_ns_supported=yes fi |