[libvirt] qemu commit 65207c59 broke libvirt's capability retrieval (apparently)

Laszlo Ersek lersek at redhat.com
Fri Jun 5 21:42:39 UTC 2015


Hi All,

after pulling QEMU master today, my existent libvirt guests that have the following element:

  <pm>
    <suspend-to-mem enabled='yes'/>
    <suspend-to-disk enabled='no'/>
  </pm>

started to barf the following message at me:

----------
Error starting domain: unsupported configuration: setting ACPI S3 not supported

Traceback (most recent call last):
  File "/usr/share/virt-manager/virtManager/asyncjob.py", line 89, in cb_wrapper
    callback(asyncjob, *args, **kwargs)
  File "/usr/share/virt-manager/virtManager/asyncjob.py", line 125, in tmpcb
    callback(*args, **kwargs)
  File "/usr/share/virt-manager/virtManager/domain.py", line 1393, in startup
    self._backend.create()
  File "/usr/lib64/python2.7/site-packages/libvirt.py", line 966, in create
    if ret == -1: raise libvirtError ('virDomainCreate() failed', dom=self)
libvirtError: unsupported configuration: setting ACPI S3 not supported
----------

Now, I'm using RHEL-7.1.z libvirt with bleeding edge upstream qemu, so you could say this is "kinda unsupported" :), but anyway, I reckon this might be a problem with upstream libvirt too. Sorry if it's a known problem.

I found this qemu commit, ie.

commit 65207c59d99f2260c5f1d3b9c491146616a522aa
Author: Markus Armbruster <armbru at redhat.com>
Date:   Thu Mar 5 14:35:26 2015 +0100

    monitor: Drop broken, unused asynchronous command interface

with bisection. Unfortunately, the bisection was extremely painful, because between a working version and today's pull, part of the qemu history was uncompileable. It was ultimately fixed with

commit 9e472263b07d53cb3401ee49ef1b45ef195ddb84
Author: Michael S. Tsirkin <mst at redhat.com>
Date:   Mon Jun 1 21:03:59 2015 +0200

    acpi: add missing ssdt

Luckily, that commit suggests to remove the "iasl" binary from one's system, after which I could indeed continue the bisection.

If I remove the <pm> element from the domain XML, then libvirt barfs something else:

--------------
Error starting domain: unsupported configuration: hypervisor lacks deviceboot feature

Traceback (most recent call last):
  File "/usr/share/virt-manager/virtManager/asyncjob.py", line 89, in cb_wrapper
    callback(asyncjob, *args, **kwargs)
  File "/usr/share/virt-manager/virtManager/asyncjob.py", line 125, in tmpcb
    callback(*args, **kwargs)
  File "/usr/share/virt-manager/virtManager/domain.py", line 1393, in startup
    self._backend.create()
  File "/usr/lib64/python2.7/site-packages/libvirt.py", line 966, in create
    if ret == -1: raise libvirtError ('virDomainCreate() failed', dom=self)
libvirtError: unsupported configuration: hypervisor lacks deviceboot feature
--------------

Which tells me that it's not individual capabilities that are broken by qemu 65207c59, but the entire libvirt capability retrieval. Apparently libvirt is one user of that async monitor interface. (The message on commit 65207c59 itself mentions "qmp_capabilities".)

Sorry about the substandard formatting in the email, I'm in a bit of a hurry.

Bisection log attached.

Thanks
Laszlo
-------------- next part --------------
A non-text attachment was scrubbed...
Name: bisect.log
Type: text/x-log
Size: 2275 bytes
Desc: not available
URL: <http://listman.redhat.com/archives/libvir-list/attachments/20150605/77d9ad59/attachment-0001.bin>


More information about the libvir-list mailing list