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

Martin Bjorklund <mbj@tail-f.com> Wed, 04 December 2019 09:35 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 34AB9120026; Wed, 4 Dec 2019 01:35:47 -0800 (PST)
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, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=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 AcAAsAsydU-l; Wed, 4 Dec 2019 01:35:45 -0800 (PST)
Received: from mail.tail-f.com (mail.tail-f.com [46.21.102.45]) by ietfa.amsl.com (Postfix) with ESMTP id 531E4120024; Wed, 4 Dec 2019 01:35:45 -0800 (PST)
Received: from localhost (unknown [173.38.220.41]) by mail.tail-f.com (Postfix) with ESMTPSA id 28B0E1AE02AA; Wed, 4 Dec 2019 10:35:44 +0100 (CET)
Date: Wed, 04 Dec 2019 10:35:10 +0100 (CET)
Message-Id: <20191204.103510.155420166972309571.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: <157539877208.24851.10333944750255427374.idtracker@ietfa.amsl.com>
References: <157539877208.24851.10333944750255427374.idtracker@ietfa.amsl.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/vJKeFHEqUOKDdvu1ATO-7bhknQU>
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: Wed, 04 Dec 2019 09:35:47 -0000

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.

> 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