Martin Bjorklund <m...@tail-f.com> wrote: > Hi, > > "Sterne, Jason (Nokia - CA/Ottawa)" <jason.ste...@nokia.com> wrote: > > Hi all, > > > > If we have a YANG model with a leaf: > > > > MODEL VERSION 1: > > container my-model { > > leaf a { type string; } > > } > > > > And then later we produce another version of the model where that leaf > > is placed into a choice construct: > > > > MODEL VERSION 2: > > container my-model { > > choice some-choice { > > case x { > > leaf a { type string; } > > } > > } > > } > > > > Is that considered a non-backwards-compatible change? > > Not accordning to current RFC 7950 rules, since it changes the schema ^^^^^^^^^^^^^^^^^
I meant, "Yes, accordning to current RFC 7950 rules this is not allowed". But I think you got that. /martin > node path (suppose the leaf was a container, and someone had augment > /my-model/a). > > > Does the answer depend on whether the choice contains other cases (or > > other cases that are the default case)? > > No. > > > MODEL VERSION 3: > > container my-model { > > choice some-choice { > > case x { > > leaf a { type string; } > > } > > case y { > > leaf b { type string; } > > } > > } > > } > > > > A client 'foo' using VERSION 1 would still be able to set & read back > > leaf a in the same way as it always did. > > > > But if another client 'bar' (using VERSION 3) sets leaf 'b', then leaf > > 'a' would disappear. That could be surprising to client 'foo' although > > perhaps no more surprising than if another client simply deletes leaf > > 'a' (using VERSION 1). > > > > /martin > > _______________________________________________ > netmod mailing list > netmod@ietf.org > https://www.ietf.org/mailman/listinfo/netmod > > _______________________________________________ netmod mailing list netmod@ietf.org https://www.ietf.org/mailman/listinfo/netmod