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

Andy Bierman <andy@yumaworks.com> Tue, 05 September 2017 23:36 UTC

Return-Path: <andy@yumaworks.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 913B81320DC for <netmod@ietfa.amsl.com>; Tue, 5 Sep 2017 16:36:13 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.899
X-Spam-Level:
X-Spam-Status: No, score=-1.899 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HTML_MESSAGE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=yumaworks-com.20150623.gappssmtp.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 C8HoGZpMo0DQ for <netmod@ietfa.amsl.com>; Tue, 5 Sep 2017 16:36:11 -0700 (PDT)
Received: from mail-it0-x229.google.com (mail-it0-x229.google.com [IPv6:2607:f8b0:4001:c0b::229]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id C486012426E for <netmod@ietf.org>; Tue, 5 Sep 2017 16:36:11 -0700 (PDT)
Received: by mail-it0-x229.google.com with SMTP id k189so5921615itk.0 for <netmod@ietf.org>; Tue, 05 Sep 2017 16:36:11 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yumaworks-com.20150623.gappssmtp.com; s=20150623; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=ktbHDndeKXvIaN5rG8G90g5ljEdbcgxNRb0vphZ7vps=; b=pGvi0Dvw8vujDpF2AEs1xorGRiUspKRzOwEkhNRVoL0X84gvyEg6CejgrfhOysl+s8 f2ykHKrVuhlTH3SA0dt/V8nXs6opNVZiE85tBWQTJLcBC3+YXUvIzH6SZg0cVmEQrABa izLVkZq+9I4UcKGgtppG73SJ+ftmTrOENZNt7v/S+4vMeJZdykrQALcSlaPx08t1d+/H nabnB5lYqzZ5Hp57Qe5YQQhUBC3NDAOD+jHCv/2HLovozr7OfFKfYkV9Zu8+W0yKfgnV JKTNdWKWdXAcItAOjY7gY/fKvrcTyJRX72Y3h2YUh7uYItK/HTCz+xjrhqe0ErsygpvA gOGg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=ktbHDndeKXvIaN5rG8G90g5ljEdbcgxNRb0vphZ7vps=; b=s+6o+aM5ETmtmYvpxCaUtSR411eajUziMVX625B83aJA58zpb6DMUQwewDuyf0dL+L xwj45XObMZyB6sA9f2vXouhLFbeGYnlJlOLXG194RZFH00IglHvXX4qIXwIL3QcFYE4Y ruEii3AbfIB+pTGygWuFMJEXucHed+exk5K/ZesT5gJzbt7qRSbMhmWASlQ2gj3z6YoJ lOOYHU9LS0Vgpq0OLm3iC3aU0iW2vYRIDSGPOmLyQNqlDWKZgUx6iRyrRwbCsa0PvNEX CHmjqjTHjZfIXuHcSvfhdhdINBwrx3V7g+EVAAE1+/pp4vv2fGgTcIOFI9tLfsJLewHm lCQg==
X-Gm-Message-State: AHPjjUjHaE/yrF8RSRCbZ1EgAdQ0Yj2nK2Nln7HyHgGXZXtG8wA2Do5K A3xc0BXljUTY5gjWCFf0NA7pczwVs2sM
X-Google-Smtp-Source: ADKCNb5Pr4eTsdhl3E9i0crIbu3ZljWRX08K6FnuVu/FJW06unl7PIUCfPmGyjgRl5c1/iC6nvDpS+z+9FwFMDddQL0=
X-Received: by 10.36.40.138 with SMTP id h132mr1033129ith.26.1504654571076; Tue, 05 Sep 2017 16:36:11 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.36.6.206 with HTTP; Tue, 5 Sep 2017 16:36:10 -0700 (PDT)
In-Reply-To: <B1BB11D4-9051-458E-ACCE-991ADEA4884A@juniper.net>
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>
From: Andy Bierman <andy@yumaworks.com>
Date: Tue, 05 Sep 2017 16:36:10 -0700
Message-ID: <CABCOCHTycfsSi11Jfsrs=mFstzYg3257JtFGqgKGr-NpR8rxgQ@mail.gmail.com>
To: Kent Watsen <kwatsen@juniper.net>
Cc: Juergen Schoenwaelder <j.schoenwaelder@jacobs-university.de>, "netmod@ietf.org" <netmod@ietf.org>
Content-Type: multipart/alternative; boundary="001a113f62ec38248b055879b15a"
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/P-tNBzKs3YLWH-YtGkoehy9wG6M>
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: Tue, 05 Sep 2017 23:36:13 -0000

On Tue, Sep 5, 2017 at 3:50 PM, Kent Watsen <kwatsen@juniper.net> 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.  But, to be clear, you agree that if a parent is deprecated,
> than its decedents should be deprecated as well, right?
>
>
>
right -- the RFC says this has to be done manually.
A missing status-stmt means status=current.



>
> >> 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)
>
>
According to my interpretation of 7.21.2, this is a MUST NOT:

   If a definition is "current", it MUST NOT reference a "deprecated" or
   "obsolete" definition within the same module.

   If a definition is "deprecated", it MUST NOT reference an "obsolete"
   definition within the same module.

   For example, the following is illegal:

     typedef my-type {
       status deprecated;
       type int32;
     }

     leaf my-leaf {
       status current;
       type my-type; // illegal, since my-type is deprecated
     }

The term "reference" is not really defined above.
It should also clearly apply to "uses" (e.g., your example) and  leafref
path-stmt.

   leaf foo {
     type string;
     status deprecated;
  }

  leaf bar {
    type leafref { path /foo; }
  }

If it apples to path-stmt, then why not all XPath?
Why doesn't "reference" include descendant nodes?

The text in 7950 is too strict and can cause a massive ripple-effect when
any status-stmt is changed.
 At the same time it is too vague to be useful to implementors.


> K.
>
>
>
>
>
Andy