On Wed, Dec 21, 2016 at 4:13 PM, Juergen Schoenwaelder < j.schoenwael...@jacobs-university.de> wrote:
> On Wed, Dec 21, 2016 at 03:55:16PM -0800, Andy Bierman wrote: > > On Wed, Dec 21, 2016 at 3:41 PM, Juergen Schoenwaelder < > > j.schoenwael...@jacobs-university.de> 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. > > So have I ... This is hierarchical data. If the parent goes away, so do the child nodes. Seems quite simple to understand. > /js > > Andy > -- > 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 netmod@ietf.org https://www.ietf.org/mailman/listinfo/netmod