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

Andy Bierman <andy@yumaworks.com> Wed, 25 October 2023 21:44 UTC

Return-Path: <andy@yumaworks.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 B2636C180DD3 for <netmod@ietfa.amsl.com>; Wed, 25 Oct 2023 14:44:44 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -7.105
X-Spam-Level:
X-Spam-Status: No, score=-7.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, 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=yumaworks.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 Kx_3FQbPG8eg for <netmod@ietfa.amsl.com>; Wed, 25 Oct 2023 14:44:40 -0700 (PDT)
Received: from mail-lj1-x230.google.com (mail-lj1-x230.google.com [IPv6:2a00:1450:4864:20::230]) (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 1D661C15154F for <netmod@ietf.org>; Wed, 25 Oct 2023 14:44:40 -0700 (PDT)
Received: by mail-lj1-x230.google.com with SMTP id 38308e7fff4ca-2c503dbe50dso3310461fa.1 for <netmod@ietf.org>; Wed, 25 Oct 2023 14:44:39 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yumaworks.com; s=google; t=1698270278; x=1698875078; darn=ietf.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=4Mh/D0wVF/Lss9b3woIHmYJ71HJytdlO5UU9SV73BR4=; b=h3MlECrx2Dj0tqBuvkeiA2GpYtPC+s2x0HmODEuccPzjL7m/4ImadJBbyts2Xqg0BV 72v5zuwqIxDQH+pFEM/lAlxtCCeD5DsgK6UypoYAlzCYF+zhg4/gqni6sBnNJpmDLKo2 k9MAagTvcUSgfR/IS1dADoGNyAc86fNS1f8lIe1h5IUh/EEmHbwZTyM15XUtgT6D8Jdk UKqZQtub/b4sM1nWc5b+pf4LUCDA4gxhHOogbR1YcTNXE5RkX0NZLWk2Z+xs1P8t+ezp yuuOmxlxOHjIxIqEfcOGmKg2KzZXaJNYYQvhdeXfR1uuZylTXjJ6c/qza2kehxAmxhUa CvJg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1698270278; x=1698875078; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=4Mh/D0wVF/Lss9b3woIHmYJ71HJytdlO5UU9SV73BR4=; b=gVaKG4zCHsGkUGmpKEc1JwoNUsAEQvKXG1iwOUKyduUDXkQAg9EBZ7QkJkt6oo2pXF JyxHeLm11mxFO4bLhEBMLa3s5fFsD25MQ3tKG46kDaGjs806QBj7X9yQo/VMPzJCYsle 90iL8oQCF//kJjclV+cPozSqgBBr6gsEVsjP28nvWLsKuS/bjv7zrih4ai1Ayz5lpyWR bS5eZK3p/UnEuB0SfQ4bHxoKW97qqOsWdFeS+wfSFRIfNxeuRVCDoB3M/bqd2bgQbPFl I+5Vg4Ft6HXQzvGehknOScfLGqpWD5gB3q8oHdmNRZN99qWsRr4tmPxf4CQy38YzO/ed C8YQ==
X-Gm-Message-State: AOJu0Yw3xPFs2e+fJkLUVgyRG6y1HawbiEvWTyCU78rVGkEnLmbbJMMi fxvti0boIh1xQiZiHZiMPY8BtjfIsfSnOvqH8sIK4w==
X-Google-Smtp-Source: AGHT+IHkO6RH+g2+A0pA4P4iU/dGNEHgdnBM2E31NYpM9bW4/smrniHrHuDZ4D0b3VvDYbQcODWmWmovN+fIjlbS8ms=
X-Received: by 2002:a2e:9cd4:0:b0:2c5:1073:5f2 with SMTP id g20-20020a2e9cd4000000b002c5107305f2mr12567612ljj.5.1698270277901; Wed, 25 Oct 2023 14:44:37 -0700 (PDT)
MIME-Version: 1.0
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>
In-Reply-To: <BN9PR11MB5371C6DCFF466DD9DAD41608B8DEA@BN9PR11MB5371.namprd11.prod.outlook.com>
From: Andy Bierman <andy@yumaworks.com>
Date: Wed, 25 Oct 2023 14:44:26 -0700
Message-ID: <CABCOCHQfYbsA6rmO3dn-ONPstZsHUAJDX+qDubRxAq5A7nm2sQ@mail.gmail.com>
To: "Joe Clarke (jclarke)" <jclarke=40cisco.com@dmarc.ietf.org>
Cc: Jürgen Schönwälder <jschoenwaelder@constructor.university>, "Jason Sterne (Nokia)" <jason.sterne@nokia.com>, "netmod@ietf.org" <netmod@ietf.org>
Content-Type: multipart/alternative; boundary="000000000000a5ba3c0608915cd0"
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/eoTeF2yo7ofasvJmnRBZPc_Fw6Q>
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: Wed, 25 Oct 2023 21:44:44 -0000

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
>