Subject: [OPSAWG] draft-ietf-opsawg-mud: YANG validation

From: Benoit Claise <[email-masked]>
Date: Wed, 13 Sep 2017 11:15:02 +0200

Dear draft-ietf-opsawg-mud authors,

A new version of the draft-ietf-netmod-acl-model has been posted, and it 
now passes validation. It failed previously with:
     /[email-masked]:118: warning: The 'must' 
expression will fail: the node 'upper-port' from module 
'ietf-access-control-list' (in node 'operation' from 
'ietf-access-control-list') is not found
./[email-masked]:118: warning: The 'must' expression 
will fail: the node 'lower-port' from module 'ietf-access-control-list' 
(in node 'operation' from 'ietf-access-control-list') is not found
     ...

As a consequence, this error is not reported any longer in the 
draft-ietf-opsawg-mud YANG models.
However, there are still some errors:

    warn: Value "eth-acl" is not valid for the node "acl-type" (acl-type
    = 'eth-acl').
    warn: Value "ipv4-acl" is not valid for the node "acl-type"
    (acl-type = 'ipv4-acl').
    warn: Value "ipv6-acl" is not valid for the node "acl-type"
    (acl-type = 'ipv6-acl').
    warn: Value "mixed-l2-l3-ipv4-acl" is not valid for the node
    "acl-type" (acl-type = 'mixed-l2-l3-ipv4-acl').
    warn: Value "mixed-l2-l3-ipv6-acl" is not valid for the node
    "acl-type" (acl-type = 'mixed-l2-l3-ipv6-acl').
    warn: Value "mixed-l2-l3-ipv4-ipv6-acl" is not valid for the node
    "acl-type" (acl-type = 'mixed-l2-l3-ipv4-ipv6-acl').
    warn: Value "any-acl" is not valid for the node "acl-type" (acl-type
    = 'any-acl').

    warn: Value "eth-acl" is not valid for the node "acl-type" (acl-type
    = 'eth-acl').
    warn: Value "ipv4-acl" is not valid for the node "acl-type"
    (acl-type = 'ipv4-acl').
    warn: Value "ipv6-acl" is not valid for the node "acl-type"
    (acl-type = 'ipv6-acl').
    warn: Value "mixed-l2-l3-ipv4-acl" is not valid for the node
    "acl-type" (acl-type = 'mixed-l2-l3-ipv4-acl').
    warn: Value "mixed-l2-l3-ipv6-acl" is not valid for the node
    "acl-type" (acl-type = 'mixed-l2-l3-ipv6-acl').
    warn: Value "mixed-l2-l3-ipv4-ipv6-acl" is not valid for the node
    "acl-type" (acl-type = 'mixed-l2-l3-ipv4-ipv6-acl').
    warn: Value "any-acl" is not valid for the node "acl-type" (acl-type
    = 'any-acl').

See http://www.claise.be/IETFYANGPageCompilation.html

Please correct those mistakes and post a new version.

Also, make sure both revisions match (for all your YANG modules in the 
draft) and are up to date

        <CODE BEGINS>file "[email-masked]"
        module ietf-acldns {
          yang-version 1.1;
          namespace "urn:ietf:params:xml:ns:yang:ietf-acldns";
          prefix "ietf-acldns";

         revision "2016-07-20" {
            description "Base version of dnsname extension of ACL model";
            reference "RFC XXXX: Manufacturer Usage Description
                       Specification";
          }

While this revision mismatch seems like a minor thing, this is a pain 
from a tooling point of view (as we need to index YANG modules per name, 
revision, organization)
We discovered that version 8 contains a newer revision than the version 
9. That confused our tooling.
version 8:

    <CODE BEGINS>file "[email-masked]"

    ...

      revision "2017-07-03" {
        description "Clone across IP ACL types.";
        reference "RFC XXXX: Manufacturer Usage Description
                   Specification";
      }

version 9:

    <CODE BEGINS>file "[email-masked]"

    ...

      revision "2016-07-20" {
        description "Base version of dnsname extension of ACL model";
        reference "RFC XXXX: Manufacturer Usage Description
                   Specification";
      }

All these metadata are important.
We're working on: 
https://www.yangcatalog.org/yang-search/module_details.php?module=ietf-acldns
Also, is your YANG module NMDA compliant? It reports tree-type as 
"unclassified".

Regards, Benoit

---

From: Mahesh Jethanandani <[email-masked]>
Date: Thu, 21 Sep 2017 15:17:32 -0700

I have fixed these warning. Eliot, I am including the updated ACL models. Can you verify?

These changes will be uploaded as part of the next update that Sonal is planning to post on Oct. 2.

> On Sep 13, 2017, at 2:15 AM, Benoit Claise <[email-masked]> wrote:
> 
> A new version of the draft-ietf-netmod-acl-model has been posted, and it now passes validation. It failed previously with:
>     /[email-masked]:118: warning: The 'must' expression will fail: the node 'upper-port' from module 'ietf-access-control-list' (in node 'operation' from 'ietf-access-control-list') is not found
> ./[email-masked]:118: warning: The 'must' expression will fail: the node 'lower-port' from module 'ietf-access-control-list' (in node 'operation' from 'ietf-access-control-list') is not found
>     ...
> 
> As a consequence, this error is not reported any longer in the draft-ietf-opsawg-mud YANG models.
> warn: Value "eth-acl" is not valid for the node "acl-type" (acl-type = 'eth-acl').
> warn: Value "ipv4-acl" is not valid for the node "acl-type" (acl-type = 'ipv4-acl').
> warn: Value "ipv6-acl" is not valid for the node "acl-type" (acl-type = 'ipv6-acl').
> warn: Value "mixed-l2-l3-ipv4-acl" is not valid for the node "acl-type" (acl-type = 'mixed-l2-l3-ipv4-acl').
> warn: Value "mixed-l2-l3-ipv6-acl" is not valid for the node "acl-type" (acl-type = 'mixed-l2-l3-ipv6-acl').
> warn: Value "mixed-l2-l3-ipv4-ipv6-acl" is not valid for the node "acl-type" (acl-type = 'mixed-l2-l3-ipv4-ipv6-acl').
> warn: Value "any-acl" is not valid for the node "acl-type" (acl-type = 'any-acl').
> 
> warn: Value "eth-acl" is not valid for the node "acl-type" (acl-type = 'eth-acl').
> warn: Value "ipv4-acl" is not valid for the node "acl-type" (acl-type = 'ipv4-acl').
> warn: Value "ipv6-acl" is not valid for the node "acl-type" (acl-type = 'ipv6-acl').
> warn: Value "mixed-l2-l3-ipv4-acl" is not valid for the node "acl-type" (acl-type = 'mixed-l2-l3-ipv4-acl').
> warn: Value "mixed-l2-l3-ipv6-acl" is not valid for the node "acl-type" (acl-type = 'mixed-l2-l3-ipv6-acl').
> warn: Value "mixed-l2-l3-ipv4-ipv6-acl" is not valid for the node "acl-type" (acl-type = 'mixed-l2-l3-ipv4-ipv6-acl').
> warn: Value "any-acl" is not valid for the node "acl-type" (acl-type = 'any-acl').
> See http://www.claise.be/IETFYANGPageCompilation.html <http://www.claise.be/IETFYANGPageCompilation.html>
> 
> Also, make sure both revisions match (for all your YANG modules in the draft) and are up to date
>    <CODE BEGINS>file "[email-masked]" <mailto:[email-masked]>
>    module ietf-acldns {
>      yang-version 1.1;
> While this revision mismatch seems like a minor thing, this is a pain from a tooling point of view (as we need to index YANG modules per name, revision, organization)
> We discovered that version 8 contains a newer revision than the version 9. That confused our tooling.
> version 8:
>    <CODE BEGINS>file "[email-masked]" <mailto:[email-masked]>
> 
>    ...
> 
>      revision "2017-07-03" {
>    <CODE BEGINS>file "[email-masked]" <mailto:[email-masked]>
> 
>    ...
> 
>      revision "2016-07-20" {
> We're working on: https://www.yangcatalog.org/yang-search/module_details.php?module=ietf-acldns <https://www.yangcatalog.org/yang-search/module_details.php?module=ietf-acldns>
> Also, is your YANG module NMDA compliant? It reports tree-type as "unclassified". 
> 
> Regards, Benoit

Mahesh Jethanandani
[email-masked]