Re: [i2rs] YANG data models in I2RS: extraction and compilation feedback

"Susan Hares" <shares@ndzh.com> Mon, 30 November 2015 15:17 UTC

Return-Path: <shares@ndzh.com>
X-Original-To: i2rs@ietfa.amsl.com
Delivered-To: i2rs@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 6B1C81B2E28; Mon, 30 Nov 2015 07:17:02 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -99.054
X-Spam-Level:
X-Spam-Status: No, score=-99.054 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DOS_OUTLOOK_TO_MX=2.845, HTML_MESSAGE=0.001, USER_IN_WHITELIST=-100] autolearn=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 p8bDyqqS-LBY; Mon, 30 Nov 2015 07:16:59 -0800 (PST)
Received: from hickoryhill-consulting.com (hhc-web3.hickoryhill-consulting.com [64.9.205.143]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 666DB1B2E3A; Mon, 30 Nov 2015 07:16:59 -0800 (PST)
X-Default-Received-SPF: pass (skip=loggedin (res=PASS)) x-ip-name=74.43.47.177;
From: Susan Hares <shares@ndzh.com>
To: 'Benoit Claise' <bclaise@cisco.com>, i2rs@ietf.org
References: <565C4FC4.6050607@cisco.com>
In-Reply-To: <565C4FC4.6050607@cisco.com>
Date: Mon, 30 Nov 2015 10:16:59 -0500
Message-ID: <01c401d12b82$28f25cd0$7ad71670$@ndzh.com>
MIME-Version: 1.0
Content-Type: multipart/alternative; boundary="----=_NextPart_000_01C5_01D12B58.401F6210"
X-Mailer: Microsoft Outlook 14.0
Thread-Index: AQGsCMR5Npf77+Ui+YyxLAAAt7bje57+8mrg
Content-Language: en-us
X-Authenticated-User: skh@ndzh.com
Archived-At: <http://mailarchive.ietf.org/arch/msg/i2rs/fNS1JhZNjYh_1kDSmESBlHTzU5k>
Cc: yang-coord@ietf.org, 'Martin Bjorklund' <mbj@tail-f.com>
Subject: Re: [i2rs] YANG data models in I2RS: extraction and compilation feedback
X-BeenThere: i2rs@ietf.org
X-Mailman-Version: 2.1.15
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: Mon, 30 Nov 2015 15:17:02 -0000

Benoit: 

 

Thanks for sending these compilation errors.   We will address these errors this week. 

 

Cheers,

Sue 

 

From: i2rs [mailto:i2rs-bounces@ietf.org] On Behalf Of Benoit Claise
Sent: Monday, November 30, 2015 8:32 AM
To: i2rs@ietf.org
Cc: yang-coord@ietf.org; Martin Bjorklund
Subject: [i2rs] YANG data models in I2RS: extraction and compilation feedback

 

Dear all,

I looked at the YANG models in the I2RS WG documents, from a compilation point of view (NOT a YANG design point of view):
http://datatracker.ietf.org/doc/draft-ietf-i2rs-yang-network-topo/
http://datatracker.ietf.org/doc/draft-ietf-i2rs-yang-l2-network-topology/
http://datatracker.ietf.org/doc/draft-ietf-i2rs-yang-l3-topology/
http://datatracker.ietf.org/doc/draft-ietf-i2rs-rib-data-model/

See the compilation results, updated daily, at http://www.claise.be/IETFYANGPageCompilation.html

draft-ietf-i2rs-yang-network-topo-01
As mentioned in https://tools.ietf.org/html/draft-ietf-netmod-rfc6087bis-05, the correct way to use <CODE BEGINS> <CODE ENDS> is 

   The "<CODE BEGINS>" tag SHOULD be followed by a string identifying
   the file name specified in Section 5.2 of
   [I-D.ietf-netmod-rfc6020bis <https://tools.ietf.org/html/draft-ietf-netmod-rfc6087bis-05#ref-I-D.ietf-netmod-rfc6020bis> ].  The following example is for the
   '2010-01-18' revision of the 'ietf-foo' module:
 
     <CODE BEGINS> file  <mailto:ietf-foo@2010-01-18.yang> "ietf-foo@2010-01-18.yang"
       module ietf-foo {
         // ...
         revision 2010-01-18 {
           description "Latest revision";
           reference "RFC XXXX";
         }
         // ...
       }
     <CODE ENDS>

In your draft, here is what you should change:
OLD:

   <CODE BEGINS>
   file  <mailto:ietf-network@2015-06-08.yang> "ietf-network@2015-06-08.yang"
   module ietf-network {
     yang-version 1;
     namespace "urn:ietf:params:xml:ns:yang:ietf-network";
     prefix nd;

NEW:

   <CODE BEGINS> file  <mailto:ietf-network@2015-06-08.yang> "ietf-network@2015-06-08.yang"
   module ietf-network {
     yang-version 1;
     namespace "urn:ietf:params:xml:ns:yang:ietf-network";
     prefix nd;


OLD:

 <CODE BEGINS>
 file  <mailto:ietf-network-topology@2015-06-08.yang> "ietf-network-topology@2015-06-08.yang"
 module ietf-network-topology {


NEW:

 <CODE BEGINS> file  <mailto:ietf-network-topology@2015-06-08.yang> "ietf-network-topology@2015-06-08.yang"
 module ietf-network-topology {



However, we were able to extract those two models, and they compile correctly <http://www.claise.be/IETFYANGPageCompilation.html> .


draft-ietf-i2rs-yang-l2-network-topology-01.txt

Same remark:
OLD:

   <CODE BEGINS>
   file  <mailto:ietf-l2-topology@2015-06-23.yang> "ietf-l2-topology@2015-06-23.yang"
   module ietf-l2-topology {

NEW:

   <CODE BEGINS> file  <mailto:ietf-l2-topology@2015-06-23.yang> "ietf-l2-topology@2015-06-23.yang"
   module ietf-l2-topology {


However, we were able to extract this model, and as of this morning, it compiled with some warnings <http://www.claise.be/IETFYANGPageCompilation.html> :
    ietf-l2-topology.yang:490 (at ietf-l2-topology.yang:349): warning: explicit config statement is ignored

Good news.
Martin Bjorklund troubleshooted this one, and found a bug in pyang, which is already fixed! Thanks Martin
So get the latest pyang version at https://github.com/mbj4668/pyang


draft-ietf-i2rs-yang-l3-topology-00

Same remark.

OLD:

   <CODE BEGINS>
   file  <mailto:l3-unicast-igp-topology@2015-06-08.yang> "l3-unicast-igp-topology@2015-06-08.yang"
   module l3-unicast-igp-topology {


NEW:

   <CODE BEGINS> file  <mailto:l3-unicast-igp-topology@2015-06-08.yang> "l3-unicast-igp-topology@2015-06-08.yang"
   module l3-unicast-igp-topology {


OLD:

   <CODE BEGINS>
   file  <mailto:ospf-topology@2015-06-08.yang> "ospf-topology@2015-06-08.yang"
   module ospf-topology {


NEW:

   <CODE BEGINS> file  <mailto:ospf-topology@2015-06-08.yang> "ospf-topology@2015-06-08.yang"
   module ospf-topology {



OLD:

   <CODE BEGINS>
   file  <mailto:isis-topology@2015-06-08.yang> "isis-topology@2015-06-08.yang"
   module isis-topology {


NEW:

   <CODE BEGINS> file  <mailto:isis-topology@2015-06-08.yang> "isis-topology@2015-06-08.yang"
   module isis-topology {


However, we were able to extract these models, and, as of this morning, they compiled with the following warnings <http://www.claise.be/IETFYANGPageCompilation.html> :

l3-unicast-igp-topology.yang:1: warning: RFC 6087: 4.1: no module name prefix used, suggest ietf-l3-unicast-igp-topology
isis-topology.yang:1: warning: RFC 6087: 4.1: no module name prefix used, suggest ietf-isis-topology
ospf-topology.yang:1: warning: RFC 6087: 4.1: no module name prefix used, suggest ietf-ospf-topology

The error messages were not optimal: indeed, they complain about the module name, and not the prefix YANG keyword.
Martin improved this error message already: 
isis-topology.yang:1: warning: RFC 6087: 4.1: the module name should start with one of the strings "ietf-" or "iana-"

This relates to https://tools.ietf.org/html/draft-ietf-netmod-rfc6087bis-05

   It is suggested that a stable prefix be selected representing the
   entire organization.  All normative YANG modules published by the
   IETF MUST begin with the prefix "ietf-".  Another standards
   organization, such as the IEEE, might use the prefix "ieee-" for all
   YANG modules.
 

However, this was not a MUST in RFC6087 (as opposed to RFC6087bis). When RFC6087bis will be published, pyang will be adapted accordingly (error as opposed to warning). In the mean time, you can already fix the YANG modules like this: it will get rid of the warnings and future errors.

OLD:

   <CODE BEGINS>
   file  <mailto:l3-unicast-igp-topology@2015-06-08.yang> "l3-unicast-igp-topology@2015-06-08.yang"
   module l3-unicast-igp-topology {
     yang-version 1;
     namespace "urn:ietf:params:xml:ns:yang:l3-unicast-igp-topology";
     prefix "l3t";

NEW:

   <CODE BEGINS> file  <mailto:ietf-l3-unicast-igp-topology@2015-06-08.yang> "ietf-l3-unicast-igp-topology@2015-06-08.yang"
   module l3-unicast-igp-topology {
     yang-version 1;
     namespace "urn:ietf:params:xml:ns:yang:ietf-l3-unicast-igp-topology";
     prefix "l3t";



OLD:

   <CODE BEGINS>
   file  <mailto:isis-topology@2015-06-08.yang> "isis-topology@2015-06-08.yang"
   module isis-topology {
     yang-version 1;
     namespace "urn:ietf:params:xml:ns:yang:isis-topology";
     prefix "isis";


NEW:

   <CODE BEGINS> file  <mailto:ietf-isis-topology@2015-06-08.yang> "ietf-isis-topology@2015-06-08.yang"
   module isis-topology {
     yang-version 1;
     namespace "urn:ietf:params:xml:ns:yang:ietf-isis-topology";
     prefix "isis";


OLD:

   <CODE BEGINS>
   file  <mailto:ospf-topology@2015-06-08.yang> "ospf-topology@2015-06-08.yang"
   module ospf-topology {
     yang-version 1;
     namespace "urn:ietf:params:xml:ns:yang:ospf-topology";
     prefix "ospf";


NEW:

   <CODE BEGINS> file  <mailto:ietf-ospf-topology@2015-06-08.yang> "ietf-ospf-topology@2015-06-08.yang"
   module ospf-topology {
     yang-version 1;
     namespace "urn:ietf:params:xml:ns:yang:ietf-ospf-topology";
     prefix "ospf";


draft-ietf-i2rs-rib-data-model-04.txt
This one extracts and compiles without any issues. Thanks.

Regards, Benoit