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

Reply via email to