From: Anthony Liguori <anthony@codemonkey.ws>
To: "Daniel P. Berrange" <berrange@redhat.com>
Cc: Chris Wright <chrisw@redhat.com>,
Cole Robinson <crobinso@redhat.com>,
libvirt-list@redhat.com, qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] Re: [PATCH] Introduce a -libvirt-caps flag as a stop-gap
Date: Tue, 27 Jul 2010 11:38:04 -0500 [thread overview]
Message-ID: <4C4F0B6C.2030804@codemonkey.ws> (raw)
In-Reply-To: <20100727160942.GQ12387@redhat.com>
On 07/27/2010 11:09 AM, Daniel P. Berrange wrote:
> On Tue, Jul 27, 2010 at 10:55:03AM -0500, Anthony Liguori wrote:
>
>> Today libvirt parses -help output to attempt to enumerate capabilities. This
>> is very broken and has led to multiple failures. Since libvirt is an important
>> management interface to QEMU, we need to do a better job giving them the ability
>> to detect what a QEMU executable supports. Right now, we keep fixing up help
>> output to appease it's parsing code but this is undesirable.
>>
>> The Right Solution is to introduce a robust capabilities advertisement that
>> enumerates every feature we have. As with most Right Solutions, we don't have
>> mergable code today and it's unclear that we'll get there by the next release.
>>
>> This patch introduces an incremental solution of just spitting out the handful
>> of capabilities libvirt is probing for today. This interface will need to
>> remain forever but can stop being updated once we have a Right Solution.
>>
> This isn't really workable because it only encodes the subset of things
> that libvirt currently looks for. If someone comes along with a libvirt
> patch for a new features that is already supported by QEMU, but isn't
> in this simple output, we're stuck.
Yup. You'll need to decide up front if you want to probe for a feature
when it's introduced and have something added to capabilities.
This is simple though. A few weeks before 0.14 is released, go through
the change log, and anything that looks interesting, add a cap flag.
> Adding a one-off special case for
> the 0.13 release that we know will be obsolete in 0.14
IIF capabilities gets merged by 0.14. I'd certainly like it to, but I'd
prefer to hedge my bets.
Here are the possible things we can do:
1) merge -libvirt-caps as an intermediate solution, stop caring about
-help changes, when full caps are introduced, stop updating -libvirt-caps
2) don't merge -libvirt-caps, stop caring about -help changes, put
everything on getting full caps merged by 0.14
3) don't merge -libvirt-caps, care about making -help changes, use -help
as the caps mechanism until full caps get merged
We can't do (3). I'm going to revert the -help changes for 0.13 so that
old versions of libvirt work but not for master.
(2) makes me pretty uncomfortable because it implies either (a) delay
0.14 until full caps are ready (b) ship 0.14 such that libvirt is
totally broken.
(1) isn't ideal, I'll freely admit, but it's a workable intermediate
solution.
Regards,
Anthony Liguori
> , and obviously
> can't be used in qemu< 0.12 is not really a worthwhile use of time.
> libvirt has to keep supporting help parsing indefinitely for<= 0.12
> releases& expects to support a new extensible& flexible approach for
> qemu>= 0.14. Adding a special case that both libvirt& qemu have to
> support indefinitely for 0.13 is not really very nice.
>
> Daniel
>
next prev parent reply other threads:[~2010-07-27 16:38 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-07-27 15:55 [Qemu-devel] [PATCH] Introduce a -libvirt-caps flag as a stop-gap Anthony Liguori
2010-07-27 16:09 ` [Qemu-devel] " Daniel P. Berrange
2010-07-27 16:38 ` Anthony Liguori [this message]
2010-07-27 17:00 ` Daniel P. Berrange
2010-07-27 17:20 ` Anthony Liguori
2010-07-28 9:53 ` Daniel P. Berrange
2010-07-28 13:44 ` Anthony Liguori
2010-07-27 17:41 ` Chris Wright
2010-07-28 4:52 ` Avi Kivity
2010-07-28 8:57 ` [Qemu-devel] " Amit Shah
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=4C4F0B6C.2030804@codemonkey.ws \
--to=anthony@codemonkey.ws \
--cc=berrange@redhat.com \
--cc=chrisw@redhat.com \
--cc=crobinso@redhat.com \
--cc=libvirt-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).