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.



/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
[email protected]
https://www.ietf.org/mailman/listinfo/netmod

Reply via email to