Re: [netmod] Does the YANG "status" statement inherit from its parent node?

Robert Wilton <rwilton@cisco.com> Thu, 22 December 2016 10:16 UTC

Return-Path: <rwilton@cisco.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 CB6701294E9 for <netmod@ietfa.amsl.com>; Thu, 22 Dec 2016 02:16:24 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -17.621
X-Spam-Level:
X-Spam-Status: No, score=-17.621 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_HI=-5, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, RP_MATCHES_RCVD=-3.1, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001, USER_IN_DEF_DKIM_WL=-7.5] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=cisco.com
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 Z6J_TV8rkhzu for <netmod@ietfa.amsl.com>; Thu, 22 Dec 2016 02:16:23 -0800 (PST)
Received: from aer-iport-2.cisco.com (aer-iport-2.cisco.com [173.38.203.52]) (using TLSv1.2 with cipher DHE-RSA-SEED-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 773B3129469 for <netmod@ietf.org>; Thu, 22 Dec 2016 02:16:22 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=cisco.com; i=@cisco.com; l=8951; q=dns/txt; s=iport; t=1482401782; x=1483611382; h=subject:to:references:cc:from:message-id:date: mime-version:in-reply-to; bh=CT9hLnA4OJlfrhCc8fdo6odbGcp5ITCZ1+zawFyJ+sY=; b=QAUbugJTINr1uh1QKGk/sA3j4OtSLRDinnHBck2IegAEr5I2H6ds3MHm +mQnb4Xf4QmDVpZvvFovii6qxguDxx9JL4uWOk6cOwPJVLL9xG18bCnJX VE4rSnoDvqI+2dS0A7M081NtxYlK3Cxi8qegYi42Za9+gRCyXdfdjid2A A=;
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: A0D2AgBgp1tY/xbLJq1eGQEBAQEBAQEBAQEBBwEBAQEBgzUBAQEBAYIDjkOVXo9ugxeCD4IJgmyDNgKCKBMBAgEBAQEBAQFiKIRoAQEBAwF5BQsLEAgnB0YRBgEMBgIBAYhgCKtTLopUAQEBAQEBAQEBAQEBAQEBAQEBAQEBHYY2gX2CXIQIIoV3BZp3kTmKIoYvij+DZYQPIQE0gQcWDYYPPjSGLIIuAQEB
X-IronPort-AV: E=Sophos;i="5.33,387,1477958400"; d="scan'208,217";a="648088176"
Received: from aer-iport-nat.cisco.com (HELO aer-core-1.cisco.com) ([173.38.203.22]) by aer-iport-2.cisco.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 22 Dec 2016 10:16:17 +0000
Received: from [10.63.23.74] (dhcp-ensft1-uk-vla370-10-63-23-74.cisco.com [10.63.23.74]) by aer-core-1.cisco.com (8.14.5/8.14.5) with ESMTP id uBMAGHb3028991; Thu, 22 Dec 2016 10:16:17 GMT
To: Andy Bierman <andy@yumaworks.com>, Ladislav Lhotka <lhotka@nic.cz>
References: <m2wpety744.fsf@birdie.labs.nic.cz> <20161221.103208.1910010141581780305.mbj@tail-f.com> <CABCOCHQPRbAbeEg=4-oNzXX6nxJhNbow+ebQy+Qv5NOfngeN7w@mail.gmail.com> <20161221.115438.163227970004322277.mbj@tail-f.com> <CABCOCHSW+pCsUjBiKbxq9NKXZo4eAjBvHKtuOS3tNxgqHzuejw@mail.gmail.com> <20161221223038.GB4526@elstar.local> <CABCOCHTvvvsb0pVF94Fs5m7TdARu9D+M0eQaTo-mQgTHjwsi+w@mail.gmail.com> <20161221234135.GA4630@elstar.local> <CABCOCHRPiS9Og72nRtkwc__W_puH1euqU59qd-VrAUzWsiVeBA@mail.gmail.com> <75ad1f98-c927-ba4b-ea35-7197c89c0759@alumni.stanford.edu> <FD1A7B81-23CA-41EF-AD2D-342E53C9A890@nic.cz> <CABCOCHS+doMN=JWP+1Y=RpEHhBHvUCA5EdJwJPVbhd9w7gGzTg@mail.gmail.com>
From: Robert Wilton <rwilton@cisco.com>
Message-ID: <8ac64b13-469c-31fe-9d2b-ad0487204d69@cisco.com>
Date: Thu, 22 Dec 2016 10:16:17 +0000
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:45.0) Gecko/20100101 Thunderbird/45.4.0
MIME-Version: 1.0
In-Reply-To: <CABCOCHS+doMN=JWP+1Y=RpEHhBHvUCA5EdJwJPVbhd9w7gGzTg@mail.gmail.com>
Content-Type: multipart/alternative; boundary="------------DA0915351443F078FEE411DE"
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/sc_4AF6JhpomQ5IxLJBKHPXx0WY>
Cc: "netmod@ietf.org" <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:16:25 -0000


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.

Rob