On Wed, Jul 24, 2019 at 17:11:19 +0100, Daniel Berrange wrote:
> On Wed, Jul 24, 2019 at 12:55:58AM -0500, Eric Blake wrote:
> > Add a new file checkpoint_conf.c that performs the translation to and
> > from new XML describing a checkpoint. The code shares a common base
> > class with snapshots, since a checkpoint similarly represents the
> > domain state at a moment in time. Add some basic testing of round trip
> > XML handling through the new code.
> > 
> > Of note - this code intentionally differs from snapshots in that XML
> > schema validation is unconditional, rather than based on a public API
> > flag.
> 
> I'm in two minds as to whether this is really a good idea.
> 
> I always have a strong tendancy to prefer consistency across the APIs
> we expose, which would point to an opt-in flag for validation. If we
> did later find we need a way to skip validation, then we end up having
> to add a NO_VALIDATION API flag, which makes inconsitency even more
> glaring to app devs
> 
> I understand that this can help catch mistakes in apps, but I'm not
> sold on it as a default, when it is easy for apps to opt-in if they
> want to.

I've specifically requested this behaviour as I don't think that there's
value in not validating the XML. The XML parser is tied to what we parse
anyways and the checks done when parsing are _WAY_ simpler if we know
that all the values conform to the schema.

Also if we'd ever want to do a generated parser, we will need to
strictly adhere to the schema first. Consistency is great as long as it
does not hinder progress. And in this case I think that validating
everything right away is progress.

Attachment: signature.asc
Description: PGP signature

--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list

Reply via email to