qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Anthony Liguori <anthony@codemonkey.ws>
To: Eric Blake <eblake@redhat.com>
Cc: libvir-list@redhat.com, Gerd Hoffmann <kraxel@redhat.com>,
	"qemu-devel@nongnu.org" <qemu-devel@nongnu.org>
Subject: Re: [Qemu-devel] [libvirt]  libvirt doesn't work with qemu 1.0
Date: Fri, 02 Dec 2011 14:32:41 -0600	[thread overview]
Message-ID: <4ED935E9.4050006@codemonkey.ws> (raw)
In-Reply-To: <4ED9271E.7020800@redhat.com>

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?


anthony@titi:~/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	other threads:[~2011-12-02 20:32 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-12-02 14:21 [Qemu-devel] libvirt doesn't work with qemu 1.0 Gerd Hoffmann
2011-12-02 14:50 ` Anthony Liguori
2011-12-02 15:08   ` Jiri Denemark
2011-12-02 15:15     ` Anthony Liguori
2011-12-02 19:29       ` [Qemu-devel] [libvirt] " Eric Blake
2011-12-02 20:32         ` Anthony Liguori [this message]
2012-01-26  3:55           ` Eric Blake
2012-01-26  9:41             ` Paolo Bonzini
2012-01-26 10:55               ` Markus Armbruster
2012-01-26 12:46               ` Eric Blake
2012-01-26 13:00                 ` Paolo Bonzini
2012-01-26 19:23             ` Luiz Capitulino
2011-12-02 18:53 ` Dave Allan

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4ED935E9.4050006@codemonkey.ws \
    --to=anthony@codemonkey.ws \
    --cc=eblake@redhat.com \
    --cc=kraxel@redhat.com \
    --cc=libvir-list@redhat.com \
    --cc=qemu-devel@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).