FS#45738 - [systemd] vboxservice not started by systemd when using KVM paravirtualization

Attached to Project: Arch Linux
Opened by moething (moething) - Wednesday, 22 July 2015, 06:39 GMT
Last edited by Doug Newgard (Scimmia) - Thursday, 03 May 2018, 23:52 GMT
Task Type Bug Report
Category Upstream Bugs
Status Closed
Assigned To Evangelos Foutras (foutrelis)
Dave Reisner (falconindy)
Sébastien Luttringer (seblu)
Architecture All
Severity Medium
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 4
Private No

Details

If I run my Archlinux VM with KVM as paravirtualization, the vboxservice is no longer working:

# systemctl status vboxservice.service
● vboxservice.service - VirtualBox Guest Service
Loaded: loaded (/usr/lib/systemd/system/vboxservice.service; enabled; vendor preset: disabled)
Active: inactive (dead)
Condition: start condition failed at Wed 2015-07-22 08:16:31 CEST; 2s ago
ConditionVirtualization=oracle was not met

This because the systemd vboxservice.service file contains the check for virtualization "ConditionVirtualization=oracle". But as soon as I turn on KVM emulation in the Virtualbox host configuration, "oracle" is no longer the valid value for this systemd check. It should be kvm in my case.

Running "systemd-detect-virt" on command line, it reports "kvm" as used virtualization which -- I believe -- should be used in this case in the systemd check.
Any generic approach needs to be found to support legacy virtualization (orcacle) as well as KVM.
This task depends upon

Closed by  Doug Newgard (Scimmia)
Thursday, 03 May 2018, 23:52 GMT
Reason for closing:  Fixed
Comment by Sébastien Luttringer (seblu) - Thursday, 23 July 2015, 11:57 GMT
I don't get your point. vboxservice make sense to be started only when virtualisation is virtualbox/oracle. When you start your vm with qemu, why do you want to start vboxservice in the guest?
Comment by moething (moething) - Thursday, 23 July 2015, 12:29 GMT
I am not running under qemu. I am using Virtualbox 5.0 which comes with a new key feature:

"New capabilities in Oracle VM VirtualBox 5.0:

Paravirtualization Support for Windows and Linux Guests: Significantly improves guest OS performance by leveraging built-in virtualization support on operating systems such as Oracle Linux 7 and Microsoft Windows 7 and newer."

You can configure in your guest environment that the VM should be run with kvm support (new setting under settings -> system -> acceleration), hence the reported virtualization within the guest OS is kvm when set to "KVM" in that menu. You could also set it to "legacy" in there, which leads to the old, known virtualization "oracle". With legacy / oracle the systemd script works fine.

I was just wondering if it works as desired when KVM is chosen in the above mentioned menu. For me it reports the error from the description above.

Comment by Sébastien Luttringer (seblu) - Thursday, 23 July 2015, 12:43 GMT
ok, I will switch ConditionVirtualization=oracle to ConditionVirtualization=vm.
Comment by Christian Hesse (eworm) - Monday, 27 July 2015, 07:15 GMT
Please do not change anything! I fixed this in systemd, everything will work as expected with systemd v223.
https://github.com/systemd/systemd/commit/e32886e0105d30799309ab2705addbee0d33b4da
Comment by Sébastien Luttringer (seblu) - Tuesday, 28 July 2015, 22:22 GMT
nice!

systemd 223 is expected to be released soon, so let's wait for it.
Comment by Christian Hesse (eworm) - Thursday, 30 July 2015, 13:42 GMT
I think we can close this now, no?
Comment by fplust lu (fplust) - Monday, 30 November 2015, 16:55 GMT
I have the same problem in systemd 228-3,the vboxservice is not working.
Comment by Christian Hesse (eworm) - Monday, 30 November 2015, 17:07 GMT Comment by steadfasterX (steadfasterX) - Thursday, 08 March 2018, 17:38 GMT
  • Field changed: Percent Complete (100% → 0%)
same issue occured again:

condition failed at Wed 2018-03-07 12:36:23 UTC; 1min 7s ago
└─ ConditionVirtualization=oracle was not met

systemd-detect-virt says: vm-other

Virtualbox host: Arch
Virtualbox guest: Arch


lsmod output on the host:

lsmod |grep -i vbox
vboxpci 28672 0
vboxnetflt 32768 0
vboxnetadp 28672 0
vboxdrv 483328 4 vboxnetadp,vboxnetflt,vboxpci

so I have no idea whats going on here ..

systemd version: systemd-237.64-1

Comment by Doug Newgard (Scimmia) - Thursday, 08 March 2018, 17:39 GMT
And even with all of the previous comments explaining the issue, you've left out the most important part, what version of systemd?
Comment by steadfasterX (steadfasterX) - Thursday, 08 March 2018, 18:07 GMT
have that issue: systemd-237.64-1
does not have that issue: systemd-237.31-1
Comment by Doug Newgard (Scimmia) - Thursday, 08 March 2018, 18:14 GMT
I just booted up the Arch ISO in VB, systemd 237.64-1, systemd-detect-virt returns "oracle". Cannot reproduce your issue.
Comment by steadfasterX (steadfasterX) - Thursday, 08 March 2018, 18:16 GMT
which virtualbox version? and which virtualbox utils version in the guest?
Comment by Doug Newgard (Scimmia) - Thursday, 08 March 2018, 19:30 GMT
VB 5.2.8, obviously; no guest utils installed, but that should make no difference
Comment by steadfasterX (steadfasterX) - Thursday, 03 May 2018, 19:42 GMT
update:

systemd 238.76-1

all is working (again)

Loading...