On Tue, Jul 27, 2010 at 12:20:55PM -0500, Anthony Liguori wrote:
On 07/27/2010 12:00 PM, Daniel P. Berrange wrote:
>>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.
>>
>That doesn't work for features which already exist in QEMU which are
>not yet supported in libvirt. eg consider QEMU 0.13 is released, and
>then we want to add a new feature to libvirt a month later.
Right. So sit down and look at the 0.13 changelog and if there's any
features that you think you might want to support at some point in time,
add a capability.
Not really practical - pretty much anything is a candidate because
we want to support as many of QEMU features as possible.
>It offers significantly less information that the existing -help
>data, so I don't think it is workable as a replacement. We'd get
>into the bad situation where we could support a feature in 0.12
>but not in 0.13, unless we went back to using -help output again.
>
>If we're going for a short term hack, then how about a combination
>of
>
>http://www.mail-archive.com/qemu-devel@nongnu.org/msg34944.html
>http://www.mail-archive.com/qemu-devel@nongnu.org/msg34960.html
>
Would have failed in exactly the same way that the current -help parsing
fails. The description of an argument in the help text is not a
capabilities string.
This particular case of cache modes might have failed, but in the
broader picture it would have been more reliable. The vasty
majority of the time, we only check whether a particular named
argument exists. This patch would make it very reliable todo so
because you could simply extract a single named field from the
JSON doc. The cases where we looked at the parameter options
would have been improved a little, but still be potentially fragile.
Checking for version number would also be improved. So overall
while obviously not perfect, it would be significantly better than
the solution today and using an approach that isn't a complete
throwaway solution.
Regards,
Daniel
--
|: Red Hat, Engineering, London -o-
http://people.redhat.com/berrange/ :|
|:
http://libvirt.org -o-
http://virt-manager.org -o-
http://deltacloud.org :|
|:
http://autobuild.org -o-
http://search.cpan.org/~danberr/ :|
|: GnuPG: 7D3B9505 -o- F3C9 553F A1DA 4AC2 5648 23C1 B3DF F742 7D3B 9505 :|