2018-06-14 13:33 GMT+03:00 Daniel P. Berrangé <berrange(a)redhat.com>:
On Thu, Jun 14, 2018 at 01:23:56PM +0300, Mathieu Tarral wrote:
> 2018-06-13 18:23 GMT+03:00 Daniel P. Berrangé <berrange(a)redhat.com>:
> > On Wed, Jun 13, 2018 at 06:13:04PM +0300, Mathieu Tarral wrote:
> >> 2018-06-13 18:07 GMT+03:00 Daniel P. Berrangé <berrange(a)redhat.com>:
> >> > On Wed, Jun 13, 2018 at 05:59:37PM +0300, Mathieu Tarral wrote:
> >> >> >> >
> >> >> >> > What version of QEMU do you have installed ? Libvirt
has recently
> >> >> >> > become more aggressive at requiring modern QEMU
versions, so its
> >> >> >> > possible if your old libvirt was running against old
QEMU, that
> >> >> >> > might not be supported with new libvirt.
> >> >> >>
> >> >> >> I'm using QEMU 2.8 here.
> >> >> >> That might explain why libvirt cannot find a version that
is modern enough.
> >> >> >
> >> >> > 2.8 is plenty new enough, so that's not the issue.
> >> >>
> >> >> Alright, so let's focus on libvirt 4.4.0.
> >> >>
> >> >> When I start the daemon, i can see some warnings related to QEMU:
> >> >>
> >> >> warning : virQEMUCapsInit:942 : Failed to get host CPU cache info
> >> >> warning : virQEMUCapsInit:949 : Failed to get host power management
capabilities
> >> >>
> >> >> Could this be the reason, or the beginning of an explanation ?
> >> >> How can I dig and find what is the root cause ?
> >> >
> >> > Best bet is to edit libvirtd.conf and set
> >> >
> >> > log_filters="1:qemu_capabilities"
> >> > log_outputs="1:file:/var/log/libvirtd.log"
> >> >
> >> > and then rm -rf /var/cache/libvirt/qemu and restart libvirtd. The log
> >> > file should tell you it is detecting qemu-system-x86_64 and probing
it.
> >> > If anything fails it should be covered in the logs.
> >>
> >> Thanks, i have more information now:
> >>
> >> debug : virQEMUCapsCacheLookup:4561 : Returning caps (nil) for
> >> /usr/bin/qemu-system-x86_64
> >> debug : virQEMUCapsCacheLookup:4561 : Returning caps (nil) for /usr/bin/kvm
> >>
> >> Does this help you ?
> >
> > No that just says there's no previous capabiltiies stored in the cache,
> > which is expected since I just told you to delete the cache :-)
>
> My bad :D
>
> > Please attach the full debug log, after running 'virsh capabilities'
> Sure.
> I copy pasted everything in a Github Gist, which is easier to read I think.
>
https://gist.github.com/Wenzel/805558263b7d6d8b3366a684d5673217
Ok this is the key error:
2018-06-14 10:23:16.994+0000: 31174: error : virCryptoHashBuf:84 : invalid argument:
algorithm=1 is not supported
it looks like you've built without gnutls, which is a mandatory dep for
the QEMU driver. 4.4.0 didn't treat it as mandatory when building, but
in git master we've fixed that now so you would see the problem sooner.
That was the problem indeed.
I checked out libvirt master (d1605b5d99e847450a6cbbf752ae5dd76239b46f)
and I had to install libgnutls28-dev.
Everything works now:
Compiled against library: libvirt 3.0.0
Using library: libvirt 3.0.0
Using API: QEMU 3.0.0
Running hypervisor: QEMU 2.8.0
I can track down why my call to virDomainIsActive is hanging for no reason :)
Thank you Daniel !
--
Mathieu Tarral