[yang-doctors] [IANA #1289473] Revision statements in IANA-maintained YANG modules

Amanda Baber via RT <iana-issues@iana.org> Wed, 06 March 2024 18:43 UTC

Return-Path: <iana-shared@icann.org>
X-Original-To: yang-doctors@ietfa.amsl.com
Delivered-To: yang-doctors@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 89F4EC14F5E3 for <yang-doctors@ietfa.amsl.com>; Wed, 6 Mar 2024 10:43:16 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.936
X-Spam-Level:
X-Spam-Status: No, score=-2.936 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HEADER_FROM_DIFFERENT_DOMAINS=0.249, MISSING_HEADERS=1.021, RCVD_IN_DNSWL_MED=-2.3, 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
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 lOtF7-Tly0O3 for <yang-doctors@ietfa.amsl.com>; Wed, 6 Mar 2024 10:43:12 -0800 (PST)
Received: from smtp.lax.icann.org (smtp.lax.icann.org [IPv6:2620:0:2d0:201::1:81]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 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 AE04FC14F5E5 for <yang-doctors@ietf.org>; Wed, 6 Mar 2024 10:43:12 -0800 (PST)
Received: from request6.lax.icann.org (request1.lax.icann.org [10.32.11.221]) by smtp.lax.icann.org (Postfix) with ESMTP id 83030E1C00; Wed, 6 Mar 2024 18:43:12 +0000 (UTC)
Received: by request6.lax.icann.org (Postfix, from userid 48) id 5ECCB52E68; Wed, 6 Mar 2024 18:43:12 +0000 (UTC)
RT-Owner: amanda.baber
From: Amanda Baber via RT <iana-issues@iana.org>
Reply-To: iana-issues@iana.org
In-Reply-To: <rt-5.0.3-686852-1709735057-619.1289473-37-0@icann.org>
References: <RT-Ticket-1289473@icann.org> <rt-5.0.3-1442929-1700610506-1513.1289473-37-0@icann.org> <rt-5.0.3-1596180-1709161534-1267.1289473-37-0@icann.org> <20240229.153106.364054816418317886.id@4668.se> <rt-5.0.3-1678068-1709217111-850.1289473-37-0@icann.org> <rt-5.0.3-616617-1709687937-828.1289473-37-0@icann.org> <0100018e142642e2-194dad80-24b8-47c4-9072-33dcd694d596-000000@email.amazonses.com> <rt-5.0.3-686852-1709735057-619.1289473-37-0@icann.org>
Message-ID: <rt-5.0.3-704512-1709750592-1982.1289473-37-0@icann.org>
X-RT-Loop-Prevention: IANA
X-RT-Ticket: IANA #1289473
X-Managed-BY: RT 5.0.3 (http://www.bestpractical.com/rt/)
X-RT-Originator: amanda.baber@icann.org
CC: yang-doctors@ietf.org, kent+ietf@watsen.net
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: quoted-printable
X-RT-Original-Encoding: utf-8
Precedence: bulk
Date: Wed, 06 Mar 2024 18:43:12 +0000
MIME-Version: 1.0
Archived-At: <https://mailarchive.ietf.org/arch/msg/yang-doctors/MaEF0ugZyVFsMuFvNRyfbbU9_F4>
Subject: [yang-doctors] [IANA #1289473] Revision statements in IANA-maintained YANG modules
X-BeenThere: yang-doctors@ietf.org
X-Mailman-Version: 2.1.39
List-Id: Email list of the yang-doctors directorate <yang-doctors.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/yang-doctors>, <mailto:yang-doctors-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/yang-doctors/>
List-Post: <mailto:yang-doctors@ietf.org>
List-Help: <mailto:yang-doctors-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/yang-doctors>, <mailto:yang-doctors-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 06 Mar 2024 18:43:16 -0000

Hi Kent, all,

My understanding is that the decision was to use the URL for the module itself, not for the YANG Module Names registry itself or the "source" registry. That is, https://www.iana.org/assignments/yang-parameters/iana-bfd-types@2021-10-21.yang rather than https://www.iana.org/assignments/yang-parameters or https://www.iana.org/assignments/bfd-parameters.

About this:

> description:
>         This update reflects a First Come, First Served request
>         made by John Smith via email 123456.

Please add a preferred description format to 8407bis if there's specific information you'd like us to include.  Right now we're adding descriptions like "Registered ifType 303",  "Changed gpon description to refer to G.984",  "Updated reference for 64 and 65".

It should be noted that although we typically have to add or update only one entry at a time, there's a revision in iana-iftype-yang that added five. 

thanks,
Amanda

On Wed Mar 06 14:24:17 2024, kent+ietf@watsen.net wrote:
> Hi Amanda,
> 
> I never want to see a URL to https://www.iana.org/assignments/yang-
> parameters in the “reference”.
> My previous example shows the module’s top-level description already
> indicating that all modules can be found at
> https://www.iana.org/assignments/yang-parameters, so the additional
> link would be redundant.
> 
> For the revision-specific description and reference statements, as
> Martin points out, the “description” is the *why* and the “reference”
> is the *where*, only I think it is important to spell it out:
> 
> description: why was the change made
> reference: where is it shown that the *why* happened
> 
> In the simplest case, there is an RFC:
> 
> description:
>         This update reflects the update made to the underlying
>         Foo Bar registry per RFC YYYY.
>  reference:
>         RFC YYYY: Extend the Foo Bars Registry to Support
>         Something Important
> 
> For weird things like FC/FS and Expert Review, firstly I assume that
> 1) the request comes to IANA (as IANA doesn’t make stuff up on their
> own) and 2) the request is in some achievable form, even if just a
> IANA-ticket or an email, so then we might have:
> 
> description:
>         This update reflects a First Come, First Served request
>         made by John Smith per IANA ticket 123456.
>  reference:
>         https://iana.org/tickets/123456
> 
> Or perhaps:
> 
> description:
>         This update reflects a First Come, First Served request
>         made by John Smith via email 123456.
>  reference:
>         https://iana.org/mailing-list/requests/123456
> 
> Or, in the very worst case:
> 
> description:
>         This update reflects a First Come, First Served request
>         made by John Smith via a hallway conversation.
>  reference:
>         No reference to the conversation can be provided.
> 
> 
> Makes sense?
> Kent
> 
> 
> 
> 
> > On Mar 5, 2024, at 8:18 PM, Amanda Baber via RT <iana-
> > issues@iana.org> wrote:
> >
> > Hi all,
> >
> > Do you agree that for references in IANA-maintained module revision
> > statements, the "always point to the module URL" instruction should
> > be changed to "point to the RFC if there is one, and to the module
> > URL if there isn't"?
> >
> > thanks,
> > Amanda
> >
> > On Thu Feb 29 14:31:51 2024, mbj+ietf@4668.se wrote:
> >> Hi,
> >>
> >>
> >> "Amanda Baber via RT" <iana-issues@iana.org> wrote:
> >>> Hi,
> >>>
> >>> I'm writing to ask whether IANA's approach to references in
> >>> revision
> >>> statements in IANA-maintained modules should be reconsidered.
> >>>
> >>> I was talking to Kent Watsen about
> >>> draft-ietf-netconf-ssh-client-server-38, which asks IANA to refer
> >>> to
> >>> RFCs in revision statements for IANA-maintained modules. (See the
> >>> third-to-last paragraph of Section 6.3 for an example.)
> >>>
> >>> We understood that because some registrations (for example, those
> >>> coming from First Come First Served or Expert Review registries)
> >>> aren't associated with an RFC, the YANG doctors prefer that we
> >>> instead
> >>> point to the location of the module (e.g.,
> >>> "https://www.iana.org/assignments/yang-parameters/iana-tunnel-
> >>> type@2021-04-23.yang")
> >>> in the revision statement. This is reflected in 8407bis:
> >>>
> >>> When the "iana-foo" YANG module is updated, a new "revision"
> >>> statement with a unique revision date must be added in front of the
> >>> existing revision statements. The "revision" statement must have a
> >>> "reference" substatement that points specifically to the published
> >>> module (i.e., IANA_FOO_URL_With_REV).
> >>>
> >>> After talking to Kent, I'm wondering whether we should instead
> >>> point
> >>> to the RFC by default, and point to the module when there is no RFC
> >>> to
> >>> point to.
> >>
> >> This sounds like a good idea!
> >>
> >>> I'm forwarding Kent's suggestion (and copying him on this email):
> >>>
> >>> ===
> >>>
> >>> Though I see that Lada/Acee/Mahesh did not “object”, I don’t like
> >>> the
> >>> advice of just pointing to the URL of the YANG module, nor do I
> >>> agree
> >>> with Martin’s statement:
> >>>
> >>> "The motivation behind the rule is to make it easy for readers
> >>> of a module to find the original source of the module."
> >>>
> >>> Perhaps I misunderstand what Martin means by “rule”, but will say
> >>> that
> >>> the common sense understanding is that the purpose of the revision
> >>> statement is to explain *why* the module is being updated, and not
> >>> so
> >>> much *where* it can be downloaded.
> >>
> >> The "description" in the "revision" statement should explain the
> >> *why*,
> >> and the "reference" (in this case) the *where*.  (I suggested the
> >> url
> >> in order to have a simple instruction that always works.  The new
> >> proposal is better.)
> >>
> >> Currently there are no instructions for IANA to fill in the
> >> "description" statement, AFAIK.
> >>
> >>> Furthermore, regarding where the module can be downloaded, it seems
> >>> that it is something that should be in the top-level “description”
> >>> statement and, in fact, could apply to *all* YANG modules published
> >>> by
> >>> the IETF (not just those that are IANA-maintained).
> >>>
> >>> To be constructive, let me give a concrete example of what I think
> >>> would be super. Assume there is an IANA-maintained module called
> >>> “iana-foo-bar” that was initially created by RFC XXXX and
> >>> subsequently
> >>> updated (by IANA) due to the underlying “Foo Bar” registry being
> >>> updated due to RFC YYYY. Here’s what I’d like to see as a
> >>> module-reader:
> >>>
> >>> module iana-foo-bar {
> >>> <snip/>
> >>>
> >>> description
> >>> "This module defines enumerations for foo bars
> >>> defined in the ‘Foo Bar' registry maintained by IANA
> >>> at https://www.iana.org/assignments/foo-bar-parameters.
> >>>
> >>> <snip/>
> >>>
> >>> All versions of this module are published by IANA at
> >>> https://www.iana.org/assignments/yang-parameters.”;
> >>>
> >>> revision 2024-02-02 {
> >>> description
> >>> “This update reflect the update made to the underlying
> >>> Foo Bar registry per RFC YYYY.”;
> >>> reference
> >>> "RFC YYYY: Extend the Foo Bars Registry to Support Something
> >>> Important";
> >>> }
> >>>
> >>> revision 2024-01-01 {
> >>> description
> >>> “This initial version of the module was created using
> >>> the mechanism defined in RFC XXXX to reflect the
> >>> contents of the underlying ‘Foo Bar’ registry maintained
> >>> by IANA.”;
> >>> reference
> >>> "RFC XXXX: YANG Data Model for Foo Bars";
> >>> }
> >>>
> >>> <snip/>
> >>> }
> >>>
> >>> ===
> >>>
> >>> IANA, I should add, has no preference between always pointing to
> >>> the
> >>> module URL and only pointing to the module URL in the absence of a
> >>> reference to an RFC (which is technically a possibility where SSH
> >>> Expert Review registrations are concerned).
> >>>
> >>> thanks,
> >>> Amanda
> >>
> >> If we agree that this is the way it should work, it should be
> >> reflected in 8407bis.
> >>
> >>
> >> /martin
> >