Re: [CCAMP] Yangdoctors last call review of draft-ietf-ccamp-flexigrid-yang-09

daniel@olddog.co.uk Thu, 22 April 2021 11:09 UTC

Return-Path: <dk@danielking.net>
X-Original-To: ccamp@ietfa.amsl.com
Delivered-To: ccamp@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 5BA073A1192 for <ccamp@ietfa.amsl.com>; Thu, 22 Apr 2021 04:09:07 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.648
X-Spam-Level:
X-Spam-Status: No, score=-1.648 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HEADER_FROM_DIFFERENT_DOMAINS=0.249, SPF_HELO_NONE=0.001, SPF_NONE=0.001, URIBL_BLOCKED=0.001] autolearn=no autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=danielking-net.20150623.gappssmtp.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 5yObw2ZX68ia for <ccamp@ietfa.amsl.com>; Thu, 22 Apr 2021 04:09:03 -0700 (PDT)
Received: from mail-wm1-x32b.google.com (mail-wm1-x32b.google.com [IPv6:2a00:1450:4864:20::32b]) (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 D0F2D3A1180 for <ccamp@ietf.org>; Thu, 22 Apr 2021 04:09:02 -0700 (PDT)
Received: by mail-wm1-x32b.google.com with SMTP id o9-20020a1c41090000b029012c8dac9d47so3016527wma.1 for <ccamp@ietf.org>; Thu, 22 Apr 2021 04:09:02 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=danielking-net.20150623.gappssmtp.com; s=20150623; h=sender:from:to:cc:references:in-reply-to:subject:date:message-id :mime-version:content-transfer-encoding:thread-index :content-language; bh=+1K8wPUOyH762Dows5sBI63H090vDn1NWQgs+GDPsFw=; b=PcM1Vll4+yWI0+oHIK1BjaxuXYFnhEouM/o+VYyo6Rhk0s8Nw0dbGo1An0gQV3DQz+ BPuvwZ6QxmKzCC5HImWFyatI9hg6E+cDZP28YXs9uzz6OjJ3viNjrkfr6AQlK2eY2mIP XUTevKYS5gpD4Z+wvP7JAiFMtGw6bu0UT4HWBx3xI90v1Eluloi/dkKRzQDgv6ZwvC4n zuRzQGZcoLgjVK7uaFFEbCI/c11mAOZ0ewIu7grT+TNWrEFRRNIWSnJBXXKzpNXIIJUG FnPZk0MNqU/K5wxoDQKw2vhffGHripvc2dKNKBYTuBUlE87IaXEhroeDuUObI9/3E8Ry xiBw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:references:in-reply-to:subject :date:message-id:mime-version:content-transfer-encoding:thread-index :content-language; bh=+1K8wPUOyH762Dows5sBI63H090vDn1NWQgs+GDPsFw=; b=n6Dkk+XN4iqdjyigIfYBcG0H1pxp1Q6SpUvY8Ssy2jbxVNIoG98FPTYnZKnmMFiBVC opbzRCiQcz2cGhIq2b8qcFoZjrEieODEZFFjZVxSt+1ZQKKLAwl2FgXpOVkzcZkiJiUf zcDB7Fgo4YUIbmDivvG1KMs2a+TLQ47O063xZKMGGjuO7L78dthF9Je1CERHf6Ft8IGI S6h+AEh/ejuEIOCN+r4lv35wIwyn8W8OWudij+xEjSzyaJemJZQoWyePSJED3QEhThti aeTt0wnRarcTeA5H6s/hyesxorrYLD9svsLpxVy+DlvgDBSkCjpArokCKvqCgkObEov/ oTsA==
X-Gm-Message-State: AOAM531gSgATbrEu/Tzl36IjKArN0qJPoSQMwbD+P+h6kPs4cQIfP5Pt rzo19Nb0kj+QdmBVRxDMcx45SUkE+RLDIA==
X-Google-Smtp-Source: ABdhPJzq29lukNufmFPLH/9mjqwVyRPeJDuBz+MYx4Pb6N2sKGCMMCnC1sqSS/JQZL2OdlTN6I9NEQ==
X-Received: by 2002:a1c:9a95:: with SMTP id c143mr3207518wme.143.1619089739969; Thu, 22 Apr 2021 04:08:59 -0700 (PDT)
Received: from CIPHER ([2a00:23c7:108:9201:9cd2:1672:4c00:6d7d]) by smtp.gmail.com with ESMTPSA id u17sm5122937wmq.30.2021.04.22.04.08.58 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Thu, 22 Apr 2021 04:08:59 -0700 (PDT)
Sender: Daniel King <dk@danielking.net>
X-Google-Original-Sender: <dk@danielking.net>
From: daniel@olddog.co.uk
To: 'Mahesh Jethanandani' <mjethanandani@gmail.com>
Cc: ccamp@ietf.org, draft-ietf-ccamp-flexigrid-yang.all@ietf.org, last-call@ietf.org
References: <161548498637.3175.4979462598343043481@ietfa.amsl.com>
In-Reply-To: <161548498637.3175.4979462598343043481@ietfa.amsl.com>
Date: Thu, 22 Apr 2021 12:08:58 +0100
Message-ID: <009901d73767$e4bf4b20$ae3de160$@olddog.co.uk>
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Mailer: Microsoft Outlook 16.0
Thread-Index: AQGAVREd/RkRvXK6K+mJ7pYjHZ67M6tuIa3A
Content-Language: en-gb
Archived-At: <https://mailarchive.ietf.org/arch/msg/ccamp/RHfzEm-gNvTSDl7MrDiHo3Eb93w>
Subject: Re: [CCAMP] Yangdoctors last call review of draft-ietf-ccamp-flexigrid-yang-09
X-BeenThere: ccamp@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Discussion list for the CCAMP working group <ccamp.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/ccamp>, <mailto:ccamp-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/ccamp/>
List-Post: <mailto:ccamp@ietf.org>
List-Help: <mailto:ccamp-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/ccamp>, <mailto:ccamp-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 22 Apr 2021 11:09:07 -0000

Hi Mahesh, 

Thanks for the detailed review, suggestions and clarification questions. 

All the NITS and editorial issues are gratefully acknowledged, and your final comments on condition and augmentations will need a little further investigation and discussion. 

Please see comments inline "DK>>".

BR, Dan. 

-----Original Message-----
From: Mahesh Jethanandani via Datatracker <noreply@ietf.org> 
Sent: 11 March 2021 17:50
To: yang-doctors@ietf.org
Cc: ccamp@ietf.org; draft-ietf-ccamp-flexigrid-yang.all@ietf.org; last-call@ietf.org
Subject: Yangdoctors last call review of draft-ietf-ccamp-flexigrid-yang-09

Reviewer: Mahesh Jethanandani
Review result: On the Right Track

I am not an expert in traffic engineering as it relates to optical networks. If my understanding of the traffic engineering for optical networks is incorrect, feel free to educate me and everyone else. This review is looking at the draft from a YANG perspective. With that said, I have marked it as on the right path, because of some of the points discussed below.

Summary:

This document defines a YANG module for managing flexi-grid optical networks.
The model defined in this document specifies a flexi-grid traffic engineering database that is used to describe the topology of a flexi-grid network.  It is based on and augments existing YANG models that describe network and traffic engineering topologies.

Nits

Section 1 - Introduction
s/[G.694.1] and G.872 [G.872] provides/[G.694.1] and G.872 [G.872] provide/ s/flexi-grid elements../flexi-grid elements/

DK>> Done. 

Comments:

Section 4 - Example of Use

Thank you first of all for putting together an example to help folks understand the different terminologies used in the document. However, I am confused whose perspective does the example present. The paragraph starts by saying "In order to configure a network media channel ...", which to me sounds like a client *configuring* the network media channel. How does configuring of nodes A and E provide connectivity towards the node interface? Or did you mean to say that the act of configuring nodes A and E will somehow bring up the connection towards the node interface?

DK>> Done. We have updated this text and moved an example into the sister document, which describes the flexi-grid media-channel (combined with the flexi-grid topo). 

Also, please s/also provide/also configure/ as you configure using a YANG model.

DK>> Done.

Generally, drafts and RFCs are not written from a first person view. Therefore statement such as the following should be rewritten.

OLD:
      Then, we also define the links 1 to 5 that interconnect nodes,
      indicating which flexi-grid labels are available.

NEW:
      This example configures links 1 to 5 that interconnect nodes,
      with flexi-grid labels that are available.

or something similar.

DK>> Done.

s/granularity are also provided/granularity is also configured/

DK>> Done.

I believe XXXX is assigned to draft-ietf-ccamp-layer0-types:

     import ietf-layer0-types {
       prefix "l0-types";
       reference
         "RFC XXXX: A YANG Data Model for Layer 0 Types";
     }

yet the YANG model says:

        This version of this YANG module is part of RFC XXXX; see
        the RFC itself for full legal notices.";

and
          "RFC XXXX: A YANG Data Model for Flexi-Grid Optical Networks";
        // RFC Ed.: replace XXXX with actual RFC number, update date
       // information and remove this note

What gives?

DK>> Done. Fixed replication of XXXX/YYYY fixed in the latest version. 

RFC editors prefer that all instructions for substitution are provided in one location instead of having them sprinkled all over the document.

Section 5 - Tree Structure

Having 17 pages of a tree diagram without any explanation for the different sections of the tree diagram is hardly helpful. On the other hand an abridged version of the tree diagram explaining the different sections would be more helpful normative text. Suggest that --tree-depth and --tree-path options be used in pyang to reduce the size of the tree and to break it up into smaller pieces that can then be explained. The full tree diagram can be added as non-normative text in the Appendix.

DK>> Done. We will include a tree in the next version. 

Section 6 - YANG model

The revision statement is incorrect. It should be the date indicated in the name of the module 2020-02-20 or the model file should be renamed to reflect the latest date:

ietf-flexi-grid-topology@2020-02-22.yang:1: warning: unexpected latest revision "2020-10-21" in ietf-flexi-grid-topology@2020-02-22.yang, should be "2020-02-22"

DK>> Done. Date updated in the next version.

The document says - "An application example is provided towards the end of the document to better understand the utility of this YANG model." However, no such example exists in the document. With no example, how is an operator supposed to know how to use the module. Besides, there is no way to know that this model is even valid.

What is not clear with the model is the first container and the when statement.
As another YANG doctor explained, the when-stmt applies to *instances* of a model, not to the schema. Therefore a when-stmt that points back to a node that is part of schema and is a presence container does not achieve what I think the authors intended, i.e. a when condition.

DK>> We are investigating this issue further; other TE model documents use the condition "when" statement in the same manner. 

The second general comments has to do with the 80 augment statements. As an operator, I would find it very tedious to configure this model, what with 80 different XPaths to follow. Would it not be better to gather all the augmenting
(flexi-grid) parameters together and use leafrefs to link these data structures to the ietf-network module?

DK>> We follow the convention used in other CCAMP YANG model documents, and observations were also discussed NETMOD WG on https://mailarchive.ietf.org/arch/msg/netmod/-6L8KYVVhFiS8KpmH2fUpBmdSy8/. We also observed the example provided in RFC8795, as per https://datatracker.ietf.org/doc/html/rfc8795#appendix-C.

DK>> Thanks again for your review and comments!

BR, Dan.