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

Mahesh Jethanandani <mjethanandani@gmail.com> Tue, 12 March 2024 20:25 UTC

Return-Path: <mjethanandani@gmail.com>
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 28F5CC14F5F8 for <yang-doctors@ietfa.amsl.com>; Tue, 12 Mar 2024 13:25:55 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -7.104
X-Spam-Level:
X-Spam-Status: No, score=-7.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_DNSWL_HI=-5, 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 vLaE6zLMLvBu for <yang-doctors@ietfa.amsl.com>; Tue, 12 Mar 2024 13:25:51 -0700 (PDT)
Received: from mail-pl1-x633.google.com (mail-pl1-x633.google.com [IPv6:2607:f8b0:4864:20::633]) (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 32C11C14F6B7 for <yang-doctors@ietf.org>; Tue, 12 Mar 2024 13:25:50 -0700 (PDT)
Received: by mail-pl1-x633.google.com with SMTP id d9443c01a7336-1ddbad11823so8948905ad.0 for <yang-doctors@ietf.org>; Tue, 12 Mar 2024 13:25:50 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1710275149; x=1710879949; 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=xVYnU0YgWF3pENglx78lYnY8Wy1WIymAPBoMo30ccto=; b=ifnuCGZ8c/MeSkNK697fVxwygL+ewOlqkFAgZcR2BlJehhHsvoxXG/eiRR8zsDHvV0 30nij6SmFjF4LIVwJr4x99UOTvLfVzC4S4F773iDH84bLjnRCXzqlDJrt0e8tEk2HPHd 9uchPHJRXWqLPBB6LCOmJGMnqvv1Jxy69rl9E4FXftqgUVpcvYPJjmoaASys9h8ctKi1 v/G5tO4wFmI3vcayHbDA8zDA4FRk+RLViwBJtGRANH0lPFPk60WF+D5Xjf/g8/ZD5SPJ yG6UZLhS5cLJ5AvmoTe9Ro+ymuAVtRbsJfA3UD6TIdVb7cFGxUm4jADtVk+RZjkwSdVR ekHg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1710275149; x=1710879949; 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=xVYnU0YgWF3pENglx78lYnY8Wy1WIymAPBoMo30ccto=; b=cfAAeXD0eOLA3XVkZkZ1dqT5rYLFxBeOGRKIFlsUwG7LJs026VkJoyzRXQGBa8laeV D8cuPhONcbp6REX9f0QW+BuFFFq/JS8SliOjCuoWbGdF07NTGKX4Qdjl9Dg3L38D0krT CJm+gJNcWEdOwEQ1eNPE7+KDWYbaDb765/FlYXxR+sIKdW9JzYStZMh/2DEavRJQHx1T 9idvAFfdHQRNt2kzbzsSP++rQegXpmo3WN0bhr6Zb/73Izg8rxl8xIn6Sx/MWbTtFrLH 2rIm75uujzymVGniLPdxeKPSTGZlYMyzmPs7O3rjBH/xU8Of0/PMxQrshoa268fLeoPG K0hA==
X-Gm-Message-State: AOJu0YzFbd1flgnRUWSN0QpypnOxqt6eEKyp6YnRIOJeh2c5bUpc8W3T QjLRtdKQdHwjSxwxyf61VDOBrXHUb4ftMul4Gubcb1mVoyypuq5qbqcA4zUVjAg=
X-Google-Smtp-Source: AGHT+IFEvmJcIfVF46vG0VCor0USsMxtOPN8Ehjc4wuLOXkoAJWVnL04Aspx55GyfLWR0Yj/lRn5Ig==
X-Received: by 2002:a17:902:ccca:b0:1dd:8b3b:5378 with SMTP id z10-20020a170902ccca00b001dd8b3b5378mr12915498ple.6.1710275149024; Tue, 12 Mar 2024 13:25:49 -0700 (PDT)
Received: from smtpclient.apple (c-69-181-169-15.hsd1.ca.comcast.net. [69.181.169.15]) by smtp.gmail.com with ESMTPSA id t8-20020a170902e84800b001c407fac227sm7104525plg.41.2024.03.12.13.25.48 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Tue, 12 Mar 2024 13:25:48 -0700 (PDT)
From: Mahesh Jethanandani <mjethanandani@gmail.com>
Message-Id: <3A4FD029-769E-4AF1-84E0-DC0E0C9F442C@gmail.com>
Content-Type: multipart/alternative; boundary="Apple-Mail=_BADD3C9A-9E90-4153-B5C9-ACBCD0862812"
Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3696.120.41.1.8\))
Date: Tue, 12 Mar 2024 13:25:47 -0700
In-Reply-To: <0100018e2f6dbce4-85fb7b25-c2a7-4c26-bc81-bada63b8c487-000000@email.amazonses.com>
Cc: YANG Doctors <yang-doctors@ietf.org>, iana-issues@iana.org
To: Kent Watsen <kent+ietf@watsen.net>
References: <RT-Ticket-1289473@icann.org> <rt-5.0.3-866735-1709871684-909.1289473-37-0@icann.org> <0100018e1e0366b7-31bae558-303e-470d-b510-98401e63ea9c-000000@email.amazonses.com> <rt-5.0.3-914242-1709900546-350.1289473-37-0@icann.org> <rt-5.0.3-939729-1709923874-1278.1289473-37-0@icann.org> <AA51BCB6-EE65-4349-B1C5-85353BAAE657@gmail.com> <0100018e2f6dbce4-85fb7b25-c2a7-4c26-bc81-bada63b8c487-000000@email.amazonses.com>
X-Mailer: Apple Mail (2.3696.120.41.1.8)
Archived-At: <https://mailarchive.ietf.org/arch/msg/yang-doctors/WjgZEjVHi8wpNRWy41V69aDMQ5A>
Subject: Re: [yang-doctors] [IANA #1289473] Revision statements in IANA-maintained YANG modules
X-BeenThere: yang-doctors@ietf.org
X-Mailman-Version: 2.1.39
Precedence: list
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: Tue, 12 Mar 2024 20:25:55 -0000

Hi Kent,

> On Mar 11, 2024, at 2:31 PM, Kent Watsen <kent+ietf@watsen.net> wrote:
> 
> Hi Mahesh, Amanda,
> 
> 
>> On Mar 8, 2024, at 8:12 PM, Mahesh Jethanandani <mjethanandani@gmail.com> wrote:
>> 
>> Hi Amanda, please wait on further instructions before implementing anything new at this time.
>> 
>> I went back to the thread that Amanda started in November, and here is a summary of discussion we have had. Cutting and pasting some of the text from earlier threads as needed.
>> 
>> 1. When an IANA module is first published on IANA’s web site, the IANA module is copied as-is from the RFC to form the original version. Subsequent updates, should result in:
>> 
>> 1a. Adding a “revision” statement at the top level that contains a “description" statement as discussed in 2.
>> 1b. Addition of a “reference” statement in the same “revision” statement as discussed in 3.
>> 1c. The description of the module should be updated from:
>> 
>>     This version of this YANG module is part of RFC XXXX; see
>>     the RFC itself for full legal notices.”;
>> 
>>      to say:
>> 
>>     This original version of this YANG module is part of RFC XXXX; see
>>     the RFC itself for full legal notices.";
>> 
>> 2. IANA will ask the requestor to provide a “description” statement to be inserted as part of the update to the “revision” statement. That “description" statement may or may not include a RFC number.
>> 
>> 3. Cutting and pasting Martin’s response here.
>> 
>>>  RFC 8407 currently says:
>>> 
>>>   A "revision" statement MUST be present for each published version of
>>>   the module.  The "revision" statement MUST have a "reference"
>>>   substatement.  It MUST identify the published document that contains
>>>   the module.
>>> 
>> 
>> [My own addition] In the case there is an RFC that updates the IANA module, that RFC should be used in the “reference" statement.
>> 
>>> 
>>> In this case, there really isn't any "published document" - the module
>>> is published directly on the web.  One option could be to add the URL
>>> to the module in "reference".  The motivation for the rule is:
>>> 
>>>   Modules are often extracted from their original
>>>   documents, and it is useful for developers and operators to know how
>>>   to find the original source document in a consistent manner.
>>> 
>>> So the URL would help for this.
>> 
>> In light of the fact what Amanda stated, that the IANA ticket system is not visible to outsiders, it makes sense to go with Martin’s proposal. Does anyone strongly disagree. In other words. 
>> 
>> Is it agreed that if IANA registers a codepoint in a First Come First Served or Expert Review range, and there is no associated specification, IANA will list a URL in the reference statement. It would for example use https://www.iana.org/assignments/yang-parameters/iana-dns-class-rr-type@2023-11-08.yang <https://www.iana.org/assignments/yang-parameters/iana-dns-class-rr-type@2023-11-08.yang>.
> 
> I don’t agree.  
> 
> As I wrote before, I never want to see a URL to https://www.iana.org/assignments/yang-parameters <https://www.iana.org/assignments/yang-parameters> in the “reference”.   To which, Martin said my proposal seemed better and you wrote "I like Kent’s idea of linking this somehow to the request that resulted in the update to the module, however that comes to IANA. If it comes in the form of a ticket, then hopefully that ticket explains who made the request, why they made the request etc. In other words, some form of traceability."
> 
> Just because Amanda explains their ticketing system is private doesn’t mean we have to throw out the whole idea.   Amanda’s proposal to have "[IANA #123456]: iana@iana.org <mailto:iana@iana.org>” would be fine, IMO.

Ok. The problem of the ticketing system being private is much like a reference that is behind a paywall, where most of us cannot see it. But if others agree, I can live with it.

> 
> That said, it seems odd that the authoritative reference is something the IETF has to discuss at all.  It is wholly in IANA’s court.  The YANG-module for any underlying IANA-maintained registry should get all its data from that registry.  Never should IANA have to create a secondary reference that isn’t in the underlying registry.  Stated differently, I don’t think rfc8407bis should have recommendations that exceed what is possible using just the data in the underlying registry.

Agree.

> 
> Case in point, [1] points to [2] and [3] as examples of a First Come, First Served registries.  In both cases there is a column called “Reference” that usually points to an RFC, but sometimes points to a “Contact”, which is effectively a name and an email address.
> [1] https://datatracker.ietf.org/doc/html/rfc8126#section-4.4 <https://datatracker.ietf.org/doc/html/rfc8126#section-4.4>
> [2] https://www.iana.org/assignments/sasl-mechanisms/sasl-mechanisms.xhtml <https://www.iana.org/assignments/sasl-mechanisms/sasl-mechanisms.xhtml>
> [3] https://www.iana.org/assignments/ldap-parameters/ldap-parameters.xhtml <https://www.iana.org/assignments/ldap-parameters/ldap-parameters.xhtml>
> 
> 
> IMO, these are not great “references”, such that I recommend IANA institute a global update for how non-RFC references are tracked, but that is out-of-scope to rfc8407bis.  

If they are not great “references”, then isn’t that a problem? If we were to fix it, e.g. by using the same ticketing reference, it would address both the question of asserting anything that the underlying registry does not do, and it will provide a better reference.

The problem that I see is specifically with the second example reference, i.e., if the reference is via an individual. If that person is not available or not responding to any queries, how does one validate the reference?

Agree?

> 
> 
> With this in mind, perhaps the “revision” statement might be like this?
> 
> 	If the reference a via an RFC
> 	======================
> 	revision 2024-03-11 {
> 		description
> 			“Added the FOO_BAR algorithms per RFC 1234"
> 		reference 
> 			“RFC 1234: Additional Foo Bar Algorithms.”
> 
> 	If the reference is via an individual
> 	==========================
> 	revision 2024-03-11 {
> 		description
> 			“Added the FOO_BAR algorithms per request by John Smith."
> 		reference 
> 			“John Smith: john@example.com <mailto:john@example.com>”
> 
> 	If the reference is unknown
> 	=====================
> 	revision 2024-03-11 {
> 		description
> 			“Added the FOO_BAR algorithms."
> 		reference 
> 			“Unknown: The underlying foo-bar registry does not track this information.”
> 
> 
> Thoughts?
> 
> Kent
> 
> 
> 
>> If agreed, we will ask Med to update 8407bis to reflect this.
>> 
>> Thanks.
>> 
>> 
>>> On Mar 8, 2024, at 10:51 AM, Amanda Baber via RT <iana-issues@iana.org <mailto:iana-issues@iana.org>> wrote:
>>> 
>>> Hi Kent,
>>> 
>>> Sorry, I didn't make this clear: tickets (and the IANA github) aren't public. They require an IANA login. That's why, if you want to use the ticket number, I was suggesting something like
>>> 
>>> reference
>>> [IANA #123456]: iana@iana.org <mailto:iana@iana.org>
>>> 
>>> instead of 
>>> 
>>> reference:
>>> https://iana.org/tickets/123456 <https://iana.org/tickets/123456> [not the actual link]
>>> 
>>> That way someone could contact us and refer to ticket 123456, which we could then use to find the ticket quickly. 
>>> 
>>> It should be noted, though, that in addition to not giving the requester direct access, all this does for IANA is save a minute or two. We can also search the ticket system for the name of the registration or the date it was completed, or we can look at the commit message for the file that was created on that date.
>>> 
>>>> From our perspective, it might be more useful to link to, e.g., https://www.iana.org/assignments/address-family-numbers <https://www.iana.org/assignments/address-family-numbers> for an Address Family Number registration, which would allow the reader to find the contact information for John Smith directly via the registration's reference field. 
>>> 
>>>> It was my assumption that all existing registrations would be
>>>> grandfathered together under a single top-level “revision” statement,
>>>> pointing to the RFC that created the IANA-defined YANG module (e.g.,
>>>> my two drafts going thru the IESG right now).
>>> 
>>> That's our understanding as well.
>>> 
>>>> What we’re discussing here/now is how IANA sets the top-level
>>>> “revision” statement for all subsequent updates to the YANG module,
>>>> made by IANA.
>>> 
>>> That's our understanding too.
>>> 
>>>>> 2) If we use the submitter's description, would it be useful for us
>>>>> to automatically prepend something like "Added value 47."?
>>>> 
>>>> Yes.  In general, it would be helpful towards making the top-level
>>>> “revision” statement’s “description” better at explaining *why* the
>>>> module was updated, to include whatever tid-bits of information
>>>> possible.
>>>> 
>>>> That said, I suggest using discretion, as sometimes it may be
>>>> overwhelming to list out, e.g., a family of updates, in which case, it
>>>> might be better for the description to refer to the family as a whole.
>>>> 
>>> <snip>
>>>> 
>>>>> 4) For the submitter-provided description, could a document like
>>>>> 8407bis provide examples in this style that we can refer Expert
>>>>> Review/FCFS requesters to? If not, would it be possible to provide
>>>>> something for our internal records? At the moment I'm not sure we
>>>>> have any particularly verbose ones (outside of the initial
>>>>> revisions).
>>>>> 
>>>>> Or would this just be the description that we entered in the
>>>>> registry's name/description field?
>>>> 
>>>> We’re possibly overthinking this  :/
>>> 
>>> I'm asking for examples because applicants (for various types of registrations) don't always know what kind of answers they're expected to provide. In this case, we wouldn't be able to tell them, and would have to put the registration on hold while we asked the YANG doctors.
>>> 
>>>> For updates to the underlying registry that did NOT come from a
>>>> normative document, no user-supplied description is needed.  The
>>>> important thing to capture is:
>>>> 
>>>> 1) *why* is the module being updated
>>>>       - this is in the “description” statement
>>>> 
>>>> 2) *where* is the proof that the *why* occurred
>>>>      - this is in the “revision” statement
>>> 
>>> If descriptions need to be captured for some revision statements and not for others, and this can't be recorded in an RFC (as in 8407bis or a similar document rather than a document that creates a specific module), we need clear instructions from the group. 
>>> 
>>> IANA maintains more than 3000 registries, and won't always have the same staff working in the IETF area, so special instructions need to be recorded, if only in our internal wiki. If the instructions are coming informally, from correspondence, we'd also like them to be validated by the AD on the list.
>>> 
>>>> We may wish to  have a meeting, but maybe the following will make
>>>> sense.  Let me expand on the why/where from above:
>>>> 
>>>> 1) *why* is the module being updated
>>>>       - this is in the “description” statement
>>>>       - the description statement SHOULD contain an identifier of
>>>> some sort.  E.g., an RFC number, an IANA-ticket number, etc.
>>> 
>>> Does the RFC number belong in both the description field and the reference field?
>>> 
>>> thanks,
>>> Amanda
>>> 
>>> _______________________________________________
>>> yang-doctors mailing list
>>> yang-doctors@ietf.org <mailto:yang-doctors@ietf.org>
>>> https://www.ietf.org/mailman/listinfo/yang-doctors
>> 
>> 
>> Mahesh Jethanandani
>> mjethanandani@gmail.com <mailto:mjethanandani@gmail.com>
>> 
>> 
>> 
>> 
>> 
>> 
>> _______________________________________________
>> yang-doctors mailing list
>> yang-doctors@ietf.org <mailto:yang-doctors@ietf.org>
>> https://www.ietf.org/mailman/listinfo/yang-doctors <https://www.ietf.org/mailman/listinfo/yang-doctors>

Mahesh Jethanandani
mjethanandani@gmail.com