Re: [yang-doctors] Yangdoctors early review of draft-ietf-opsawg-mud-08

Eliot Lear <lear@cisco.com> Mon, 28 August 2017 08:32 UTC

Return-Path: <lear@cisco.com>
X-Original-To: yang-doctors@ietfa.amsl.com
Delivered-To: yang-doctors@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 1BBAA132CEF; Mon, 28 Aug 2017 01:32:03 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -14.5
X-Spam-Level:
X-Spam-Status: No, score=-14.5 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_HI=-5, SPF_PASS=-0.001, USER_IN_DEF_DKIM_WL=-7.5] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=cisco.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 Qv2a5GOU4MHI; Mon, 28 Aug 2017 01:32:00 -0700 (PDT)
Received: from aer-iport-2.cisco.com (aer-iport-2.cisco.com [173.38.203.52]) (using TLSv1.2 with cipher DHE-RSA-SEED-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 868AF132025; Mon, 28 Aug 2017 01:31:59 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=cisco.com; i=@cisco.com; l=18653; q=dns/txt; s=iport; t=1503909120; x=1505118720; h=subject:to:cc:references:from:message-id:date: mime-version:in-reply-to; bh=jKDtCfQWBoCvmqacSDM7y9sirWQAuzC/6oAhU0e3fio=; b=aykh8zZDPzqL0Oinj6hHfEt0Zq004IoZKv5pDi1qjIfcqZVrRqUNQsIy 4paE1HevKz/iVnOBR3QBFyvHnhuBe4Z9AS6zET0FerJ4ezDnSKjLD+PZ5 FmP3xII+Bgbs+qnINUXsyHJ9io93LeL+iZGwHBrlNfQZCV95R8p1HeL8b M=;
X-Files: signature.asc : 481
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: A0BPAQD006NZ/xbLJq1bGgEBAQECAQEBAQgBAQEBgm+GW4oddJESkGiFPg6CBAeFQAKELhgBAgEBAQEBAQFrKIUZAQQBI1YFCwsONAICVwYBDAgBAYolCLIRgicnizIBAQEBAQEBAwEBAQEBAQEBAQEBDg+DKoUzK4J9hE4PAoMpgkIfBYoNhxSHCYg6hDSCIYRXiRqCEoVmg1mHF4l0jEkfOIENMiEIHBVJhx0+iF2CQQEBAQ
X-IronPort-AV: E=Sophos;i="5.41,440,1498521600"; d="asc'?scan'208,217";a="654230079"
Received: from aer-iport-nat.cisco.com (HELO aer-core-2.cisco.com) ([173.38.203.22]) by aer-iport-2.cisco.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 28 Aug 2017 08:31:55 +0000
Received: from [10.61.198.200] ([10.61.198.200]) by aer-core-2.cisco.com (8.14.5/8.14.5) with ESMTP id v7S8VsC8018749; Mon, 28 Aug 2017 08:31:54 GMT
To: Martin Bjorklund <mbj@tail-f.com>, yang-doctors@ietf.org
Cc: draft-ietf-opsawg-mud.all@ietf.org, opsawg@ietf.org
References: <150340909415.6001.14045177084948571272@ietfa.amsl.com>
From: Eliot Lear <lear@cisco.com>
Message-ID: <eec794de-73b4-2e95-b014-fc1bfab82873@cisco.com>
Date: Mon, 28 Aug 2017 10:31:54 +0200
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.12; rv:52.0) Gecko/20100101 Thunderbird/52.3.0
MIME-Version: 1.0
In-Reply-To: <150340909415.6001.14045177084948571272@ietfa.amsl.com>
Content-Type: multipart/signed; micalg="pgp-sha256"; protocol="application/pgp-signature"; boundary="Ms80gB9GTWU6M7pfNQSOrbCm6J39Nenac"
Archived-At: <https://mailarchive.ietf.org/arch/msg/yang-doctors/4A3ttMzg-NMZHG3QcJiYz34TLC4>
Subject: Re: [yang-doctors] Yangdoctors early review of draft-ietf-opsawg-mud-08
X-BeenThere: yang-doctors@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: Email list of the yang-doctors directorate <yang-doctors.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/yang-doctors>, <mailto:yang-doctors-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/yang-doctors/>
List-Post: <mailto:yang-doctors@ietf.org>
List-Help: <mailto:yang-doctors-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/yang-doctors>, <mailto:yang-doctors-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 28 Aug 2017 08:32:03 -0000

Hi Martin,

Thanks for performing the review.  Please see responses below.

 On 8/22/17 3:38 PM, Martin Bjorklund wrote:

> Reviewer: Martin Bjorklund
> Review result: Ready with Issues
>
> Hi,
>
> I am the assigned YANG doctors reviewer for this document.  Here are
> my comments:
>
>
> o  Section 2 says:
>
>    The MUD file is limited to the serialization of a
>    small number of YANG schema, including the models specified in the
>    following documents:
>
>    o  [I-D.ietf-netmod-acl-model]
>
>    o  [RFC6991]
>
>    Is the intention that *only* these models are included, or *at
>    least* these models are included?

ONLY.

>    RFC6991 doesn't define any data nodes, so I don't think it needs to
>    be listed.  

Will remove.

> I suggest you are a bit more specific, and list:
>
>      o  ietf-access-control-list [I-D.ietf-netmod-acl-model]
>
>      o  ietf-mud [...]

Will do.

> o  Section 3 uses the term "element" (it is used in other places as
>    well).  YANG uses the term "data node" or "node".  Or "YANG data
>    node".  I suggest you use one of these terms, and import the term
>    in your Terminology section.

Will replace.

>    Also, the YANG module uses the term "element" to refer to "device":
>
>     leaf is-supported {
>       type boolean;
>       description
>         "The element is currently supported
>          by the manufacturer.";
>     }
>
Will correct.

> o  In your Terminology section you introduce the term "Thing".  But
>    the text often use "device".  Maybe use "device" consistently?
>
Will correct.

> o  In order to get consistent indentation of the YANG modules, I
>    suggest you run:
>
>      pyang -f yang ietf-mud.yang
>
>    (and same for ietf-acldns.yang)
>
We are making some changes, and are making heavy use of pyang --ietf
--strict...

> o  Ensure that description statements contain proper sentences.  Also
>    ensure that the descriptions are descriptive.  As an example of the
>    latter, this is not a good description:
>
>     description
>       "Which way are we talking about?";
>
>    In general, I found that the main document had better descriptions
>    than the YANG module.  Consider moving the text from the main
>    document to the YANG module (this also reduces the risk of
>    inconsistencies).  If don't want to move text, I think you need to
>    spend some effort on almost all descriptions in the YANG module.

As we move toward completion I may ask for your help.  I am nervous of
simply moving chunks of text into the descriptions because I think we
have a fairly readable document outside of the model.   I am perfectly
happy to copy text in, however.

> o  In both modules, make sure you have a single revision
>    statement.  Note that in IETF-terms, a revision statement is added
>    when a new version of the module is publsihed as an RFC (so the
>    initial RFC would have one revision statement).

Ok.

> o  The "ietf-mud" module is a bit unorthodox; it defines configuration
>    data nodes, but it is not supposed to be implemented by a normal
>    NETCONF/RESTCONF server.  Rather, it will be instantiated in a JSON
>    file.  I think this should be stated in the description of the
>    module.
>
Ok.

> o  I don't think the feature "mud-acl" is necessary.  It is only used
>    to make the acl augment conditional on the feature.  I think that
>    if this module is supported, the feature is also supported.  Or do
>    you envision implementations of this module that would not support
>    this feature?  If so, maybe you can explain that use case in the
>    document.

Fair point.  This was included in keeping with the acl model's
direction, but given that it is already an augment, you're right.

> o  leaf cache-validity could use a "units" statement:
>
>      units "hours";
>
Ok.

> o  I suggest you rename the grouping "access_lists" to "access-lists"
>    for consitency.

Ok.

> o  Should any of the leafs in "/metainfo" be mandatory?
>
Yes.  This has been the subject of considerable discussion.  I propose to modify the model to include an rc:yang-data statement, as well as to make the mud container a presence container.  I believe either would allow us to address this matter.  In addition, we'll add a mud-url element to make it possible for the entry to be self-identifying.  This would allow for a very simply "uses", should someone want to borrow the model to build out a configuration data store.

Indeed, based on these changes, we're attempting to consolidate the # of containers (or at least avoid an explosion of them).

Finally, this leaves open precisely which nodes should be mandatory.  To me, last-update should be mandatory, as well as the mud-url.  Joe would like "is-supported" covered, and I am not adverse.  I don't think "cache-validity" needs to be mandatory, but rather should have a default value of 48 hours.
 

> o  The "extensions" leaf-list mentions an IANA registry for
>    extensions.  It would be usefule to mention this registry by name.
>
>    Also, shouldn't this registry be defined in the IANA Considerations
>    section?

Yes.

> o  Section 3.7 mentions a leaf "packet-direction".  There is no such
>    leaf in the YANG module.  There is one called "direction-initiated"
>    though.

This is an artifact of an earlier version that needs to be removed.

>    But since the "/device" container contains two different ACL sets,
>    one for "to" and one for "from", is this augmentation really
>    necessary?

Precisely so.  I've updated the working copy.

> o  The model has:
>
>       leaf local-networks {
>         type empty;
>         description
>           "this string is used to indicate networks
>            considered local in a given environment.";
>
>    This leaf is of type "empty", but the description says it is a
>    string.
>    Also, what is the format of this string?  (Hmm, I think the
>    description is wrong, this should indeed be type empty).
>
That shouldn't say string.  It's empty.

> o  Would it be useful with an indication of the revision of "ietf-mud"
>    that is used as the schema for a MUD file?  I.e., something like a
>    leaf "mud-module-revision" in the "metainfo" container.

For what purpose?

> o  The example in section 8 has some errors, e.g., it has some
>    camelCase node names.

That's corrected.


Thanks VERY much again.

There are still finishing touches to do to the model, such that it is well documented and easily serialized, given the above changes.

Eliot