On Wed, Jun 08, 2022 at 04:40:05PM +0000, Rob Wilton (rwilton) wrote:
> > 
> > Rob,
> > 
> > discussing details is likely distracting from the main difference in
> > our viewpoints so I will only give a top posting response.
> 
> Okay.
> 
> I believe that the consensus of the authors on the weekly calls is also that 
> annotations at the "data definition" level are helpful, alongside module and 
> package (i.e., schema level) version numbers.
> 
> Hence, my understanding of the main difference is whether 
> non-backwards-compatible changes MUST always be explicitly documented at the 
> data node level (and hence whether that means that data nodes can never be 
> deleted from a YANG module), or whether these annotations are unnecessary, 
> and potentially unhelpfully clutter the YANG module in the cases where 
> tooling can robustly infer whether the change is backwards compatible or not.

For me, its a MUST. If you potentially break things, you have to tell
others. If you choose to violate the YANG 1.1 update rules, you have
to document that. Deleting data nodes (well, data nodes is actually
too limiting but that is likely a detail) is a special case and some
way to document that something was remvoed is indeed needed. I think
it is wrong to use a corner case to design the general case here.

If your YANG module gets cluttered because of NBC changes, perhaps
there is something to be said about the engineering process. To
unclutter a module, you give it a new new and remove the history.  I
do not believe that there is a robust algorithm to infer in the
general case whether a change in NBC or not, so it is pointless to
consider this option.
 
> Possibly there is also a second difference of opinion as to whether it is 
> appropriate/safe to assume that any changes that are not explicitly marked as 
> being non-backwards-compatible are in fact backwards compatible.  I.e., 
> specifically, is a "backwards-compatible" annotation also required in the 
> cases where a tool cannot safely infer that a change is backwards-compatible.

If NBC markers are a MUST, then everything not marked is a BC
change. In YANG 1.1, everything following the update rules is a BC
change, hence there are no markers. It seems logical to me to keep the
existing assumptions.

> Do you think that accurately represents the difference in opinion
> from your perspective?

There is another one concerning the implementation. If YANG is changed
in such a way that existing deployed tools derive wrong conclusions,
then this is an NBC change to YANG and the YANG version number needs
to be incremented.

/js

-- 
Jürgen Schönwälder              Jacobs University Bremen gGmbH
Phone: +49 421 200 3587         Campus Ring 1 | 28759 Bremen | Germany
Fax:   +49 421 200 3103         <https://www.jacobs-university.de/>

_______________________________________________
netmod mailing list
[email protected]
https://www.ietf.org/mailman/listinfo/netmod

Reply via email to