Re: [netmod] Does the YANG "status" statement inherit from its parent node?
Martin Bjorklund <mbj@tail-f.com> Thu, 22 December 2016 10:49 UTC
Return-Path: <mbj@tail-f.com>
X-Original-To: netmod@ietfa.amsl.com
Delivered-To: netmod@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 6E32B129842 for <netmod@ietfa.amsl.com>; Thu, 22 Dec 2016 02:49:42 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -5.001
X-Spam-Level:
X-Spam-Status: No, score=-5.001 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RP_MATCHES_RCVD=-3.1, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id Y2u8YCM0TCL7 for <netmod@ietfa.amsl.com>; Thu, 22 Dec 2016 02:49:41 -0800 (PST)
Received: from mail.tail-f.com (mail.tail-f.com [46.21.102.45]) by ietfa.amsl.com (Postfix) with ESMTP id 455EF1297F7 for <netmod@ietf.org>; Thu, 22 Dec 2016 02:49:41 -0800 (PST)
Received: from localhost (h-13-76.a165.priv.bahnhof.se [155.4.13.76]) by mail.tail-f.com (Postfix) with ESMTPSA id 7FEF31AE028C; Thu, 22 Dec 2016 11:49:40 +0100 (CET)
Date: Thu, 22 Dec 2016 11:49:40 +0100
Message-Id: <20161222.114940.1495001277375813904.mbj@tail-f.com>
To: rwilton@cisco.com
From: Martin Bjorklund <mbj@tail-f.com>
In-Reply-To: <8d2df0d5-b662-23a6-8339-1acf5086ae62@cisco.com>
References: <8ac64b13-469c-31fe-9d2b-ad0487204d69@cisco.com> <20161222.112242.1766522035191268644.mbj@tail-f.com> <8d2df0d5-b662-23a6-8339-1acf5086ae62@cisco.com>
X-Mailer: Mew version 6.5 on Emacs 24.3 / Mule 6.0 (HANACHIRUSATO)
Mime-Version: 1.0
Content-Type: Text/Plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/4j7K7W3PxbU1tzEGbLNMgbfcD-Q>
Cc: netmod@ietf.org
Subject: Re: [netmod] Does the YANG "status" statement inherit from its parent node?
X-BeenThere: netmod@ietf.org
X-Mailman-Version: 2.1.17
Precedence: list
List-Id: NETMOD WG list <netmod.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netmod>, <mailto:netmod-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netmod/>
List-Post: <mailto:netmod@ietf.org>
List-Help: <mailto:netmod-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netmod>, <mailto:netmod-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 22 Dec 2016 10:49:42 -0000
Robert Wilton <rwilton@cisco.com> wrote: > > > On 22/12/2016 10:22, Martin Bjorklund wrote: > > Robert Wilton <rwilton@cisco.com> wrote: > >> > >> On 22/12/2016 10:00, Andy Bierman wrote: > >>> > >>> On Wed, Dec 21, 2016 at 11:49 PM, Ladislav Lhotka <lhotka@nic.cz > >>> <mailto:lhotka@nic.cz>> wrote: > >>> > >>> > >>> > On 22 Dec 2016, at 07:22, Randy Presuhn > >>> <randy_presuhn@alumni.stanford.edu > >>> <mailto:randy_presuhn@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.schoenwaelder@jacobs-university.de > >>> <mailto:j.schoenwaelder@jacobs-university.de> > >>> >> <mailto:j.schoenwaelder@jacobs-university.de > >>> <mailto:j.schoenwaelder@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. > >>> > >>> > >>> > >>> 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) > >> I agree that this certainly seems to be the case if a node is marked > >> as obsolete. It seems that it implicitly forces all child nodes to be > >> obsolete as well regardless of which module they were defined in. > > No I don't think this is correct. If module B augment X in module A, > > and X is obsolete, it does NOT mean that the augmented nodes in B are > > automatically obsolete. However, in an implementation that doesn't > > implement X, the augmented nodes from B are obviously also not > > implemented. > I can get where you are coming from, but if you had a GUI viewer that > was looking at the combined schema tree, I think that you would to see > those descendant children nodes marked in some way to indicate that > implementations may validly not return them. Reporting them as current > when one of their parent nodes was obsolete would seem to be > deceptive. > > Is it that you are trying to differentiate between being explicitly > obsolete vs 'implicitly obsolete' through parentage? I think that within a module, if a parent is obsolete, then all its child should also be obsolete (*). But I do think that the status should be explicitly stated. But marking definition as obsolete in one module cannot automatically make definitions in *other* modules obsolete. (*) _maybe_ 7950 can be interpreted in this way when it says: If a definition is "current", it MUST NOT reference a "deprecated" or "obsolete" definition within the same module If you're in a good mood, you could argue that a child always "references" its parent. /martin
- [netmod] Does the YANG "status" statement inherit… Robert Wilton
- Re: [netmod] Does the YANG "status" statement inh… Martin Bjorklund
- Re: [netmod] Does the YANG "status" statement inh… Juergen Schoenwaelder
- Re: [netmod] Does the YANG "status" statement inh… Andy Bierman
- Re: [netmod] Does the YANG "status" statement inh… Ladislav Lhotka
- Re: [netmod] Does the YANG "status" statement inh… Ladislav Lhotka
- Re: [netmod] Does the YANG "status" statement inh… Martin Bjorklund
- Re: [netmod] Does the YANG "status" statement inh… Andy Bierman
- Re: [netmod] Does the YANG "status" statement inh… Martin Bjorklund
- Re: [netmod] Does the YANG "status" statement inh… Martin Bjorklund
- Re: [netmod] Does the YANG "status" statement inh… Robert Wilton
- Re: [netmod] Does the YANG "status" statement inh… Ladislav Lhotka
- Re: [netmod] Does the YANG "status" statement inh… Andy Bierman
- Re: [netmod] Does the YANG "status" statement inh… Juergen Schoenwaelder
- Re: [netmod] Does the YANG "status" statement inh… Andy Bierman
- Re: [netmod] Does the YANG "status" statement inh… Andy Bierman
- Re: [netmod] Does the YANG "status" statement inh… Juergen Schoenwaelder
- Re: [netmod] Does the YANG "status" statement inh… Juergen Schoenwaelder
- Re: [netmod] Does the YANG "status" statement inh… Andy Bierman
- Re: [netmod] Does the YANG "status" statement inh… Randy Presuhn
- Re: [netmod] Does the YANG "status" statement inh… Ladislav Lhotka
- Re: [netmod] Does the YANG "status" statement inh… Andy Bierman
- Re: [netmod] Does the YANG "status" statement inh… Robert Wilton
- Re: [netmod] Does the YANG "status" statement inh… Martin Bjorklund
- Re: [netmod] Does the YANG "status" statement inh… Robert Wilton
- Re: [netmod] Does the YANG "status" statement inh… Martin Bjorklund
- Re: [netmod] Does the YANG "status" statement inh… Ladislav Lhotka
- Re: [netmod] Does the YANG "status" statement inh… Robert Wilton
- Re: [netmod] Does the YANG "status" statement inh… Andy Bierman
- Re: [netmod] Does the YANG "status" statement inh… Robert Varga
- Re: [netmod] Does the YANG "status" statement inh… Ladislav Lhotka
- Re: [netmod] Does the YANG "status" statement inh… Phil Shafer
- Re: [netmod] Does the YANG "status" statement inh… Andy Bierman
- Re: [netmod] Does the YANG "status" statement inh… Juergen Schoenwaelder
- Re: [netmod] Does the YANG "status" statement inh… Andy Bierman
- Re: [netmod] Does the YANG "status" statement inh… Juergen Schoenwaelder
- Re: [netmod] Does the YANG "status" statement inh… Phil Shafer
- Re: [netmod] Does the YANG "status" statement inh… Robert Wilton
- Re: [netmod] Does the YANG "status" statement inh… Andy Bierman
- Re: [netmod] Does the YANG "status" statement inh… Phil Shafer