qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [libvirt] libvirt doesn't work with qemu 1.0


From: Anthony Liguori
Subject: Re: [Qemu-devel] [libvirt] libvirt doesn't work with qemu 1.0
Date: Fri, 02 Dec 2011 14:32:41 -0600
User-agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.21) Gecko/20110831 Lightning/1.0b2 Thunderbird/3.1.13

On 12/02/2011 01:29 PM, Eric Blake wrote:
On 12/02/2011 08:15 AM, Anthony Liguori wrote:
Which of course only works with new enough QEMU that is known to
support QMP
(which BTW we detect by checking the version number).

Or you could just try the -qmp option and if QEMU exits, it doesn't
support it.  That's going to be a lot more reliable than checking a
version number.

But we already have to call 'qemu -h' for other reasons; so we might as
well be efficient and learn as much as possible from that result than by
calling both 'qemu -h' and 'qemu -qmp ...', in order to probe what qemu
supports.

Also, 'qemu -qmp' doesn't work.  What's the proper syntax for invoking
qemu in order to query QMP capabilities, but without also starting up a
guest?


address@hidden:~/build/qemu$ (sleep 1; echo -e '{"execute": "qmp_capabilities"}\n{"execute": "quit"}') | x86_64-softmmu/qemu-system-x86_64 -qmp stdio -S -display none | head -1 {"QMP": {"version": {"qemu": {"micro": 94, "minor": 15, "major": 0}, "package": ""}, "capabilities": []}}

The sleep 1 is due to a bug. What I would suggest libvirt due is run this command but connect to the monitor properly, execute those two commands, and use the monitor greeting to figure out the version number.

If you really want a command to invoke, we could also add a command line switch that took a QMP command or something like that.


At any rate, yes, we want to improve libvirt to cache qemu capabilities,
to do the probing once at startup and then again any time the mtime of
the qemu binary changes, rather than the current policy of doing it on
every VM startup; once we cache information, making multiple probes will
still be more efficient in the long ran than the current probe per guest.

That's all well and good but please use the interfaces that we support.

Parsing help output is not the supported way of getting the version. We happen to provide a nice, programmatic and stable interface for getting the version information. Please use it.

Regards,

Anthony Liguori





reply via email to

[Prev in Thread] Current Thread [Next in Thread]