On Wed, Dec 21, 2016 at 03:55:16PM -0800, Andy Bierman wrote: > On Wed, Dec 21, 2016 at 3:41 PM, Juergen Schoenwaelder < > [email protected]> wrote: > > > On Wed, Dec 21, 2016 at 02:47:49PM -0800, Andy Bierman wrote: > > > Hi, > > > > > > YANG data is hierarchical. > > > It makes no sense at all the consider the descendant nodes current > > > when the parent is deprecated or obsolete. If the parent goes away > > > then it is impossible to access any descendant nodes, so the > > > default status of 'current' is meaningless in this case. > > > > > > If you augment somebody else's subtree and they decide to deprecate > > > or obsolete it, your data is also deprecated or obsolete. > > > That's how hierarchcal data works. > > > > > > > We disagree, in particular when it comes to deprecated. And as I > > mentioned in a previous email, the bigger picture is not just about > > containers and nesting hierarchies. We can deprecate typedefs, > > groupings, we may deprecate a leaf that is referred to by other > > leafrefs etc. With your idea that deprecating something means that > > everything that directly or indirectly refers to this something gets > > automatically deprecated as well, we may turn 'deprecated' into a > > pointless tool. > > > > In general, it is impossible to determine what all directly or > > indirectly refers to a certain definition unless you have access to > > all YANG modules in the world. So how can you ever take a decision to > > deprecate something if there is no reliable way to assess the impact? > > Hence, the deprecate status becomes effectively pointless. I rather > > have an interpretation of deprecated that actually serves a purpose, > > namely making maintainers of current definitions aware that their > > current definitions depend on something now deprecated. > > > > Perhaps I am blinded by the way @deprecate or __attribute__ > > ((deprecated)) or [[deprecated]] work in various programming > > languages. All these annotations do not deprecate my code, they just > > cause the generation of warnings so that I get aware of the issue and > > can do my homework. > > > > > There are no protocols that let you manage orphaned data nodes > without any parent. No way to represent it in XML or JSON either. > No way to specify a RESTCONF target resource that leaves out > some intermediate data nodes. > > It seems obvious that the deprecated warning (this node may go away) > also applies to all descendant nodes. Once the node is changed from > deprecated to obsolete, all the descendant nodes are gone as well, > so ignoring the warning because YANG says the default is current seems > unwise.
I have been writing about 'deprecated'. I can't say it more clearly. /js -- Juergen Schoenwaelder Jacobs University Bremen gGmbH Phone: +49 421 200 3587 Campus Ring 1 | 28759 Bremen | Germany Fax: +49 421 200 3103 <http://www.jacobs-university.de/> _______________________________________________ netmod mailing list [email protected] https://www.ietf.org/mailman/listinfo/netmod
