Re: [netmod] Long trees RE: Next steps for draft-ietf-netmod-rfc8407bis

Mahesh Jethanandani <mjethanandani@gmail.com> Wed, 28 February 2024 23:02 UTC

Return-Path: <mjethanandani@gmail.com>
X-Original-To: netmod@ietfa.amsl.com
Delivered-To: netmod@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id EDB40C14F708 for <netmod@ietfa.amsl.com>; Wed, 28 Feb 2024 15:02:05 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.104
X-Spam-Level:
X-Spam-Status: No, score=-2.104 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, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01, URIBL_BLOCKED=0.001, URIBL_DBL_BLOCKED_OPENDNS=0.001, URIBL_ZEN_BLOCKED_OPENDNS=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 ([50.223.129.194]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id baoQzxFAw85X for <netmod@ietfa.amsl.com>; Wed, 28 Feb 2024 15:02:02 -0800 (PST)
Received: from mail-il1-x12a.google.com (mail-il1-x12a.google.com [IPv6:2607:f8b0:4864:20::12a]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 171F1C14F5EC for <netmod@ietf.org>; Wed, 28 Feb 2024 15:02:02 -0800 (PST)
Received: by mail-il1-x12a.google.com with SMTP id e9e14a558f8ab-365afa34572so1604115ab.1 for <netmod@ietf.org>; Wed, 28 Feb 2024 15:02:02 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1709161321; x=1709766121; darn=ietf.org; h=references:to:cc:in-reply-to:date:subject:mime-version:message-id :from:from:to:cc:subject:date:message-id:reply-to; bh=aqwsE/oSpBDuh2jR5zh4IiW8EO9MxoB46/L2eje3gq8=; b=OqEQm8rS6M+4q0bU+Zc3zvgWgzMq2h81eDVlGp04CFAGDIM3PtkruweyFxzlUu+bth fcBQVa43Ds5VE7CNFkNKWtJ1qSHk4J5+xJcdW87oPXBsn0RkpYBlwymo9MOFg5N+4Imb svo5uIYfW7EpXTI5SUp+UMzeRbX0ffEt6KN3JiD2ZpXHw0YzRln0SMW1an+IbthhYRKd m6EfR5pG/NkjySmzxCOjKbqNZQD4pH7HrOJFcYtEoaodlX5dWgscFpjvgplUeXiGLZIm qppkZhaHvMq+nzx+Lj002CAMg4C+R3qPuQhU5UoahzgygAMDZkbs0CtRz2g/Quy1ojQT 89cw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1709161321; x=1709766121; h=references:to:cc:in-reply-to:date:subject:mime-version:message-id :from:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=aqwsE/oSpBDuh2jR5zh4IiW8EO9MxoB46/L2eje3gq8=; b=KozwiDH1Hzh/0gA5j1qQbPGWM1MTBZR5hjgbDxTEhZ5pJZOOMWo7ozeaxrq9Dk3fPu dhLzBol/pjEkLHXWEaP2ksY65pZFPMAWgxzQn8gaioDuNEI5Dr5olH7YTBzsZclLDRJw CdsOElGDCjCrW7nISdlab4DekrSuS41orNlPv1YkSM8AH1jauytaXTCogNHGsRzHR30L wociXJ1K0chAcvlZIFcxGkZmmoYf4ipCNI6jjlo69OLA4tFRccq19+AP0i30uD4AmCYi HQbOhxJKdMd48/g+2vgUpSORH+6zS/lMxhhEIc99I6IQMkY2HsObnhhZPxXapSuCKXRV B2EQ==
X-Forwarded-Encrypted: i=1; AJvYcCUF9xT70rLPYGz0OVpglE+8YyhFFcHaFIJv+6ipnphKEaTohA5/XlFQ6bzMisedrr0AjTc7OXMZaOLi+WAViEs=
X-Gm-Message-State: AOJu0YxlAASGhH5ez8NYO2wb/7TIZWFjDoL0eNIOlFUk5uh0PggUzl4g LmZiNtvhrXzLQ9qUD9C7OE5ljwvHp9LsFG+jo05aoK9nWXNU6Hz8
X-Google-Smtp-Source: AGHT+IHfce+wneEwiQXOgPTnHwmEh++ps0Sy9aWnOhTCRxDjVB91q/PSgfTbbzde4k4lra5LxoiDOA==
X-Received: by 2002:a92:d405:0:b0:365:1ee3:ca8a with SMTP id q5-20020a92d405000000b003651ee3ca8amr680967ilm.29.1709161320571; Wed, 28 Feb 2024 15:02:00 -0800 (PST)
Received: from smtpclient.apple ([70.234.233.187]) by smtp.gmail.com with ESMTPSA id i1-20020a62c101000000b006e509762bc2sm242836pfg.26.2024.02.28.15.01.57 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Wed, 28 Feb 2024 15:01:58 -0800 (PST)
From: Mahesh Jethanandani <mjethanandani@gmail.com>
Message-Id: <E66BFBC6-568F-4BC0-A201-3D945DB56DF5@gmail.com>
Content-Type: multipart/alternative; boundary="Apple-Mail=_96FEE88B-E65E-460C-B654-D1EF7ABFDDDF"
Mime-Version: 1.0 (Mac OS X Mail 14.0 \(3654.120.0.1.15\))
Date: Wed, 28 Feb 2024 15:01:57 -0800
In-Reply-To: <DU2PR02MB1016047A0870C85075416E3A888582@DU2PR02MB10160.eurprd02.prod.outlook.com>
Cc: Jan Lindblad <janl@tail-f.com>, "netmod@ietf.org" <netmod@ietf.org>
To: mohamed.boucadair@orange.com
References: <170911084467.36197.13909323798182085568@ietfa.amsl.com> <DU2PR02MB10160D87F56348C8C6C3D947188582@DU2PR02MB10160.eurprd02.prod.outlook.com> <0E99F975-162C-4703-93F7-B9EE82D4186B@tail-f.com> <DU2PR02MB1016047A0870C85075416E3A888582@DU2PR02MB10160.eurprd02.prod.outlook.com>
X-Mailer: Apple Mail (2.3654.120.0.1.15)
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/L82icEYrYrFdBeQPtJG18FvmyNs>
Subject: Re: [netmod] Long trees RE: Next steps for draft-ietf-netmod-rfc8407bis
X-BeenThere: netmod@ietf.org
X-Mailman-Version: 2.1.39
Precedence: list
List-Id: NETMOD WG list <netmod.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netmod>, <mailto:netmod-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netmod/>
List-Post: <mailto:netmod@ietf.org>
List-Help: <mailto:netmod-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netmod>, <mailto:netmod-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 28 Feb 2024 23:02:06 -0000

I would agree with Andy that it is not clear how long is “too long”. 

BGP YANG model, which is perhaps one of the biggest models at 150 pages long, has multiple tree diagrams none of which are more than one page long.

If the complete tree diagram is too long, could it moved to the Appendix, instead of banishing it from the document completely? Sorry Jan, but I hope no one is cutting down trees to read the entire tree diagram. Sometimes, albeit rarely, it is helpful to have the complete tree diagram handy to reference where a particular node is in the tree.

Cheers.

> On Feb 28, 2024, at 8:29 AM, mohamed.boucadair@orange.com wrote:
> 
> Hi Jan,
>  
> Thanks for the comments.
>  
> Here is a first attempt to address the long trees point while taking into account expanded/unexpanded uses:
>  
> NEW:
>    YANG tree diagrams provide a concise representation of a YANG module
>    and SHOULD be included to help readers understand YANG module
>    structure.  If the complete tree diagram for a module becomes too
>    long, the diagram SHOULD be split into several smaller diagrams.  If
>    the complete tree diagram is too long even with groupings unexpanded
>    (Section 2.2 of [RFC8340]), authors SHOULD NOT include it in the
>    document.
>  
>    These guidelines take precedence over the generic guidance in
>    Section 3 of [RFC8340].
>  
> For convenience a diff for the proposed change can be seenhttps://author-tools.ietf.org/api/iddiff?url_1=https://boucadair.github.io/rfc8407bis/draft-ietf-netmod-rfc8407bis.txt&url_2=https://boucadair.github.io/rfc8407bis/long-trees/draft-ietf-netmod-rfc8407bis.txt <https://author-tools.ietf.org/api/iddiff?url_1=https://boucadair.github.io/rfc8407bis/draft-ietf-netmod-rfc8407bis.txt&url_2=https://boucadair.github.io/rfc8407bis/long-trees/draft-ietf-netmod-rfc8407bis.txt>
>  
> Cheers,
> Med
>  
> De : Jan Lindblad <janl@tail-f.com <mailto:janl@tail-f.com>> 
> Envoyé : mercredi 28 février 2024 15:21
> À : BOUCADAIR Mohamed INNOV/NET <mohamed.boucadair@orange.com <mailto:mohamed.boucadair@orange.com>>
> Cc : netmod@ietf.org <mailto:netmod@ietf.org>
> Objet : Re: [netmod] Next steps for draft-ietf-netmod-rfc8407bis
>  
> Med, author team,
>  
> Thank you for taking the time to get this work done, and well done! This is one of those fundamental bricks that saves time and improves quality for the entire YANG community.
>  
> I read the -09 version and like what I see. I have a couple of minor suggestions you might consider.
>  
> + In section 3.4 about tree diagrams, the section text is already advocating intermixing smaller tree snippets with explanations (which is great), but I wish we could say that 
> tree diagrams of entire modules SHOULD NOT be included. Just a waste of forest and attention span, imho.
>  
> + In section 4.2 about choice of prefixes, it is said that "Prefix values SHOULD be short but are also likely to be unique." I used to say the same thing. In recent years, however, I have started to stress the importance of uniqueness much more. I'd say something like "Prefix values SHOULD be selected carefully to be unique, and ideally not too long." The reason for my change is I have met several engineers who have been deeply confused (to the point of costing real money) when the same prefix has shown up in multiple places. It's just an unnecessary part of the learning curve associated with YANG.
>  
> In fact, I have started to recommend people to set the prefix to equal the module name. This also solves another problem, which is that the "prefixes" you see in RESTCONF are module names, and the confusion of what to use where is sometimes suffocating. I understand if many think I'm going overboard here, but when we pretend that modules don't have prefixes, only module names, there is a lot less friction in learning the ropes.
>  
> + In section 4.6.2 regarding useless (in YANG Context) functions in the XPath function library, it is said that the "YANG compiler" should return false, etc. Better wording might be that the XPath execution environment (or something) should return false, etc. The YANG compiler is not even running when the calls to those functions are happening.
>  
> + In section 4.11.5 regarding booleans, it is said that booleans can take values true and false. This is true in mathematics :-) but in YANG a boolean leaf can additionally take the "value" of "not set". Actually, "not set" is a possibility for leafs in general, unless it is declared mandatory true, or has a default. In my experience, one of the most common YANG modeling issues is when people model a leaf foo, which isn't mandatory, has no default and the description statement does not say what happens if the leaf is not set. In many cases, there is a sort of natural meaning, but with booleans leafs in particular, the absence of the leaf is typically highly ambiguous. I think this hole merits a recommendation clause in the I-D.
>  
> Best Regards,
> /jan
>  
>  
> 
> 
> On 28 Feb 2024, at 10:51, mohamed.boucadair@orange.com <mailto:mohamed.boucadair@orange.com> wrote:
>  
> Hi all, 
> 
> I think that this version is ready for the WGLC.
> 
> The document fully covers the items promised when requesting adoption [1]. As listed in the ACK section, we also solicited and integrated feedback from many yangdoctors, solicited SAAG WG to review the security text, etc. Refer to 1.1 for a comprehensive list of the changes.
> 
> Cheers,
> Med
> 
> [1] Slide#7 of https://datatracker.ietf.org/meeting/117/materials/slides-117-netmod-7-guidelines-for-authors-and-reviewers-of-documents-containing-yang-data-models-00 <https://datatracker.ietf.org/meeting/117/materials/slides-117-netmod-7-guidelines-for-authors-and-reviewers-of-documents-containing-yang-data-models-00> 
> 
> 
> -----Message d'origine-----
> De : I-D-Announce <i-d-announce-bounces@ietf.org <mailto:i-d-announce-bounces@ietf.org>> De la part de
> internet-drafts@ietf.org <mailto:internet-drafts@ietf.org>
> Envoyé : mercredi 28 février 2024 10:01
> À : i-d-announce@ietf.org <mailto:i-d-announce@ietf.org>
> Cc : netmod@ietf.org <mailto:netmod@ietf.org>
> Objet : I-D Action: draft-ietf-netmod-rfc8407bis-09.txt
> 
> Internet-Draft draft-ietf-netmod-rfc8407bis-09.txt is now available.
> It is a work item of the Network Modeling (NETMOD) WG of the IETF.
> 
>   Title:   Guidelines for Authors and Reviewers of Documents
> Containing YANG Data Models
>   Authors: Andy Bierman
>            Mohamed Boucadair
>            Qin Wu
>   Name:    draft-ietf-netmod-rfc8407bis-09.txt
>   Pages:   84
>   Dates:   2024-02-28
> 
> Abstract:
> 
>   This memo provides guidelines for authors and reviewers of
>   specifications containing YANG modules, including IANA-maintained
>   modules.  Recommendations and procedures are defined, which are
>   intended to increase interoperability and usability of Network
>   Configuration Protocol (NETCONF) and RESTCONF protocol
>   implementations that utilize YANG modules.  This document obsoletes
>   RFC 8407.
> 
>   Also, this document updates RFC 8126 by providing additional
>   guidelines for writing the IANA considerations for RFCs that
> specify
>   IANA-maintained modules.
> 
> The IETF datatracker status page for this Internet-Draft is:
> https://eur03.safelinks.protection.outlook.com/?url=https%3A%2F%2Fdata <https://eur03.safelinks.protection.outlook.com/?url=https%3A%2F%2Fdata>
> tracker.ietf.org <http://tracker.ietf.org/>%2Fdoc%2Fdraft-ietf-netmod-
> rfc8407bis%2F&data=05%7C02%7Cmohamed.boucadair%40orange.com <http://40orange.com/>%7C51672231
> 30c943a5a4c608dc383bce6b%7C90c7a20af34b40bfbc48b9253b6f5d20%7C0%7C0%7C
> 638447076716455966%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjo
> iV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C0%7C%7C%7C&sdata=s5VX9Hb%2Fl
> P9v5QurysF69syyEyba9yYss7xd7K5E2FE%3D&reserved=0
> 
> There is also an HTML version available at:
> https://eur03.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww <https://eur03.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww>.
> ietf.org <http://ietf.org/>%2Farchive%2Fid%2Fdraft-ietf-netmod-rfc8407bis-
> 09.html&data=05%7C02%7Cmohamed.boucadair%40orange.com%7C5167223130c943
> a5a4c608dc383bce6b%7C90c7a20af34b40bfbc48b9253b6f5d20%7C0%7C0%7C638447
> 076716464395%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luM
> zIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C0%7C%7C%7C&sdata=%2Br3nHahSq8OV24f
> hFxBkJaqY43Q0GUxcbPZSFhji4uk%3D&reserved=0
> 
> A diff from the previous version is available at:
> https://eur03.safelinks.protection.outlook.com/?url=https%3A%2F%2Fauth <https://eur03.safelinks.protection.outlook.com/?url=https%3A%2F%2Fauth>
> or-tools.ietf.org <http://or-tools.ietf.org/>%2Fiddiff%3Furl2%3Ddraft-ietf-netmod-rfc8407bis-
> 09&data=05%7C02%7Cmohamed.boucadair%40orange.com <http://40orange.com/>%7C5167223130c943a5a4c
> 608dc383bce6b%7C90c7a20af34b40bfbc48b9253b6f5d20%7C0%7C0%7C63844707671
> 6470644%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLC
> JBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C0%7C%7C%7C&sdata=zo%2FrtFJrYJkJXOceIpzR
> mlGAQF2c8m9Z%2F0vShl5o8gQ%3D&reserved=0
> 
> Internet-Drafts are also available by rsync at:
> rsync.ietf.org <http://rsync.ietf.org/>::internet-drafts
> 
> 
> 
> ____________________________________________________________________________________________________________
> Ce message et ses pieces jointes peuvent contenir des informations confidentielles ou privilegiees et ne doivent donc
> pas etre diffuses, exploites ou copies sans autorisation. Si vous avez recu ce message par erreur, veuillez le signaler
> a l'expediteur et le detruire ainsi que les pieces jointes. Les messages electroniques etant susceptibles d'alteration,
> Orange decline toute responsabilite si ce message a ete altere, deforme ou falsifie. Merci.
> 
> This message and its attachments may contain confidential or privileged information that may be protected by law;
> they should not be distributed, used or copied without authorisation.
> If you have received this email in error, please notify the sender and delete this message and its attachments.
> As emails may be altered, Orange is not liable for messages that have been modified, changed or falsified.
> Thank you.
> 
> _______________________________________________
> netmod mailing list
> netmod@ietf.org <mailto:netmod@ietf.org>
> https://www.ietf.org/mailman/listinfo/netmod <https://www.ietf.org/mailman/listinfo/netmod>
>  
> ____________________________________________________________________________________________________________
> Ce message et ses pieces jointes peuvent contenir des informations confidentielles ou privilegiees et ne doivent donc
> pas etre diffuses, exploites ou copies sans autorisation. Si vous avez recu ce message par erreur, veuillez le signaler
> a l'expediteur et le detruire ainsi que les pieces jointes. Les messages electroniques etant susceptibles d'alteration,
> Orange decline toute responsabilite si ce message a ete altere, deforme ou falsifie. Merci.
> 
> This message and its attachments may contain confidential or privileged information that may be protected by law;
> they should not be distributed, used or copied without authorisation.
> If you have received this email in error, please notify the sender and delete this message and its attachments.
> As emails may be altered, Orange is not liable for messages that have been modified, changed or falsified.
> Thank you.
> _______________________________________________
> netmod mailing list
> netmod@ietf.org <mailto:netmod@ietf.org>
> https://www.ietf.org/mailman/listinfo/netmod <https://www.ietf.org/mailman/listinfo/netmod>

Mahesh Jethanandani
mjethanandani@gmail.com