Re: [netmod] 'status' statement needed on every node

Juergen Schoenwaelder <j.schoenwaelder@jacobs-university.de> Wed, 06 September 2017 06:44 UTC

Return-Path: <j.schoenwaelder@jacobs-university.de>
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 9610F13235A for <netmod@ietfa.amsl.com>; Tue, 5 Sep 2017 23:44:45 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.9
X-Spam-Level:
X-Spam-Status: No, score=-1.9 tagged_above=-999 required=5 tests=[BAYES_00=-1.9] 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 fczqEB4lLiW1 for <netmod@ietfa.amsl.com>; Tue, 5 Sep 2017 23:44:43 -0700 (PDT)
Received: from atlas5.jacobs-university.de (atlas5.jacobs-university.de [212.201.44.20]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 19F73132357 for <netmod@ietf.org>; Tue, 5 Sep 2017 23:44:43 -0700 (PDT)
Received: from localhost (demetrius5.irc-it.jacobs-university.de [10.70.0.222]) by atlas5.jacobs-university.de (Postfix) with ESMTP id E80C721; Wed, 6 Sep 2017 08:44:41 +0200 (CEST)
X-Virus-Scanned: amavisd-new at jacobs-university.de
Received: from atlas5.jacobs-university.de ([10.70.0.217]) by localhost (demetrius5.jacobs-university.de [10.70.0.222]) (amavisd-new, port 10032) with ESMTP id G-0cPr9isvTO; Wed, 6 Sep 2017 08:44:41 +0200 (CEST)
Received: from hermes.jacobs-university.de (hermes.jacobs-university.de [212.201.44.23]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "hermes.jacobs-university.de", Issuer "Jacobs University CA - G01" (verified OK)) by atlas5.jacobs-university.de (Postfix) with ESMTPS; Wed, 6 Sep 2017 08:44:41 +0200 (CEST)
Received: from localhost (demetrius1.jacobs-university.de [212.201.44.46]) by hermes.jacobs-university.de (Postfix) with ESMTP id C859C200E2; Wed, 6 Sep 2017 08:44:41 +0200 (CEST)
X-Virus-Scanned: amavisd-new at jacobs-university.de
Received: from hermes.jacobs-university.de ([212.201.44.23]) by localhost (demetrius1.jacobs-university.de [212.201.44.32]) (amavisd-new, port 10024) with ESMTP id z6poe2nPKOds; Wed, 6 Sep 2017 08:44:40 +0200 (CEST)
Received: from elstar.local (elstar.jacobs.jacobs-university.de [10.50.231.133]) by hermes.jacobs-university.de (Postfix) with ESMTP id 682E9200E0; Wed, 6 Sep 2017 08:44:40 +0200 (CEST)
Received: by elstar.local (Postfix, from userid 501) id 50FFF4096DD3; Wed, 6 Sep 2017 08:44:40 +0200 (CEST)
Date: Wed, 06 Sep 2017 08:44:40 +0200
From: Juergen Schoenwaelder <j.schoenwaelder@jacobs-university.de>
To: Kent Watsen <kwatsen@juniper.net>
Cc: Andy Bierman <andy@yumaworks.com>, "netmod@ietf.org" <netmod@ietf.org>
Message-ID: <20170906064440.4br5kjna6toeqzlo@elstar.local>
Reply-To: Juergen Schoenwaelder <j.schoenwaelder@jacobs-university.de>
Mail-Followup-To: Kent Watsen <kwatsen@juniper.net>, Andy Bierman <andy@yumaworks.com>, "netmod@ietf.org" <netmod@ietf.org>
References: <13F2175A-C913-4173-BE2A-50C668C08FF6@juniper.net> <20170905181444.tdfliar5zk4hixsd@elstar.local> <CABCOCHS59CLdCHxZHvJr7LSRXH4m1iVpf6GctchYCZjVrLuvGw@mail.gmail.com> <20170905190151.fizr5dljufbyuyty@elstar.local> <B1BB11D4-9051-458E-ACCE-991ADEA4884A@juniper.net>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <B1BB11D4-9051-458E-ACCE-991ADEA4884A@juniper.net>
User-Agent: NeoMutt/20170714 (1.8.3)
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/-LIpvgcBAsnmlw90pKMCkvcs3Cg>
Subject: Re: [netmod] 'status' statement needed on every node
X-BeenThere: netmod@ietf.org
X-Mailman-Version: 2.1.22
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: Wed, 06 Sep 2017 06:44:46 -0000

On Tue, Sep 05, 2017 at 10:50:03PM +0000, Kent Watsen wrote:
> 
> 
> 
> >> I still don't know what it means to define hierarchical data and say the
> >> parent is deprecated but not the descendant nodes.
> >
> > It is odd but can happen anyway. A current augmentation of something
> > that got deprecated likely stays current. I would hope that tools warn
> > if they see this but that's it.
> 
> This example seems to provide support for saying status should be
> inherited.

No, I do not support your conclusion. I think it is crucial that
whoever maintains an augmenting module is actually aware that his
module depends on something deprecated. Silently deprecating (and
eventually obsoleting) definitions maintained by other parties is in
my view not a good idea. It is far better to clearly indicate that
there is some work to do by the augmenting module maintainer.

> But, to be clear, you agree that if a parent is deprecated,
> than its decedents should be deprecated as well, right? 

Yes.
 
> >> This is rather non-intuitive, as is the idea that all descendant
> >> nodes need to be manually edited (status is not inherited).
> >
> > Not a big deal. The benefit is that a reader like me knows clear that
> > the definition I am look at is deprecated, no need to search backwards
> > to find out.
> 
> tree diagrams do this too, though I like Martin's approach of removing
> the deprecated -state trees from the tree diagram altogether.
> 
> 
> 
> >> It also means the objects expanded from groupings cannot ever be
> >> changed (clearly a bug in YANG).
> >
> > Yes, bug in YANG.
> 
> Is this the same issue I raised?
> 
>   import ietf-foo {
>     prefix f;
>   }
> 
>   container bar {
>     uses f:foo;
>   }
> 
>   container baz {
>     status deprecated;
>     uses f:foo;            <-- oops, descendants not deprecated!
>   }                           (not a problem if status inherited)

I think I look at this very differently. If something is defined in
f:foo that is current, then this is inherited where f:foo is
used. What we need is a way to refine that if the usage context has
differnet requirements, like we allow to refine other properties of a
grouping to adapt it to the usage context.

/js

-- 
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/>