> On 22 Dec 2016, at 11:00, Andy Bierman <[email protected]> wrote: > > > > On Wed, Dec 21, 2016 at 11:49 PM, Ladislav Lhotka <[email protected]> wrote: > > > On 22 Dec 2016, at 07:22, Randy Presuhn <[email protected]> > > wrote: > > > > Hi - > > > > On 12/21/2016 3:55 PM, Andy Bierman wrote: > >> > >> > >> On Wed, Dec 21, 2016 at 3:41 PM, Juergen Schoenwaelder > >> <[email protected] > >> <mailto:[email protected]>> 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. > > > > NETCONF and RESTCONF have no mechanisms for accessing data other than > top-down from the top-level YANG data node to the target node. > Removing an ancestor node from the server implementation effectively removes > the entire subtree from the implementation. (The value of the YANG > status-stmt > of the descendant nodes has nothing to do with it)
Expected server/protocol behaviour for nodes of a given status is specified in sec. 7.21.2 and IMO it is a different issue. What may need to be clarified wrt YANG is how to figure out the status of each node from the data model. In particular, - what ancestor/descendant combinations of statuses are permitted - what is the default if "status" statement is omitted. Lada > > > Lada > > Andy > > > > > >> 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 > > [email protected] > > https://www.ietf.org/mailman/listinfo/netmod > > -- > Ladislav Lhotka, CZ.NIC Labs > PGP Key ID: 0xB8F92B08A9F76C67 > > > > > > _______________________________________________ > netmod mailing list > [email protected] > https://www.ietf.org/mailman/listinfo/netmod -- Ladislav Lhotka, CZ.NIC Labs PGP Key ID: 0xB8F92B08A9F76C67 _______________________________________________ netmod mailing list [email protected] https://www.ietf.org/mailman/listinfo/netmod
