On Wed, Sep 18, 2013 at 09:38:23AM -0600, Eric Blake wrote:
On 09/18/2013 09:32 AM, Cole Robinson wrote:
>
> Seems overkill IMO. Do we really need to add an API to facilitate the crappy
> interface that is virsh detach-device? Will any other application ever want to
> use this API?
Yes, I can envision other use cases. In fact, virt-manager is one of them:
Oftentimes, we add features to XML, but you don't have an easy way to
probe if the feature is supported. Rather than complicate the (already
large) capabilities xml to call out yet more features, it is rather
simple to write up XML that tries to use the feature, then run it
through the normalizing API, then look at the result. If the feature is
still present in the output, then libvirt understands the feature (and
you can safely use it); if the feature got stripped as unrecognized,
then you can issue a much nicer error message to the user stating that
the libvirtd on the other end of the connection can't honor the user's
request.
IMHO a better way to deal with that usage scenario is to add ability
to validate XML via the RNG schema to the API.
eg we should add a "validate" flag that can be passed to virDomainDefineXML
/ virDomainCreateXML that would enable RNG validation during parsing of
those APis. And possibly even have a dedicated API to request validation
of an XML doc in general (virt-xml-validate, but part of the API instead
of local CLI tool)
Daniel
--
|:
http://berrange.com -o-
http://www.flickr.com/photos/dberrange/ :|
|:
http://libvirt.org -o-
http://virt-manager.org :|
|:
http://autobuild.org -o-
http://search.cpan.org/~danberr/ :|
|:
http://entangle-photo.org -o-
http://live.gnome.org/gtk-vnc :|