[libvirt] [PATCH 0/8] Normalization API

Daniel P. Berrange berrange at redhat.com
Wed Sep 18 15:43:58 UTC 2013


On Wed, Sep 18, 2013 at 09:41:40AM -0600, Eric Blake wrote:
> On 09/18/2013 09:38 AM, 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.
> 
> In fact, I'd love to have 'virsh edit' and friends take advantage of
> normalization.  Right now, if you run 'virsh edit' and type in something
> that libvirt doesn't recognize, it gets silently discarded; but if we
> add normalization into the mix and do a strcmp of the xml before the
> user's edits and after the normalization of the edits, we can more
> easily warn the user that not all their edits can be honored, and give
> them a chance to try again.

That's a job for RNG schema validation IMHO.  Round-tripping XML and
doing a strcmp is really poor-mans schema validation.

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 :|




More information about the libvir-list mailing list