> On 22 Dec 2016, at 07:22, Randy Presuhn <randy_pres...@alumni.stanford.edu> > wrote: > > Hi - > > On 12/21/2016 3:55 PM, Andy Bierman wrote: >> >> >> On Wed, Dec 21, 2016 at 3:41 PM, Juergen Schoenwaelder >> <j.schoenwael...@jacobs-university.de >> <mailto:j.schoenwael...@jacobs-university.de>> wrote: > ... >> 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. > > Deprecating (or obsoleting) a definition does not orphan data nodes. > Perhaps I'm blinded by the way SNMP works, but it seems to me that > a robust client will need to be able to process data corresponding > to deprecated (or obsolete) definitions. Likewise, developers > of server-side software may find themselves in situations where > supporting obsolete definitions is a commercial necessity. Things > certainly played out that way in the SNMP world. I agree with Juergen > that tool-generated warnings seem to be the correct way to go.
I agree that making a node deprecated or obsolete doesn't mean that its descendants are orphaned, it just means they cannot be current, and then "current" shouldn't be the default status for them - also because the descendants may come from other modules (via groupings and augments) that cannot be changed. Even if the default status is inherited, tools can still generate warnings. A data modeller can decide whether and where it makes sense to have the "status" statement explicitly, but isn't forced to do it everywhere. Lada > >> 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, > > No, they're not *gone*. The *advisability* of implementing them has > changed, but the definitions still exist, and implementer judgement > is still needed. The change in status only means that a client is > less able to rely on the assumption that those definitions will be > supported by a given system - but there's very little that it can > rely on being implemented anyway, so it doesn't really change much > for a robust client. > >> so ignoring the warning because YANG says the default is current seems >> unwise. > > I do agree with this bit of conclusion, but sometimes after looking > at a warning and considering the larger context, ignoring the > warning *is* the right thing to do. > > Randy > > _______________________________________________ > netmod mailing list > netmod@ietf.org > https://www.ietf.org/mailman/listinfo/netmod -- Ladislav Lhotka, CZ.NIC Labs PGP Key ID: 0xB8F92B08A9F76C67 _______________________________________________ netmod mailing list netmod@ietf.org https://www.ietf.org/mailman/listinfo/netmod