Re: [i2rs] [yang-doctors] Yangdoctors last call review of draft-ietf-i2rs-yang-network-topo-14

Benoit Claise <bclaise@cisco.com> Wed, 09 August 2017 06:56 UTC

Return-Path: <bclaise@cisco.com>
X-Original-To: i2rs@ietfa.amsl.com
Delivered-To: i2rs@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id BF896131EB2; Tue, 8 Aug 2017 23:56:25 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -14.499
X-Spam-Level:
X-Spam-Status: No, score=-14.499 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, WEIRD_PORT=0.001] 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 J3ll2X1gjQFd; Tue, 8 Aug 2017 23:56:22 -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 33EFA131DB6; Tue, 8 Aug 2017 23:56:21 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=cisco.com; i=@cisco.com; l=21798; q=dns/txt; s=iport; t=1502261781; x=1503471381; h=subject:to:cc:references:from:message-id:date: mime-version:in-reply-to; bh=NfC1uJZna3u5K8vdOVwmQr1x/TXcGHZNuOAZwW70rMs=; b=Ri0Y1/lJOWuZySqszO2Dsc6TQgODfjFUTsJ1OGJ/XGt3wlDgY9v/Pdp7 WrIJ+6mjFmWc10AdtCvJw2Ht+iUhzS1/fsssHbctpMavutmNuBlttOH/A HzZ7DsRKFvQ+zBzR3GahJLdD1PmSd4jFOi/eWKH57uiuyBirL5w3sa4dn A=;
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: A0AAAQBgsYpZ/xbLJq1TCRoBAQEBAgEBAQEIAQEBAYQ+gRSOD3OhY4UzDoIEIQEMhDVkAoUyGAECAQEBAQEBAWsohRkCAQMBASFLCxAJAg4EMAICJyIOBgEMBgIBAReKFBCRDZ1kgiYniyoBAQEBAQEBAQEBAQEBAQEBAQEBAQEYBYMog06BYyuCfIQ9DBICgymCQh8FjAmUDYdTjGOCD4kzhw2JYYNBiGkfOIEKMiEIHBVJhUyBUD42h1MrghQBAQE
X-IronPort-AV: E=Sophos;i="5.41,346,1498521600"; d="scan'208,217";a="653812902"
Received: from aer-iport-nat.cisco.com (HELO aer-core-3.cisco.com) ([173.38.203.22]) by aer-iport-2.cisco.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 09 Aug 2017 06:56:16 +0000
Received: from [10.55.221.36] (ams-bclaise-nitro3.cisco.com [10.55.221.36]) by aer-core-3.cisco.com (8.14.5/8.14.5) with ESMTP id v796uAve020218; Wed, 9 Aug 2017 06:56:10 GMT
To: Kent Watsen <kwatsen@juniper.net>, yang-doctors@ietf.org
Cc: i2rs@ietf.org, draft-ietf-i2rs-yang-network-topo.all@ietf.org
References: <150223663961.3605.4696763251648960641@ietfa.amsl.com>
From: Benoit Claise <bclaise@cisco.com>
Message-ID: <a4a94055-2dbf-60b5-188a-e86f84f3a449@cisco.com>
Date: Wed, 09 Aug 2017 08:56:10 +0200
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:52.0) Gecko/20100101 Thunderbird/52.2.1
MIME-Version: 1.0
In-Reply-To: <150223663961.3605.4696763251648960641@ietfa.amsl.com>
Content-Type: multipart/alternative; boundary="------------CBFDE9068FA1A6BAC74FC4F2"
Content-Language: en-US
Archived-At: <https://mailarchive.ietf.org/arch/msg/i2rs/-ghtkViChdrjgeyWGNQ7Az6hXXk>
Subject: Re: [i2rs] [yang-doctors] Yangdoctors last call review of draft-ietf-i2rs-yang-network-topo-14
X-BeenThere: i2rs@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: "Interface to The Internet Routing System \(IRS\)" <i2rs.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/i2rs>, <mailto:i2rs-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/i2rs/>
List-Post: <mailto:i2rs@ietf.org>
List-Help: <mailto:i2rs-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/i2rs>, <mailto:i2rs-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 09 Aug 2017 06:56:26 -0000

Dear all,

Now implemented in the yangcatalog.org, we have the tree-type metadata.
from https://github.com/xorrkaz/netmod-yang-catalog, to be published 
soon in https://datatracker.ietf.org/doc/draft-clacla-netmod-model-catalog/

      leaf tree-type {
          type enumeration {
            enum split {
              description
                "This module uses a split config/operational state layout.";
            }
            enum nmda-compatible {
              description
                "This module is compatible with the Network Management
    Datastores
                 Architecture (NMDA) and combines config and operational
    state nodes.";
            }
            enum transitional-extra {
              description
                "This module is derived as a '-state' module to allow
    for transitioning
                 to a full NMDA-compliant tree structure.";
            }
            enum openconfig {
              description
                "This module uses the Openconfig data element layout.";
            }
            enum unclassified {
             description
               "This module does not have a data element tree, or it
    does not belong to any category.";
            }
            enum not-applicable {
              description
                "This module is submodule.";
            }
          }
          description
            "The type of data element tree used by the module as it
    relates to the
             Network Management Datastores Architecture.";
          reference
            "draft-dsdt-nmda-guidelines Guidelines for YANG Module
    Authors (NMDA)


Happy to see that the two following I2RS modules are "nmda-compatible"
https://yangcatalog.org:8443/search/modules/ietf-network,2017-06-30,ietf
https://yangcatalog.org:8443/search/modules/ietf-network-topology,2017-06-30,ietf
The following two are: transactional-extra
https://yangcatalog.org:8443/search/modules/ietf-network-state,2017-06-30,ietf
https://yangcatalog.org:8443/search/modules/ietf-network-state,2017-06-30,ietf

We'll work on a nicer GUI later one. The key point for now: the 
tree-type metadata is populated.

Regards, Benoit
> Reviewer: Kent Watsen
> Review result: Almost Ready
>
>
> YANG Doctor review of draft-ietf-i2rs-yang-network-topo-14 (by Kent Watsen)
>
>
> 4 modules are defined in the draft:
> - ietf-network@2017-06-30.yang
> - ietf-network-topology@2017-06-30.yang
> - ietf-network-state@2017-06-30.yang
> - ietf-network-topology-state@2017-06-30.yang
>
> No validation errors from either `pyang` or `yanglint`.
>
> 0 examples are defined in the draft.
>
> The -state modules appear to have all the correct changes
> from their base modules.
>
> Regarding ietf-network@2017-06-30.yang:
> - prefix “nd”, should be “nw”?  (in IANA Considerations also)
> - “import ietf-inet-types” should have a ‘reference’ to RFC 6991
> - remove “WG Chairs”, per the template in rfc6087bis-13 Appendix C.
> - s/Editor/Author/? (this is a preference choice)
> - defines ‘network-ref’ that is unused within module (it’s used by
>    ietf-network-topology)
> - leafref paths don’t include prefix (rfc6087bis S4.2)
>
> Regarding ietf-network-topology@2017-06-30.yang:
> - prefix “lnk” should be “nt” or maybe “nwtp”? (in IANA Considerations also)
> - “import ietf-inet-types” should have a ‘reference’ to RFC 6991
> - “import ietf-network” should have a ‘reference’ to RFC XXXX
> - remove “WG Chairs”, per the template in rfc6087bis-13 Appendix C.
> - s/Editor/Author/? (this is a preference choice)
> - defines grouping link-ref and tp-ref that are unused within module
> - mandatory true for source/dest-node/tp?
> - replace “tp” with “term-pt”?  (both in “-tp” and “tp-“ uses)
>
> Regarding ietf-networ-statek@2017-06-30.yang:
> - similar comments to ietf-network@2017-06-30.yang:
>
> Regarding ietf-network-topology-state@2017-06-30.yang:
> - similar comments to ietf-network-topology@2017-06-30.yang.
>
>
> Comments on draft:
>
> 1) The document still has references to “server-provided”.  Not the YANG
> leaf of course, but in general text.  For instance “The model does allow
> to layer a network that is configured on top of one that is server-provided.”
> I think that the statement is more about values being in <operational>
> than how it was learned.  All uses of “server-provided” should be examined
> for correctness.
>
> 2) This sentence doesn’t make sense to me, how can a server-provided model
> (you mean data?) access any information in conventional datastores?:
>     “An implementation's security policy MAY further restrict what
>     information the server-provided model is allowed to access in
>     standard configuration data-stores,”
> Either way, this text likely should be moved to the Security
> Considerations section.
>
> 3) Should the last paragraph in Section 1 be removed now?  Is the module
> expected to continue to update?
>
> 4) S4.1, P3: the text here says new data nodes are augmented in, but
> the YANG module itself says that only presence containers are allowed.
>
> 5) are the mandatory statement values set appropriately everywhere?
> (e.g., source-node?, source-tp?)
>
> 6) network-type is a presence container, not an identity? No where in
> the draft is there an example showing it being used.
>
> 7) Section 4.4.8., why not use identities?
>
> 8) S4.4.9 is a duplicate of some text in S4.1
>
> 9) This statement is true, but I think misleading in context. “YANG
> requires data nodes to be designated as either configuration or
> operational data, but not both”. It seems that the solution depends
> entirely on config true nodes, and NMDA to present the operational
> value of those config true nodes.  Right?
>
> 10) When using <CODE BEGINS>, you should have a note to the RFC
> Editor to change the date to the date of publication, both in the
> filename as well as in the module’s ’revision’ statement.
>
> 11) IANA Considerations has comments “(RFC form)” - are these supposed
> to be notes to RFC Editor to replace with final RFC designation?
>
> 12) Your Security Considerations section should follow the template here:
> https://trac.ietf.org/trac/ops/wiki/yang-security-guidelines
>
> 13) create examples for the use-cases in Appendix A?  Note, every draft
> should have examples of its YANG modules...
>
>
> Nits:
>
> - why reference RFC6991 in the Introduction?
> - replace “allows to define” with “enables the definition of”
> - in a few places, you refer to “network.yang”, but the
>    file is called “ietf-network.yang”.
> - in a few places, you refer to “network-topology.yang”,
>    but the file is called “ietf-network-topology.yang”.
> - replace “- X1 and X2 - mapping onto a single L3 network element”
>    with “(X1 and X3) mapping onto a single L3 network element (Y2)”
> - replace “data-store” with “datastore”
> - replace “model” with “data model” where it’s not already.
> - replace “the <intended> datastore” with just “<intended>”
> - replace “the intended datastore” with just “<intended>”
> - update Section 2 to also include a reference to RFC 8174 (see RFC 8174)
> - pull the “datastore” term from the revised-datastores draft?
> - NETCONF and YANG don’t need to be terms/defined, since references
>    to their RFCs are provided when they’re used.
> - s/the network.yang module/the “ietf-network” YANG module/
> - your tree-diagram notation in S4.1 isn’t complete.  And you duplicate
>    it in S4.2.  Create a top-level section called “tree diagram notation”
>    that both sections reference?
> - s/allows to represent/allows representation of/
> - s/another container/a presence container called/
> - s/allows to define more/allows definition of more/
> - s/allows also to represent/allows representation of/
> - s/configuration and intended datastores/conventional datastores/
> - s/and show up only/and thus only appear/
> - /ietf-network:networks/network/network-id - being the list’s key,
>    I was expecting this to the first element defined.
> - for the various leafrefs in both models, I see a lot of longish
>    relative paths; suggest you change these to absolute paths if possible
> - /nd:networks/nd:network:/link/link-id is the list key but not the
>    first leaf listed
> - incomplete sentence: “augmentations can in turn against augmenting
>    modules”
> - s/need to specified/need to be specified/
> - s/if the link-to-links mapping known/if the link-to-links mapping
>    are known/
> - s/each link known/each link are known/
> - s/the operational datastore/<operational>/
> - s/into the data model without relying/into <operational> without relying/
> - s/in the following two companion modules/the following two companion modules/
> - s/that represent a state model/to represent the operational state/
>
> Thanks,
> Kent
>
>
>
> _______________________________________________
> yang-doctors mailing list
> yang-doctors@ietf.org
> https://www.ietf.org/mailman/listinfo/yang-doctors