mirror of
https://github.com/Dasharo/systemd.git
synced 2026-03-06 15:02:31 -08:00
test: bump the container boot timeout when running w/o acceleration
With plain QEMU on a saturated AWS region we might just barely miss the timeout window, causing unexpected test fails: [ 688.681324] systemd-nspawn[1332]: [ OK ] Finished systemd-user-sessions.service. [ 689.451267] systemd-nspawn[1332]: [ OK ] Started console-getty.service. [ 689.572874] systemd-nspawn[1332]: [ OK ] Reached target getty.target. [ 693.634609] testsuite-74.sh[1223]: + at_exit [ 693.634609] testsuite-74.sh[1223]: + rm -fv -- /tmp/test-dump /tmp/test-usr-dump /tmp/make-dump [ 693.838395] testsuite-74.sh[1502]: removed '/tmp/test-dump' [ 693.838395] testsuite-74.sh[1502]: removed '/tmp/test-usr-dump' [ 693.838395] testsuite-74.sh[1502]: removed '/tmp/make-dump' [ 693.951114] testsuite-74.sh[670]: + echo 'Subtest /usr/lib/systemd/tests/testdata/units/testsuite-74.coredump.sh failed' [ 693.951114] testsuite-74.sh[670]: Subtest /usr/lib/systemd/tests/testdata/units/testsuite-74.coredump.sh failed [ 693.951114] testsuite-74.sh[670]: + return 1 [ 694.659094] systemd[1]: testsuite-74.service: Main process exited, code=exited, status=1/FAILURE [ 694.719563] systemd[1]: testsuite-74.service: Failed with result 'exit-code'. [ 694.882069] systemd[1]: Failed to start testsuite-74.service. [ 695.574445] systemd[1]: Reached target testsuite.target. [ 696.174844] systemd[1]: Starting end.service... [ 699.509408] systemd-nspawn[1332]: [ 699.509408] systemd-nspawn[1332]: CentOS Stream 9 [ 699.509408] systemd-nspawn[1332]: Kernel 5.14.0-432.el9.x86_64 on an x86_64 (pts/0) [ 699.509408] systemd-nspawn[1332]: Also, move the rest of container the setup for the user xattrs test into the condition, since doing it without the actual test is pretty pointless.
This commit is contained in:
@@ -77,24 +77,26 @@ rm -fv /run/systemd/coredump.conf.d/99-external.conf
|
||||
# Wait a bit for the coredumps to get processed
|
||||
timeout 30 bash -c "while [[ \$(coredumpctl list -q --no-legend $CORE_TEST_BIN | wc -l) -lt 4 ]]; do sleep 1; done"
|
||||
|
||||
# Make sure we can forward crashes back to containers
|
||||
CONTAINER="testsuite-74-container"
|
||||
if cgroupfs_supports_user_xattrs; then
|
||||
# Make sure we can forward crashes back to containers
|
||||
CONTAINER="testsuite-74-container"
|
||||
|
||||
mkdir -p "/var/lib/machines/$CONTAINER"
|
||||
mkdir -p "/run/systemd/system/systemd-nspawn@$CONTAINER.service.d"
|
||||
# Bind-mounting /etc into the container kinda defeats the purpose of --volatile=,
|
||||
# but we need the ASan-related overrides scattered across /etc
|
||||
cat > "/run/systemd/system/systemd-nspawn@$CONTAINER.service.d/override.conf" << EOF
|
||||
mkdir -p "/var/lib/machines/$CONTAINER"
|
||||
mkdir -p "/run/systemd/system/systemd-nspawn@$CONTAINER.service.d"
|
||||
# Bind-mounting /etc into the container kinda defeats the purpose of --volatile=,
|
||||
# but we need the ASan-related overrides scattered across /etc
|
||||
cat > "/run/systemd/system/systemd-nspawn@$CONTAINER.service.d/override.conf" <<EOF
|
||||
[Service]
|
||||
ExecStart=
|
||||
ExecStart=systemd-nspawn --quiet --link-journal=try-guest --keep-unit --machine=%i --boot \
|
||||
--volatile=yes --directory=/ --bind-ro=/etc --inaccessible=/etc/machine-id
|
||||
EOF
|
||||
systemctl daemon-reload
|
||||
systemctl daemon-reload
|
||||
|
||||
[[ "$(systemd-detect-virt)" == "qemu" ]] && TIMEOUT=120 || TIMEOUT=60
|
||||
|
||||
if cgroupfs_supports_user_xattrs; then
|
||||
machinectl start "$CONTAINER"
|
||||
timeout 60 bash -xec "until systemd-run -M '$CONTAINER' -q --wait --pipe true; do sleep .5; done"
|
||||
timeout "$TIMEOUT" bash -xec "until systemd-run -M '$CONTAINER' -q --wait --pipe true; do sleep .5; done"
|
||||
|
||||
[[ "$(systemd-run -M "$CONTAINER" -q --wait --pipe coredumpctl list -q --no-legend /usr/bin/sleep | wc -l)" -eq 0 ]]
|
||||
machinectl copy-to "$CONTAINER" "$MAKE_DUMP_SCRIPT"
|
||||
@@ -102,6 +104,8 @@ if cgroupfs_supports_user_xattrs; then
|
||||
systemd-run -M "$CONTAINER" -q --wait --pipe "$MAKE_DUMP_SCRIPT" "/usr/bin/sleep" "SIGTRAP"
|
||||
# Wait a bit for the coredumps to get processed
|
||||
timeout 30 bash -c "while [[ \$(systemd-run -M $CONTAINER -q --wait --pipe coredumpctl list -q --no-legend /usr/bin/sleep | wc -l) -lt 2 ]]; do sleep 1; done"
|
||||
|
||||
rm -rf "/var/lib/machines/$CONTAINER"
|
||||
fi
|
||||
|
||||
coredumpctl
|
||||
|
||||
Reference in New Issue
Block a user