[Bug 1768104] Re: systemd sometimes misdetects Xen VMs (fixed up-stream)
dana
dana at dana.is
Tue Jul 3 21:49:24 UTC 2018
Hi Steve,
This build seems to work OK for me as well. Thanks!
% dpkg-query -Wf '${Package}: ${Version}\n' | rg systemd
libnss-systemd: 237-3ubuntu10.2
libpam-systemd: 237-3ubuntu10.2
libsystemd0: 237-3ubuntu10.2
python3-systemd: 234-1build1
systemd: 237-3ubuntu10.2
systemd-sysv: 237-3ubuntu10
% SYSTEMD_LOG_LEVEL=debug systemd-detect-virt
Failed to read $container of PID 1, ignoring: Permission denied
Found container virtualization none.
Virtualization Xen found in DMI (/sys/class/dmi/id/sys_vendor)
Virtualization XEN, found /sys/hypervisor/properties/features with value 00002705, XENFEAT_dom0 (indicating the 'hardware domain') is not set.
Found VM virtualization xen
xen
% systemctl is-active xe-daemon
active
** Tags removed: verification-needed-bionic
** Tags added: verification-done-bionic
--
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to systemd in Ubuntu.
https://bugs.launchpad.net/bugs/1768104
Title:
systemd sometimes misdetects Xen VMs (fixed up-stream)
Status in systemd package in Ubuntu:
Fix Committed
Status in systemd source package in Bionic:
Fix Committed
Status in systemd source package in Cosmic:
Fix Committed
Bug description:
[Impact]
* XEN virtualization missidentified as hyperv
* This may cause units limited to a virtualisation not to be started; or redundant units for the other type of virtualisation to be started instead.
* Previously xen & hyper-v were detected correctly separately, even when xen emulates/suggests that it is hyper-v.
[Test Case]
* Execute systemd-detect-virt and check that it detects Xen & Hyperv
[Regression Potential]
* Things that "fake" xen might not work as the detection code
branches are changed, but it would affect previous releases and future
releases of systemd-detect-virt. So far such things are not known to
exist, and if such things appear in the future support for them would
need to land upstream first.
[Other Info]
* Original bug report
Cherrypick
https://github.com/systemd/systemd/commit/f2fe2865cd19cd4318b82d01b9b62d22b1697b3a
It appears that Xen-based VMs sometimes report themselves as Microsoft
Hyper-V via CPUID — apparently this is for compatibility with Windows
guests. systemd 237 (as found in Bionic) gives preference to this
CPUID information when detecting Xen, and thus it erroneously assumes
that the guest is running under Hyper-V. This causes Xen-related
services (and anything else that relies on systemd's VM-detection
functionality) to fail.
I *believe* this is a regression from systemd 229 as used in Xenial —
we have at least a few Xen-based VMs that report as Hyper-V via CPUID
and don't have this issue on that version — but i haven't confirmed
that for certain.
Anyway, i've submitted a ticket with more details to the up-stream
project, and that has now been resolved through a fairly simple change
which applies cleanly to the Bionic systemd sources:
https://github.com/systemd/systemd/issues/8844
Would it be possible to pull this down? As mentioned, Xen-based Ubuntu
VMs can seriously misbehave without it.
Thanks!
See also:
https://bugs.launchpad.net/ubuntu/+source/systemd/+bug/1728573
---
% lsb_release -rd
Description: Ubuntu 18.04 LTS
Release: 18.04
% apt-cache policy systemd
systemd:
Installed: 237-3ubuntu10
Candidate: 237-3ubuntu10
Version table:
*** 237-3ubuntu10 500
500 http://archive.ubuntu.com/ubuntu bionic/main amd64 Packages
100 /var/lib/dpkg/status
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/systemd/+bug/1768104/+subscriptions
More information about the foundations-bugs
mailing list