Re: [netmod] Benjamin Kaduk's No Objection on draft-ietf-netmod-yang-data-ext-04: (with COMMENT)

Martin Bjorklund <mbj@tail-f.com> Thu, 05 December 2019 08:02 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 2106B1200F5; Thu, 5 Dec 2019 00:02:28 -0800 (PST)
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, SPF_HELO_NONE=0.001, 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 I8m1AaKAr1FH; Thu, 5 Dec 2019 00:02:26 -0800 (PST)
Received: from mail.tail-f.com (mail.tail-f.com [46.21.102.45]) by ietfa.amsl.com (Postfix) with ESMTP id 34ED51200B3; Thu, 5 Dec 2019 00:02:26 -0800 (PST)
Received: from localhost (unknown [173.38.220.41]) by mail.tail-f.com (Postfix) with ESMTPSA id 93CF01B04D92; Thu, 5 Dec 2019 09:02:23 +0100 (CET)
Date: Thu, 05 Dec 2019 09:01:49 +0100
Message-Id: <20191205.090149.2019624525159947827.mbj@tail-f.com>
To: kaduk@mit.edu, noreply@ietf.org
Cc: iesg@ietf.org, draft-ietf-netmod-yang-data-ext@ietf.org, joelja@gmail.com, netmod-chairs@ietf.org, netmod@ietf.org
From: Martin Bjorklund <mbj@tail-f.com>
In-Reply-To: <20191204.103510.155420166972309571.mbj@tail-f.com>
References: <157539877208.24851.10333944750255427374.idtracker@ietfa.amsl.com> <20191204.103510.155420166972309571.mbj@tail-f.com>
X-Mailer: Mew version 6.8 on Emacs 25.2
Mime-Version: 1.0
Content-Type: Text/Plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/HaoB0Pk8Ffie5Zxmpr58hZLScrw>
Subject: Re: [netmod] Benjamin Kaduk's No Objection on draft-ietf-netmod-yang-data-ext-04: (with COMMENT)
X-BeenThere: netmod@ietf.org
X-Mailman-Version: 2.1.29
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, 05 Dec 2019 08:02:28 -0000

Hi,

See one more reply inline.

Martin Bjorklund <mbj@tail-f.com> wrote:
> Hi,
> 
> Benjamin Kaduk via Datatracker <noreply@ietf.org> wrote:
> > Benjamin Kaduk has entered the following ballot position for
> > draft-ietf-netmod-yang-data-ext-04: No Objection
> > 
> > When responding, please keep the subject line intact and reply to all
> > email addresses included in the To and CC lines. (Feel free to cut this
> > introductory paragraph, however.)
> > 
> > 
> > Please refer to https://www.ietf.org/iesg/statement/discuss-criteria.html
> > for more information about IESG DISCUSS and COMMENT positions.
> > 
> > 
> > The document, along with other ballot positions, can be found here:
> > https://datatracker.ietf.org/doc/draft-ietf-netmod-yang-data-ext/
> > 
> > 
> > 
> > ----------------------------------------------------------------------
> > COMMENT:
> > ----------------------------------------------------------------------
> > 
> > Section 1
> > 
> >    The "yang-data" extension from [RFC8040] has been copied here,
> >    renamed to "structure", and updated to be more flexible.  There is no
> > 
> > The Gen-Art reviewer had a good comment on this that should be acted
> > upon.
> 
> Yes. This is now changed to:
> 
>   This document defines a new YANG extension statement called
>   "structure", which is similar to but more flexible than the
>   "yang-data" extension from [RFC8040].
> 
> 
> > Section 2
> > 
> >    This does not mean a YANG data structure has to be used as a top-
> >    level protocol message or other top-level data structure.
> > 
> > I was confused by this until I got through Section 4, which (I think!)
> > clarified that I need a top-level extension directive to "declare the
> > named structure", but this is saying that once the structure is
> > declared, it can be placed anywhere in the tree as a "node of structure
> > type".
> 
> It means that once a structure is defined, we don't put any limitations
> on how / where it is used.  It might be used to define some kind of
> message that is used on its own, or it might be used to define a
> structure that can be nested within some other data.  
> 
> An example of the latter is given in A.5.
> 
> > Perhaps we could add a few words here to clarify, e.g., "YANG
> > data structure, once defined," or "A YANG data structure can be used as
> > any other data type, in the rest of the module"?
> 
> Yes, the former is better.  The sentence now reads:
> 
>   This does not mean a YANG data structure, once defined, has to be
>   used as a top-level protocol message or other top-level data
>   structure.
> 
> > Section 3
> > 
> > Do we need to say anything about how the child <node>s under
> > structure/augment-structure get printed?  (I assume they get the same
> > handling as for the datastore tree, but could be wrong.)
> 
> They do.  Perhaps we can add:
> 
>    Nodes in YANG data structures are printed according to the rules
>    defined in section 2.6 in [RFC8340].
> 
> 
> > 
> >    The new sections, including spaces conventions is:
> > 
> >        structure <structure-name>:
> > 
> > (I see four spaces between the column the paragraph starts in and the
> > column the "structure" keyword starts in, not two.)
> 
> Thanks, fixed.
> 
> >    [augment-structure]
> >    [...]
> >              The sub-statements of this extension MUST follow the ABNF
> >           rules below, where the rules are defined in RFC 7950:
> > 
> >             [status-stmt]
> >             [description-stmt]
> >             [reference-stmt]
> >             1*(data-def-stmt / case-stmt)
> > 
> > Comparing to RFC 7950's augment-stmt, we see that when-stmt and
> > if-feature-stmt are not present; would those be used externally to the
> > augment-structure declaration if needed?
> 
> I will discuss this with my co-author and get back.  It might be an
> oversight.

If you need "if-feature" or "when" in this situation you can put it on
the nodes inside the "augment-structure".  For example, instead of:

  augment-structure ... {
    if-feature x;
    container y;
  }

you would do:

  augment-structure ... {
    container y {
      if-feature x;
    }
  }

and similar for "when".



/martin


> 
> > Section 6
> > 
> > I might consider adding a note that the data being modelled might have
> > its own security considerations, but there's a pretty good case that
> > this is already covered in RFC 7950 and thus would be redundant here.
> 
> Yes I think that since we specifically refer to the text in 7950 we
> shouldn't just repeat that text.  I guess we could repeat the text
> from 7950 and remove the reference, but I think I would prefer to keep
> the ref.
> 
> > Appendix A.1
> > 
> > Using last+first as the only naming options (and the list keys) is
> > perhaps a bit unfortunate, given, e.g.,
> > https://www.kalzumeus.com/2010/06/17/falsehoods-programmers-believe-about-names/
> > (which has been popularized several times on varous social-media sites
> > over the years).
> > I suppose it still suffices for the purposes of this example, though.
> 
> I was going to suggest to use a single key "name", but that would
> break his issues 1-4...  So hopefully the current list is ok; it is
> just an example.
> 
> > Appendix A.3, A.4
> > 
> > As Alexey notes, maybe have two address entries in the example so
> > that the reader sees
> > the encoding of the list structure?
> 
> Ok, it doesn't hurt to add it, although I don't think that this
> document is the right place to show examples of standard YANG encoding
> rules.  I'll add one more address.
> 
> 
> /martin
>