mirror of
https://github.com/systemd/systemd-stable.git
synced 2024-10-28 11:55:23 +03:00
test-functions: don't nest KVM (#8883)
Nested KVM is very flaky as we learnt from our CI. Hence, let's avoid KVM whenever we detect we are already running inside of KVM. Maybe one day nested KVM is fixed, at which point we can turn this on again, but for now let's simply avoid nested KVM, since reliable CI is more important than quick CI, I guess. And yes, avoiding KVM for our qemu runs does make things substantially slower, but I think it's not a complete loss. Inspired by @evverx' findings in: https://github.com/systemd/systemd/pull/8701#issuecomment-380213302
This commit is contained in:
parent
fb702dd7dd
commit
3e7aa2edcd
@ -29,9 +29,12 @@ STATEFILE="$STATEDIR/.testdir"
|
||||
TESTLOG="$STATEDIR/test.log"
|
||||
|
||||
function find_qemu_bin() {
|
||||
# SUSE and Red Hat call the binary qemu-kvm
|
||||
# Debian and Gentoo call it kvm
|
||||
[ "$QEMU_BIN" ] || QEMU_BIN=$(which -a kvm qemu-kvm 2>/dev/null | grep '^/' -m1)
|
||||
# SUSE and Red Hat call the binary qemu-kvm. Debian and Gentoo call it kvm.
|
||||
# Either way, only use this version if we aren't running in KVM, because
|
||||
# nested KVM is flaky still.
|
||||
if [ `systemd-detect-virt -v` != kvm ] ; then
|
||||
[ "$QEMU_BIN" ] || QEMU_BIN=$(which -a kvm qemu-kvm 2>/dev/null | grep '^/' -m1)
|
||||
fi
|
||||
|
||||
[ "$ARCH" ] || ARCH=$(uname -m)
|
||||
case $ARCH in
|
||||
@ -137,7 +140,8 @@ $KERNEL_APPEND \
|
||||
QEMU_OPTIONS="$QEMU_OPTIONS -initrd $INITRD"
|
||||
fi
|
||||
|
||||
if [ -c /dev/kvm ]; then
|
||||
# Let's use KVM if it is available, but let's avoid using nested KVM as that is still flaky
|
||||
if [ -c /dev/kvm -a `systemd-detect-virt -v` != kvm ]; then
|
||||
QEMU_OPTIONS="$QEMU_OPTIONS -machine accel=kvm -enable-kvm -cpu host"
|
||||
fi
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user