Re: [yang-doctors] [IANA #1289473] Revision statements in IANA-maintained YANG modules
Martin Björklund <mbj+ietf@4668.se> Wed, 29 November 2023 12:07 UTC
Return-Path: <mbj+ietf@4668.se>
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 6FAA6C14F74A for <yang-doctors@ietfa.amsl.com>; Wed, 29 Nov 2023 04:07:14 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.105
X-Spam-Level:
X-Spam-Status: No, score=-2.105 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, RCVD_IN_MSPIKE_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_ZEN_BLOCKED_OPENDNS=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=4668.se header.b="ZnvU3ty+"; dkim=pass (2048-bit key) header.d=messagingengine.com header.b="mr5T5fSO"
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 7qjGTHLzTgk5 for <yang-doctors@ietfa.amsl.com>; Wed, 29 Nov 2023 04:07:09 -0800 (PST)
Received: from wout5-smtp.messagingengine.com (wout5-smtp.messagingengine.com [64.147.123.21]) (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 318CAC14F73F for <yang-doctors@ietf.org>; Wed, 29 Nov 2023 04:07:08 -0800 (PST)
Received: from compute3.internal (compute3.nyi.internal [10.202.2.43]) by mailout.west.internal (Postfix) with ESMTP id 623C83200B1F; Wed, 29 Nov 2023 07:07:05 -0500 (EST)
Received: from mailfrontend1 ([10.202.2.162]) by compute3.internal (MEProxy); Wed, 29 Nov 2023 07:07:05 -0500
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=4668.se; h=cc:cc :content-transfer-encoding:content-type:content-type:date:date :from:from:in-reply-to:in-reply-to:message-id:mime-version :references:reply-to:sender:subject:subject:to:to; s=fm3; t= 1701259624; x=1701346024; bh=SwaVyGGgJ8wuyfNvyHHwYReZIODKRiSnFTz HdbmpkEA=; b=ZnvU3ty+ysfoSUsWIZGKu5larNWg6oMelT8/FZ0cewqiaQEe6f2 n3N1d0u/I2xRlQvUWyFlbyFYov9MPpWS9ZPUSYRIQQpld6VOK+dlYJVF/HMdaBeH IsBfrn01U4tfFFnkr0cwqHVJQSiRWTw7zgQ+CCqCGFjyMWpKHo65Mh7K2lea3SGn v7MQk0i50r3jdrJqqfte7PJiVP3VNgWu8EW1+rQJDu89ZOvoW2Yf0stXPhlsJVO5 DwyxXVE9/kYiGYy2Ar9YeSXp60LvPgQoAKXBXoTiF2T6C/nmHn/JZixjegyKH8qh ZR+dHDVc+hvKonxCcyGvc2u4Onxa3ro2Lgg==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-transfer-encoding :content-type:content-type:date:date:feedback-id:feedback-id :from:from:in-reply-to:in-reply-to:message-id:mime-version :references:reply-to:sender:subject:subject:to:to:x-me-proxy :x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=fm1; t= 1701259624; x=1701346024; bh=SwaVyGGgJ8wuyfNvyHHwYReZIODKRiSnFTz HdbmpkEA=; b=mr5T5fSOsCozu7/c2RsA70M1JelGWoakz1wHJjlbhoQQSC5MAdD PoIaDi2WBiGJpwKM81vdX68dTQPx1m8Tr4Gv2fETCgxZXpM/DyWKbKF+ZycZKWFe TpuJVnA+rovsAc5M9b3dHIqacaRD3JuZrwOodddR/omkq/Z5J6fcRuMy2o7pj2he zSPpDlkkKZazguFO1JE00MI72hHvIvyx2Tg/qgrSrt3+z/ScxJA1c8XtAgVpn1nx OkRPmCkQ8szVFKiu+6G4VPbSYJml9TMcYrBo24UDa+5ZDHKOe2SmGDBw5GmqlqBR ksPxhw0LC5eAv2kEzZMdbPB7EKaciyVCprQ==
X-ME-Sender: <xms:aClnZaM82BZy0br-ujoZVcBvlOU0WbkQ1jjwhIBFTsOOqeDaGJHmUw> <xme:aClnZY9fxogfWjGH4PIeUg6LSCJZ2QzbKNipwggkFkqjDVJjIqjqw9Zzj2yYMl_5P gJS9aURfxvYVttWl34>
X-ME-Received: <xmr:aClnZRSChYfBdxRZjTcjgwO23eyPivC2Bx61lD_tYYD8xOUcoeXSLX6IyZJkIdaQeMeisitTwRkgSLg9vwR6ivDQqSKarcwhig>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvkedrudeihedgfeegucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucenucfjughrpeffkffvvefuhfgjfhfogggtgfesth hqredtredtudenucfhrhhomhepofgrrhhtihhnuceujhpnrhhklhhunhguuceomhgsjhdo ihgvthhfseegieeikedrshgvqeenucggtffrrghtthgvrhhnpeetkedttefgfefhudffge evleevieevhedtlefgteeuudetueeuteeggeehuddvgfenucffohhmrghinhepihgrnhgr rdhorhhgpdihrghnghgtrghtrghlohhgrdhorhhgpdhivghtfhdrohhrghenucevlhhush htvghrufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpehmsghjodhivghtfhes geeiieekrdhsvg
X-ME-Proxy: <xmx:aClnZavGCS7zv73Hg7DuFMwWaKM9kaQdnQZWfRj4Cvd5by9jPqZc-w> <xmx:aClnZSf9jg4RrnC1nJWVI1KEGYKq1xDOAIqUJunyBrOqdUSE9gzW2w> <xmx:aClnZe1vLV3pAcnrv-mgupa5aYSdCP4dKOdS1SlkVQCfZC98_-ScAw> <xmx:aClnZalNMcXlMmd4bLwXcEZFqQ7sIcFEdVvDGQfDhSaDA84qYUc4xA>
Feedback-ID: icc614784:Fastmail
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Wed, 29 Nov 2023 07:07:03 -0500 (EST)
Date: Wed, 29 Nov 2023 13:07:01 +0100
Message-Id: <20231129.130701.1335457361123733396.id@4668.se>
To: iana-issues@iana.org
Cc: yang-doctors@ietf.org
From: Martin Björklund <mbj+ietf@4668.se>
In-Reply-To: <rt-5.0.3-582748-1701221641-344.1289473-37-0@icann.org>
References: <20231123.083844.1936556503927802747.id@4668.se> <rt-5.0.3-1570831-1700725179-891.1289473-37-0@icann.org> <rt-5.0.3-582748-1701221641-344.1289473-37-0@icann.org>
X-Mailer: Mew version 6.8 on Emacs 27.1
Mime-Version: 1.0
Content-Type: Text/Plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Archived-At: <https://mailarchive.ietf.org/arch/msg/yang-doctors/7THsavbYuK_50QIw_W5SAgxbj0Y>
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: Wed, 29 Nov 2023 12:07:14 -0000
Hi, "Amanda Baber via RT" <iana-issues@iana.org> wrote: > Hi all, > > First, we understand that existing revision statements in > IANA-maintained modules should be left alone. > > A few questions: > > 1) When we first add an entry to an IANA-maintained module, should we, > as Martin suggested, change, e.g. "This version of this YANG module is > part of RFC 8294; see the RFC itself for full legal notices." to "This > original version of this YANG module is part of RFC 8294; see the RFC > itself for full legal notices."? I think so, but I would like to hear what others have to say. > > 2a) 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? > > 2b) If the registration is in the RRTYPE registry in > https://www.iana.org/assignments/dns-parameters, would that reference > be to https://www.iana.org/assignments/dns-parameters, > https://www.iana.org/assignments/iana-dns-class-rr-type [1], or for > example, > https://www.iana.org/assignments/yang-parameters/iana-dns-class-rr-type@2023-11-08.yang? > > [1] We prefer to leave out the trailing > "/iana-dns-class-rr-type.xhtml" in case other extensions are preferred > in the future, although the .xhtml version will continue to work. The motivation behind the rule is to make it easy for readers of a module to find the original source of the module. In the example above, I think that the reference to https://www.iana.org/assignments/dns-parameters should be in the module's reference statement, which it is. So I'd say either one of https://www.iana.org/assignments/iana-dns-class-rr-type or https://www.iana.org/assignments/yang-parameters/iana-dns-class-rr-type@2023-11-08.yang (see more below). > > 2c) About this: > > > When I validate this module directly with pyang, I get the errors: > > > > $ pyang --ietf iana-routing-types@2022-08-19.yang > > iana-routing-types@2022-08-19.yang:35: error: RFC 8407: 4.8: statement > > "revision" must have a "reference" substatement > > We were using https://yangcatalog.org/yangvalidator, which is where we > came across the ietf-* vs. iana-* reference discrepancy. We've since > started using pyang. > > Something I should note here is that IANA operations staff (as opposed > to its technical staff, which includes regular and irregular IETF > participants) are not only not expert in YANG but are also, > essentially, liberal arts majors who have learned to use command line > tools and markup languages as needed. (I also have a two-year > programming degree that involved about half an hour of JSON, which is > why I get to be the delegate here.) Ok. So perhaps the simplest solution would be: 1. Publish the initial version of the module as-is from the RFC. 2. When the module is updated the first time, change the "This version of this YANG module..." as discussed above. 3. For every module update, add a "revision" statement with a "reference" statement that refers to the published module (e.g., https://www.iana.org/assignments/yang-parameters/iana-dns-class-rr-type@2023-11-08.yang) As an alternative, if we decide that IANA-maintained modules don't need "reference" in "revision", I can add a flag "--iana" to pyang that would implement this. But in this case, we should probably add the URL to the IANA registry (e.g., https://www.iana.org/assignments/iana-dns-class-rr-type) somewhere, probably in the module's "description". /martin > > Where RFC 8407 is concerned, we acted on the IANA Considerations > section only, and didn't recognize that (as actors on modules) we need > to implement certain other sections of that document. We've relied on > online validation tools, as we had/have with MIB modules. > > I think we need a tutorial before we re-approach RFC 8407 and turn our > internal module maintenance notes into an internal manual (which if > not already necessary will certainly be so when > draft-ietf-netmod-yang-module-versioning and > draft-ietf-netmod-yang-semver arrive). Are there resources you can > recommend? > > thanks, > Amanda > > On Thu Nov 23 07:39:39 2023, mbj+ietf@4668.se wrote: > > Ladislav Lhotka <ladislav.lhotka@nic.cz> wrote: > > > Dne 22. 11. 23 v 11:24 Martin Björklund napsal(a): > > > > Hi, > > > > Ladislav Lhotka <ladislav.lhotka=40nic.cz@dmarc.ietf.org> wrote: > > > >> Hi Amanda, > > > >> > > > >> "Amanda Baber via RT" <iana-issues@iana.org> writes: > > > >> > > > >>> Hi, > > > >>> > > > >>> We came across an issue when attempting to validate RFC 9403's > > > >>> ietf-rib-extension@2023-11-20.yang module before posting. > > > >>> > > > >>> That module refers to iana-routing-types@2022-08-19.yang, and > > > >>> pyang is > > > >>> refusing to validate it on the grounds that > > > >>> iana-routing-types@2022-08-19.yang doesn't have references for > > > >>> its > > > >>> revision statements. (Which it indeed does not.) > > > >>> > > > >>> However, if we try to validate iana-routing-types@2022-08-19.yang > > > >>> directly, we don't get any errors. > > > >>> > > > >>> Which pyang reaction is correct? > > > > When I validate this module directly with pyang, I get the errors: > > > > $ pyang --ietf iana-routing-types@2022-08-19.yang > > > > iana-routing-types@2022-08-19.yang:35: error: RFC 8407: 4.8: > > > > statement > > > > "revision" must have a "reference" substatement > > > > ... > > > > > > > >> > > > >> RFC 8407 states in sec. 4.8: > > > >> > > > >> The "revision" statement MUST have a "reference" substatement. > > > >> > > > >> The module description refers to RFC 8294 though, and I am not > > > >> sure > > > >> how this particular module is updated and whether there is always > > > >> a > > > >> relevant reference available for a given revision. > > > >> > > > >>> > > > >>> One larger issue is that we weren't aware that we needed to add > > > >>> references for revision statements in the IANA-maintained > > > >>> modules. We > > > >>> have no expertise in YANG and have been relying entirely on > > > >>> validation > > > >>> tools (and on IANA Considerations sections for registry > > > >>> maintenance > > > >>> instructions in general). > > > >>> > > > >>> Should we go back and add references to revision statements for > > > >>> all > > > >>> the IANA-maintained modules? > > > >> > > > >> This could lead to problems with versioning of modules. > > > >> > > > >>> > > > >>> Do we need to do so only going forward? > > > >> > > > >> I'd suggest to add reference statements to future (substantial) > > > >> revisions of modules, perhaps even retroactively, but only where > > > >> it > > > >> makes sense. > > > >> > > > >>> > > > >>> Either way, we have two questions: > > > >>> > > > >>> 1) Many of the registries mirrored by the IANA-maintained modules > > > >>> have > > > >>> First Come First Served or Expert Review ranges that don't > > > >>> require > > > >>> that the applicant provide a specification. For those > > > >>> registrations, > > > >>> we list the name of a contact person in the registry's > > > >>> "Reference" > > > >>> field. In the module, would we continue to omit the reference > > > >>> field? > > > >> > > > >> If there is no suitable document to refer to, it makes no sense to > > > >> me > > > >> to add any stub references. RFC 8407 is IMO unnecesarily strict > > > >> here, > > > >> and a SHOULD might suffice. > > > > The full text in RFC 8407 is: > > > > 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. > > > > 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: > > > > > > Right, but this link to the authoritative registry page belongs to > > > the > > > "reference" statement that is a direct substatement of "module" (see > > > e.g. [1]). The problem here is that RFC 8407 requires *every* > > > "revision" statement to contain "reference". > > > > > > Lada > > > > > > [1] > > > https://www.iana.org/assignments/iana-dns-class-rr-type/iana-dns- > > > class-rr-type.xhtml > > > > In this example, the module's "reference" is > > > > https://www.iana.org/assignments/dns-parameters > > > > > > > > I was thinking the revision's "reference" could be > > > > https://www.iana.org/assignments/iana-dns-class-rr-type/iana-dns- > > class-rr-type.xhtml > > > > or even > > > > https://www.iana.org/assignments/yang-parameters/iana-dns-class-rr- > > type@2023-11-08.yang > > > > > > > > /martin > > > > > > > > > > > > > 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. > > > > Side note. In the description of the module it says: > > > > This version of this YANG module is part of RFC 8294; see > > > > the RFC itself for full legal notices."; > > > > This isn't true... Should IANA change the description of the module > > > > when it updates the module? Perhaps to: > > > > This original version of this YANG module is part of RFC 8294; > > > > see > > > > the RFC itself for full legal notices."; > > > > /martin > > > > > > > >> > > > >>> > > > >>> 2) When we need to correct an IANA-maintained module, in the > > > >>> absence > > > >>> of a document to refer to, what can we do to make the revision > > > >>> statement valid? > > > >> > > > >> I'd say yes. > > > >> > > > >> Best regards, Lada > > > >> > > > >>> > > > >>> Best regards, > > > >>> > > > >>> Amanda Baber > > > >>> IANA Operations Manager > > > >>> > > > >>> _______________________________________________ > > > >>> yang-doctors mailing list > > > >>> yang-doctors@ietf.org > > > >>> https://www.ietf.org/mailman/listinfo/yang-doctors > > > >> > > > >> -- > > > >> Ladislav Lhotka, CZ.NIC > > > >> PGP Key ID: 0xB8F92B08A9F76C67 > > > >> > > > >> _______________________________________________ > > > >> yang-doctors mailing list > > > >> yang-doctors@ietf.org > > > >> https://www.ietf.org/mailman/listinfo/yang-doctors > > > > > > -- > > > Ladislav Lhotka, CZ.NIC > > > PGP Key ID: 0xB8F92B08A9F76C67 > > _______________________________________________ > yang-doctors mailing list > yang-doctors@ietf.org > https://www.ietf.org/mailman/listinfo/yang-doctors
- [yang-doctors] [IANA #1289473] Revision statement… Amanda Baber via RT
- Re: [yang-doctors] [IANA #1289473] Revision state… Ladislav Lhotka
- Re: [yang-doctors] [IANA #1289473] Revision state… Martin Björklund
- Re: [yang-doctors] [IANA #1289473] Revision state… Ladislav Lhotka
- Re: [yang-doctors] [IANA #1289473] Revision state… Martin Björklund
- [yang-doctors] [IANA #1289473] Revision statement… Amanda Baber via RT
- Re: [yang-doctors] [IANA #1289473] Revision state… Martin Björklund
- [yang-doctors] [IANA #1289473] Revision statement… Amanda Baber via RT
- Re: [yang-doctors] [IANA #1289473] Revision state… Ladislav Lhotka
- Re: [yang-doctors] [IANA #1289473] Revision state… Acee Lindem
- Re: [yang-doctors] [IANA #1289473] Revision state… Mahesh Jethanandani
- [yang-doctors] [IANA #1289473] Revision statement… Amanda Baber via RT