Re: [netmod] Updated Content of Module Versioning - T8 (recommended-min for imports)

Jürgen Schönwälder <jschoenwaelder@constructor.university> Thu, 26 October 2023 08:23 UTC

Return-Path: <jschoenwaelder@constructor.university>
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 A54A3C15198C for <netmod@ietfa.amsl.com>; Thu, 26 Oct 2023 01:23:33 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -6.906
X-Spam-Level:
X-Spam-Status: No, score=-6.906 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, 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=unavailable 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 IWCAsX4-XAhS for <netmod@ietfa.amsl.com>; Thu, 26 Oct 2023 01:23:28 -0700 (PDT)
Received: from atlas3.jacobs-university.de (atlas3.jacobs-university.de [212.201.44.18]) (using TLSv1.2 with cipher ADH-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 4CA65C15199C for <netmod@ietf.org>; Thu, 26 Oct 2023 01:23:27 -0700 (PDT)
Received: from localhost (demetrius5.irc-it.jacobs-university.de [10.70.0.222]) by atlas3.jacobs-university.de (Postfix) with ESMTP id 25CC94345; Thu, 26 Oct 2023 10:23:24 +0200 (CEST)
X-Virus-Scanned: amavisd-new at jacobs-university.de
Received: from atlas3.jacobs-university.de ([10.70.0.220]) by localhost (demetrius5.jacobs-university.de [10.70.0.222]) (amavisd-new, port 10030) with ESMTP id PSi0bqJQS1a9; Thu, 26 Oct 2023 10:23:23 +0200 (CEST)
Received: from hermes.jacobs-university.de (hermes.jacobs-university.de [212.201.44.23]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "hermes.jacobs-university.de", Issuer "DFN-Verein Global Issuing CA" (not verified)) by atlas3.jacobs-university.de (Postfix) with ESMTPS; Thu, 26 Oct 2023 10:23:23 +0200 (CEST)
Received: from localhost (demetrius5.irc-it.jacobs-university.de [10.70.0.222]) by hermes.jacobs-university.de (Postfix) with ESMTP id BBC5B20150; Thu, 26 Oct 2023 10:23:23 +0200 (CEST)
X-Virus-Scanned: amavisd-new at jacobs-university.de
Received: from hermes.jacobs-university.de ([212.201.44.23]) by localhost (demetrius5.jacobs-university.de [10.70.0.222]) (amavisd-new, port 10028) with ESMTP id rBPjsDN6sYBD; Thu, 26 Oct 2023 10:23:22 +0200 (CEST)
Received: from localhost (alice.jacobs.jacobs-university.de [10.50.244.51]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by hermes.jacobs-university.de (Postfix) with ESMTPS id 8F25D20095; Thu, 26 Oct 2023 10:23:22 +0200 (CEST)
Date: Thu, 26 Oct 2023 10:23:21 +0200
From: Jürgen Schönwälder <jschoenwaelder@constructor.university>
To: Andy Bierman <andy@yumaworks.com>
Cc: "Joe Clarke (jclarke)" <jclarke=40cisco.com@dmarc.ietf.org>, "Jason Sterne (Nokia)" <jason.sterne@nokia.com>, "netmod@ietf.org" <netmod@ietf.org>
Message-ID: <ZToh-RMRmC6vCx-d@alice.eecs.jacobs-university.de>
Reply-To: Jürgen Schönwälder <jschoenwaelder@constructor.university>
Mail-Followup-To: Andy Bierman <andy@yumaworks.com>, "Joe Clarke (jclarke)" <jclarke=40cisco.com@dmarc.ietf.org>, "Jason Sterne (Nokia)" <jason.sterne@nokia.com>, "netmod@ietf.org" <netmod@ietf.org>
References: <DM6PR08MB508483A98537B82190016B0B9BDFA@DM6PR08MB5084.namprd08.prod.outlook.com> <DM6PR08MB50849A7A2F50322C9C374E0D9BDEA@DM6PR08MB5084.namprd08.prod.outlook.com> <ZTliKtYPTq249rqb@alice.eecs.jacobs-university.de> <BN9PR11MB5371C6DCFF466DD9DAD41608B8DEA@BN9PR11MB5371.namprd11.prod.outlook.com> <CABCOCHQfYbsA6rmO3dn-ONPstZsHUAJDX+qDubRxAq5A7nm2sQ@mail.gmail.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Disposition: inline
In-Reply-To: <CABCOCHQfYbsA6rmO3dn-ONPstZsHUAJDX+qDubRxAq5A7nm2sQ@mail.gmail.com>
X-Clacks-Overhead: GNU Terry Pratchett
Content-Transfer-Encoding: quoted-printable
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/INOEcwrywlMNINJyT9sIq3VRVXY>
Subject: Re: [netmod] Updated Content of Module Versioning - T8 (recommended-min for imports)
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: Thu, 26 Oct 2023 08:23:33 -0000

Well, yes, import-by-revision is broken. However, changing the way how
imports work changes the YANG language. So it is important to know
which version of the YANG language tools implement. For this we have
language version numbers.

/js

On Wed, Oct 25, 2023 at 02:44:26PM -0700, Andy Bierman wrote:
> On Wed, Oct 25, 2023 at 12:03 PM Joe Clarke (jclarke) <jclarke=
> 40cisco.com@dmarc.ietf.org> wrote:
> 
> > This is the reason that, for me, I’d want the extension to be outside the
> > description in something that is machine-readable.  Tools that do
> > understand this extension could make a better decision about which module
> > revision to use.
> >
> >
> >
> 
> +1
> 
> The YANG author should know if their module depends on imported definitions
> from a specific revision.
> IMO the min-revision is needed in this case, and SHOULD be present.
> There is a big difference between "module will compile" and "module will
> work as intended".
> 
> Tools that do not understand the extension will resolve the import as they
> > normally would, which may lead to a failure at compile time (e.g., for a
> > missing node).
> >
> 
> This extension MUST be ignored if the 'revision-date' statement is present
> in the import-stmt.
> 
> 
> >
> > Joe
> >
> 
> Andy
> 
> 
> >
> >
> > *From: *netmod <netmod-bounces@ietf.org> on behalf of Jürgen Schönwälder
> > <jschoenwaelder@constructor.university>
> > *Date: *Wednesday, October 25, 2023 at 14:45
> > *To: *Jason Sterne (Nokia) <jason.sterne@nokia.com>
> > *Cc: *netmod@ietf.org <netmod@ietf.org>
> > *Subject: *Re: [netmod] Updated Content of Module Versioning - T8
> > (recommended-min for imports)
> >
> > I am strongly against this. The import statement is used by tools.
> > Adding a recommendation for humans that existing and conforming tools
> > will not understand just causes confusion.
> >
> > /js
> >
> > On Wed, Oct 25, 2023 at 06:41:19PM +0000, Jason Sterne (Nokia) wrote:
> > > Hi all,
> > >
> > > Starting a dedicated thread for T8 recommended-min for imports
> > >
> > > These are my own personal opinions (not those of the
> > authors/contributors).
> > >
> > > It has been discussed before that import by a specific revision is
> > somewhat broken (not recommended). It is mentioned in section 2.5 of the
> > versioning requirements draft:
> > https://www.ietf.org/archive/id/draft-ietf-netmod-yang-versioning-reqs-08.html#name-no-good-way-to-specify-whic
> > >
> > > Based on previous WG LC discussions, we already changed from a
> > revision-or-derived extension (that did affect conformance & what a tool
> > could/should use), to a weaker recommended-min in order to avoid further
> > changes to the YANG language & conformance rules.  The recommended-min is
> > pretty much purely a documentation tag that helps users of the modules
> > understand what versions of imports might be best to use (e.g. when
> > supporting multiple modules in a server, or constructing a "package" of
> > modules that work together).
> > >
> > > We could instead just say to put this information into a description
> > field in the module. But it is helpful if the field is broken out (i.e.
> > structured data) and more easily machine readable.
> > >
> > > So I'd like to see this stay as part of Module Versioning but be renamed
> > to recommended-min-date.  Then in YANG Semver we should add
> > recommended-min-semver-label.
> > >
> > > Jason
> > >
> > >
> > > From: netmod <netmod-bounces@ietf.org> On Behalf Of Jason Sterne (Nokia)
> > > Sent: Tuesday, October 24, 2023 9:58 AM
> > > To: netmod@ietf.org
> > > Subject: [netmod] Updated Content of Module Versioning
> > >
> > > Hello NETMOD WG,
> > >
> > > The YANG versioning authors and weekly call group members have been
> > discussing the next steps for the versioning drafts.
> > >
> > > We'd propose that the first step is to converge on what aspects of the
> > current Module Versioning draft should be retained, and which parts should
> > be removed. We can then work towards a final call on an updated version
> > with this revised scope.
> > >
> > > Below is a summary of the main topics in the Module Versioning draft.
> > We've divided the items T1-T10 into 2 groups:
> > > A) Baseline content of Module Versioning
> > > B) Items which need more WG discussion
> > >
> > > In addition to whatever discussions happen on this email list, we have
> > also created a hedgedoc where you can register your preference for items
> > T7-T10. It would be much appreciated if you can put your opinion in the
> > hedgedoc here:
> > > https://notes.ietf.org/CdKrT5kVSF6qbnRSY4KeSA?both
> > >
> > >
> > > GROUP A (Baseline content of Module Vesioning)
> > > -----------------------------------------------------------------
> > > Based on resolution of WG LC comments and subsequent discussions, and
> > some feedback to reduce complexity and content in the Module Versioning
> > draft, here is a summary of items that will and won't be part of the next
> > update of the Module Versioning draft (also referred to as "this draft"
> > below).
> > >
> > > T1. The "ver:non-backwards-compatible" annotation (Sec 3.2):
> > > Retained. This top level (module level) extension (which can be ignored
> > by tools that don't understand it) is critical to include so that module
> > readers and tools can know when NBC changes have occurred.
> > >
> > > T2. Updated rules of what is NBC: (Sect 3.1.1, 3.1.2)
> > > Retained. These are updates/clarifications (i.e., changes) to the RFC
> > 7950 rules that are appropriate and helpful:
> > > (i) "status obsolete"
> > >   - This draft changes RFC 7950 so that marking a data node as obsolete
> > is an NBC change because it can break clients.
> > > (ii) "extensions"
> > >   - This draft changes the RFC 7950 rules to allow extensions to define
> > the backwards compatibility considerations for the extension itself.  The
> > existing RFC 7950 rules only allow extensions to be added, not changed or
> > removed.
> > > (iii) "import by revision-date"
> > >   - This draft changes the RFC 7950 rules to allow the revision date of
> > an import-statement to be changed/added/removed.  The imported module must
> > be versioned separately (i.e., by a YANG package/library defining the
> > schema).
> > > (iv)  "whitespace":
> > >   - This draft clarifies the existing RFC 7950 behaviour that changing
> > insignificant whitespace is classified as a backwards compatible change
> > >
> > > T3. revision-label-scheme extension (Sec 3.4.2)
> > > Removed. Based on WG LC discussions we will go back to a single
> > versioning scheme for YANG modules, and hence the revision-label-scheme
> > extension will be removed from this draft.
> > >
> > > T4. revision-label extension (Sec 3.4)
> > > Removed. Related to T3 above, given that a single versioning scheme is
> > sufficient, the revision-label extension will be moved to the YANG Semver
> > draft, and removed from Module Versioning.
> > >
> > > T5. Resolving ambiguous imports in YANG library (Sec 5.1)
> > > Removed. This will be removed from Module Versioning (could be
> > considered in YANG Next, although that is many years away).  Note, RFC
> > 7950, section 5.6.5, paragraph 5 does consistently define how to build the
> > schema.  The change in the draft was to always prioritise an implemented
> > module over the most recent implemented *or* import-only revision. But this
> > will be removed.
> > >
> > > T6. Advertisement for how deprecated & obsolete nodes are handled (Sec
> > 5.2.2)
> > > Retained. This information is important for clients to be able to
> > accurately construct the schema and hence it is retained in Module
> > Versioning.
> > >
> > > GROUP B (Needs WG discussion)
> > > -------------------------------------------
> > > For these items we don't have consensus within the WG - they need more
> > discussion and input.
> > >
> > > It is recommended to go back and look at the NETMOD emails on these
> > topics (from the WG LC discussions).
> > >
> > > Please add your name beside your preferred option in the poll:
> > https://notes.ietf.org/CdKrT5kVSF6qbnRSY4KeSA?both
> > >
> > > T7. filename changes (Sec 3.4.1)
> > > The authors/contributors are leaning towards suggesting that this moved
> > change be moved to YANG Next consideration.  However, there isn't complete
> > consensus, with concerns that the vendors will each define their own
> > incompatible file naming schemes for YANG modules that use version
> > numbers.  If we retain this work then this would likely move to the YANG
> > Semver draft.
> > > [See hedgedoc poll T7]
> > >
> > > T8. recommended-min for imports (Sec 4)
> > > The WG seems to be somewhat split on how urgent this is, and there isn't
> > consensus amongst authors/contributors for retaining this work or deferring
> > it. One option is to keep it, but renamed as recommended-min-date.
> > > [See hedgedoc poll T8]
> > >
> > > T9. Versioning of YANG instance data (Sec 6)
> > > There wasn't any consensus among the authors/contributors as to whether
> > this should be retained or deferred to a new version of the YANG instance
> > data document.
> > > [See hedgedoc poll T9]
> > >
> > > T10. Do *all* whitespace changes (including whitespace between
> > statements) require a new revision to be published? Sec 3.1, last paragraph.
> > > The authors/contributors are somewhat split on whether to retain this.
> > The advantage of keeping this is that it makes it very easy to check (i.e.,
> > via a simple text diff tool) whether two modules pertaining to be the same
> > version are in fact the same.  It should also mean that it is easy to
> > generate a hash-based fingerprint of a module revision.  The alternative
> > gives more flexibility to users to reformat modules (e.g., for different
> > line-lengths), but complicates the check to ensure that a YANG module
> > revision hasn't been changed or makes it slightly more expensive to
> > generate a hash since the module formatting would need to be normalized
> > first.
> > > [See hedgedoc poll T10]
> > >
> > > Jason (he/him)
> > >
> >
> > > _______________________________________________
> > > netmod mailing list
> > > netmod@ietf.org
> > > https://www.ietf.org/mailman/listinfo/netmod
> >
> >
> > --
> > Jürgen Schönwälder              Constructor University Bremen gGmbH
> > Phone: +49 421 200 3587         Campus Ring 1 | 28759 Bremen | Germany
> > Fax:   +49 421 200 3103         <https://constructor.university/>
> >
> > _______________________________________________
> > netmod mailing list
> > netmod@ietf.org
> > https://www.ietf.org/mailman/listinfo/netmod
> > _______________________________________________
> > netmod mailing list
> > netmod@ietf.org
> > https://www.ietf.org/mailman/listinfo/netmod
> >

-- 
Jürgen Schönwälder              Constructor University Bremen gGmbH
Phone: +49 421 200 3587         Campus Ring 1 | 28759 Bremen | Germany
Fax:   +49 421 200 3103         <https://constructor.university/>