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

Martin Bjorklund <mbj@tail-f.com> Wed, 06 September 2017 06:55 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 2F66B1321A5 for <netmod@ietfa.amsl.com>; Tue, 5 Sep 2017 23:55:57 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.901
X-Spam-Level:
X-Spam-Status: No, score=-1.901 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, 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 c1aOnCnbGzve for <netmod@ietfa.amsl.com>; Tue, 5 Sep 2017 23:55:56 -0700 (PDT)
Received: from mail.tail-f.com (mail.tail-f.com [46.21.102.45]) by ietfa.amsl.com (Postfix) with ESMTP id E71E3126E7A for <netmod@ietf.org>; Tue, 5 Sep 2017 23:55:55 -0700 (PDT)
Received: from localhost (unknown [173.38.220.41]) by mail.tail-f.com (Postfix) with ESMTPSA id F22A61AE0187; Wed, 6 Sep 2017 08:55:54 +0200 (CEST)
Date: Wed, 06 Sep 2017 08:54:21 +0200
Message-Id: <20170906.085421.399708327964847720.mbj@tail-f.com>
To: j.schoenwaelder@jacobs-university.de
Cc: kwatsen@juniper.net, netmod@ietf.org
From: Martin Bjorklund <mbj@tail-f.com>
In-Reply-To: <20170906064440.4br5kjna6toeqzlo@elstar.local>
References: <20170905190151.fizr5dljufbyuyty@elstar.local> <B1BB11D4-9051-458E-ACCE-991ADEA4884A@juniper.net> <20170906064440.4br5kjna6toeqzlo@elstar.local>
X-Mailer: Mew version 6.7 on Emacs 24.5 / 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/q0eJc_VNFKs8K7OBh0hO6z1H08M>
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:55:57 -0000

Juergen Schoenwaelder <j.schoenwaelder@jacobs-university.de> wrote:
> 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.

I think that marking the uses statement with status deprecated should
mean that all nodes in the grouping are "auto-refined" with status
deprecated.  Listing them all in explciit refine doesn't help
anyone imo.


/martin