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

Reply via email to