Re: Yangdoctors early review of draft-ietf-rtgwg-policy-model-09

Mahesh Jethanandani <mjethanandani@gmail.com> Sun, 24 May 2020 18:39 UTC

Return-Path: <mjethanandani@gmail.com>
X-Original-To: rtgwg@ietfa.amsl.com
Delivered-To: rtgwg@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 14D2F3A0C8A; Sun, 24 May 2020 11:39:38 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.097
X-Spam-Level:
X-Spam-Status: No, score=-2.097 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.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 Np4lPBDc0sUT; Sun, 24 May 2020 11:39:35 -0700 (PDT)
Received: from mail-pl1-x62c.google.com (mail-pl1-x62c.google.com [IPv6:2607:f8b0:4864:20::62c]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id C55243A0C8E; Sun, 24 May 2020 11:39:34 -0700 (PDT)
Received: by mail-pl1-x62c.google.com with SMTP id m7so6668953plt.5; Sun, 24 May 2020 11:39:34 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:message-id:mime-version:subject:date:in-reply-to:cc:to :references; bh=jRwJRUVYufyowZPSFWeByMS8ymAYAcVU0/+uG9sVMVM=; b=t5+Rf4K/UM9hDxwTzTQICZItrBP2t5+xqfwmQ8hhDjOf9PQiwNgTA56GvGDxZBnKBo gKyv2URKbJCLwT2cQhGHRxKIUpy/TjAQDCPJojM5WiTBA464yz9rTlhPtx0rJbeq0pca zYtIIKEnOQnvM+qrU1WY6nun1UwpIptw3LPVwGHAOQvvEYav5ZC3QSgUvIxJA6oS3U2Z nBiTWdlfAx/O1sYiAQCX0wiKs1RgEKoSwO29gZwzzsHyS+gXbu/u0wXxmgjqPtdm7ifU a/mFJGeoTDBqmrcOTZPDqI63jgrnTnC5O5SjXX/Bw7ihGb6/LTH2tluDZYgIPm2HnB+B IlWw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:message-id:mime-version:subject:date :in-reply-to:cc:to:references; bh=jRwJRUVYufyowZPSFWeByMS8ymAYAcVU0/+uG9sVMVM=; b=BAJ1d1MZlaSdY4KpRnsEGsvmE7wNM5YL+ooZnbshWADEnmvVBMTscEaToMaJJoxmVo jS8wdU2McYYQsdFDvhtWu1IsA7Jw33XtSjaJSHq5GwokpsAAK/sIIZfl9zO8+YPFeqTY V6U+LSxNUoQXabDpIeFuvaERBu2Kui0rxhx2w0Q1bVTD4HCkR+fcBg+X85WkJxKCXeqz /xSwImNRUWTOFMkCMouXWctwm03/kzItVbdSGwpGfjl8GZ0sSMUBREneL5CrL9l3qL91 DmCnwb9yDpVRBDF6Q7rpmByyiFYLx2ksS+cEqbnM4XfLt66JSM/uDEB3/pP363P1LaTr SPZQ==
X-Gm-Message-State: AOAM5314UnwVD1P4ssHQJWsYSh5mxZ5IM5elW3AMrGnz4fMkFttHazQF UahczjVPNi8uMMpp7z4iBOM=
X-Google-Smtp-Source: ABdhPJxjejqZ0TTjHJ0pvmz+j+VVtTkwjQTNGOZn595d0r3640bF7Eu0KDyFyXH5rWsbMW7sCesLCQ==
X-Received: by 2002:a17:90a:6a4a:: with SMTP id d10mr16990301pjm.199.1590345573942; Sun, 24 May 2020 11:39:33 -0700 (PDT)
Received: from ?IPv6:2601:647:5600:5020:41af:de90:5a7:7ead? ([2601:647:5600:5020:41af:de90:5a7:7ead]) by smtp.gmail.com with ESMTPSA id w12sm11254495pjy.15.2020.05.24.11.39.32 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Sun, 24 May 2020 11:39:33 -0700 (PDT)
From: Mahesh Jethanandani <mjethanandani@gmail.com>
Message-Id: <B5D48696-88FC-4BF6-9B2E-3BF556520D58@gmail.com>
Content-Type: multipart/alternative; boundary="Apple-Mail=_BE822C2A-A8B5-49A1-A20D-15CF53DC422D"
Mime-Version: 1.0 (Mac OS X Mail 11.5 \(3445.9.5\))
Subject: Re: Yangdoctors early review of draft-ietf-rtgwg-policy-model-09
Date: Sun, 24 May 2020 11:39:17 -0700
In-Reply-To: <2735CC19-B499-468A-9B31-C8F9D57802F2@futurewei.com>
Cc: "yang-doctors@ietf.org" <yang-doctors@ietf.org>, "draft-ietf-rtgwg-policy-model.all@ietf.org" <draft-ietf-rtgwg-policy-model.all@ietf.org>, "rtgwg@ietf.org" <rtgwg@ietf.org>
To: Yingzhen Qu <yingzhen.qu@futurewei.com>
References: <158995210745.32133.15039309101330577713@ietfa.amsl.com> <2735CC19-B499-468A-9B31-C8F9D57802F2@futurewei.com>
X-Mailer: Apple Mail (2.3445.9.5)
Archived-At: <https://mailarchive.ietf.org/arch/msg/rtgwg/ZOUKw8nsPjfpcRFrkNJU9oceKvo>
X-BeenThere: rtgwg@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Routing Area Working Group <rtgwg.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/rtgwg>, <mailto:rtgwg-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/rtgwg/>
List-Post: <mailto:rtgwg@ietf.org>
List-Help: <mailto:rtgwg-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/rtgwg>, <mailto:rtgwg-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sun, 24 May 2020 18:39:40 -0000

[Trimming the list to open issues]

Hi Yingzhen,

> On May 23, 2020, at 1:21 PM, Yingzhen Qu <yingzhen.qu@futurewei.com> wrote:
> 
> Hi Mahesh,
> 
> Thanks for the review, very much appreciated.
> 
> I submitted -10 version to address your comments: https://datatracker.ietf.org/doc/draft-ietf-rtgwg-policy-model/ <https://datatracker.ietf.org/doc/draft-ietf-rtgwg-policy-model/> 
> 
> Note: There are YANG validation errors because yanglint can't find model "ietf-if-extensions", not sure why.
> yanglint SO 1.6.7: yanglint --verbose -p {rfclib} -p {draftlib} -p {tmplib} {model} -i:
> err : Data model "ietf-if-extensions" not found.
> err : Importing "ietf-if-extensions" module into "ietf-routing-policy" failed.
> err : Module "ietf-routing-policy" parsing failed.

ietf-if-extensions is part of the draft-ietf-netmod-inft-ext-yang draft, which is still a draft. It should ideally be in the {draftlib} path variable. I would suggest a open an issue with the tools team to have them track it.

I am assuming of course that you are able to validate the model locally on your machine.
…

>    The document includes a section on Terminology and Notation. However it does
>    not define what is a "routing policy" or provide a reference to it.
> [YQ]: I'm not sure there is a standard definition of "routing policy". I'll do some
> research on this and see whether we should add it to the terminology.

Looking at how the draft describes it, how about something like this?

“A routing policy defines whether a routing protocol imports a route into the routing table, modifies it, or exports a route from the routing table."

…

>    Section 10.1 - Routing policy model
> 
>    The model uses a lot of groupings, most of them used only once in the model.
>    That makes the model difficult to understand. Unless these groupings are meant
>    for use by other models, they should be folded into the main container. Take
>    this grouping for example:
> 
>         grouping policy-definitions {
>           description
>             "This grouping provides policy definitions";
> 
>           leaf name {
>             type string;
>             description
>               "Name of the top-level policy definition -- this name
>               is used in references to the current policy";
>           }
>         }
> 
>    For one the description of the grouping is not correct. Secondly, it is used
>    only once in the model and that too to define a key of a list.
> 
> [YQ]: This model was initiated by OpenConfig, we've removed some groupings 
> Since this become an IETF draft. I removed "policy-definitions" and "policy-statements" 
> groups.

The general rule is that if the grouping is used only once in the model, and not meant for use outside the module, that it should not be a grouping.

For example, ‘grouping neighbor-set’ is used only once in the model, and I doubt it is meant for use outside of this module. That grouping should be collapsed into the model where it gets used. Same for ‘grouping tag-set’. These are just two examples. There are many more.

> 
>    The YANG model imports multiple models from other drafts. It provides normative
>    references to the imported models in Section 2.2. (A nit here is that it
>    missing the cross-reference in the table for if-l3-vlan),

A nit. if-l3-vlan is still missing the cross-reference (and the hyperlink) to the draft. Also why idnits is giving you an error at the bottom.

> but does not provide
>    references to them in the model. See Section 3.9 of RFC 8407. Please add
>    something like this in the model.
> 
>    import ietf-inet-types {
>      prefix "inet";
>      reference
>        "RFC 6991: Common YANG Data Types.";
>    }
> [YQ]: fixed.
> 
>    Please drop <mailto:....> and just keep the e-mail address. That tag works only
>    when embedded within a HTML document.
> [YQ]: do you mean the "editor" in the model? 

I meant to say you should drop the word “mailto:" from the list of e-mail addresses of the editors. That tag works inside a HTML document, not inside a YANG model.

> 
>    A pyang compilation of the model with —ietf and —lint option was clean.
>    However, there seems to be an issue with the example in Section 11. Instead of
>    actually including an example, it is showing the path to what should have been
>    the example. I was therefore not able to validate the example against the model.
> [YQ]: I can't find this example in OpenConfig Github anymore, so removed this section.

Hmm. That leaves the model without any examples, and examples are important.

I was able to find the example in an earlier version of your own draft (01). I would suggest that you take that example and modify it to make it compatible with the latest version of the model. If you need help, let me know.

> 
>      Checking references for intended status: Proposed Standard
>      ----------------------------------------------------------------------------
> 
>         (See RFCs 3967 and 4897 for information about using normative references
>         to lower-maturity documents in RFCs)
> 
>      == Unused Reference: 'I-D.ietf-netmod-sub-intf-vlan-model' is defined on
>         line 1620, but no explicit reference was found in the text

The reason you are getting this error is because you are lacking a normative reference to I-D.ietf-netmod-sub-intf-vlan-model in the document. Goes back to the nit I point up earlier.

I would suggest that once you have fixed all the issues in the draft, that you re-run idnits locally on the machine.

> 
>      -- No information found for draft-ietf-netmod-intf-ext-yang - is the name
>         correct?
> 
>      -- Possible downref: Normative reference to a draft: ref.
>         'I-D.ietf-netmod-intf-ext-yang'
> 
>      -- No information found for draft-ietf-netmod-sub-intf-vlan-model - is the
>         name correct?
> 
>      -- Possible downref: Normative reference to a draft: ref.
>         'I-D.ietf-netmod-sub-intf-vlan-model'
> 
> [YQ]: there is dependency on both 'I-D.ietf-netmod-intf-ext-yang' and 'I-D.ietf-netmod-sub-intf-vlan-model'.
> 
>         Summary: 0 errors (**), 0 flaws (~~), 9 warnings (==), 5 comments (--).