From andy@yumaworks.com  Wed Oct 25 13:28:40 2023
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 A0848C180DDD
 for <netmod@ietfa.amsl.com>; Wed, 25 Oct 2023 13:28:40 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.104
X-Spam-Level: 
X-Spam-Status: No, score=-2.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, HTML_MESSAGE=0.001,
 RCVD_IN_DNSWL_BLOCKED=0.001, 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 Y02JzstWf-v8 for <netmod@ietfa.amsl.com>;
 Wed, 25 Oct 2023 13:28:36 -0700 (PDT)
Received: from mail-lj1-x22e.google.com (mail-lj1-x22e.google.com
 [IPv6:2a00:1450:4864:20::22e])
 (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 4488DC180DD9
 for <netmod@ietf.org>; Wed, 25 Oct 2023 13:28:36 -0700 (PDT)
Received: by mail-lj1-x22e.google.com with SMTP id
 38308e7fff4ca-2c515527310so1916011fa.2
 for <netmod@ietf.org>; Wed, 25 Oct 2023 13:28:36 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=yumaworks.com; s=google; t=1698265714; x=1698870514; darn=ietf.org;
 h=to:subject:message-id:date:from:in-reply-to:references:mime-version
 :from:to:cc:subject:date:message-id:reply-to;
 bh=hLrsjGsvcoPpcu0oqycXh8uK4czsIZuwUg9/7ZNmGvo=;
 b=dw9pFX6R4P/nIAuz07fyOfKKxApHHlDOJ8exU3oZnpy1t6SbvQfMLcNsRi/BEWsfQ+
 SON1yGNrF4DZzIA0Xd3/gcoDxR40JZ3CYnWcePjtSBQ9IkToXhBoQGH35ts9soJlLe+Y
 DtDSrT3xtS+pRerenkAnQ5S74gnZAMUxbbBFgMKfsQMd0c90vauTZlzDTM6tyW9dfTvv
 CQRzOVj1+lXPpQENe8m5Rc0ZBkBwkRhSVpo10jDIkwEL5VfFC98+1BpxpHysSoFGnMZ1
 kdbtgHomm5E9zdAII21nKMXpZZejX8X1KTTvWqwrIG3csgC+/n+VKVnb8khnEUqSSfSa
 NnUg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1698265714; x=1698870514;
 h=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=hLrsjGsvcoPpcu0oqycXh8uK4czsIZuwUg9/7ZNmGvo=;
 b=oSHXUUEK8LSvbgw86dPwDvgoqKG8F2rjby8G/7nSHilfxhbmLwIAPJdIxozYWs9euc
 D4YsFtwO6zZ8poPY7m+RNs04IxKFgdZat1pRGvDGTAkdKpQ2+Itv2VFkAntrPPjU+EWK
 vf2s/Vi4Ia+gJ9Gzbg+rxDXV0VJm++oPpVTg1eueZJk9gUjxsPuVp/PgqxUjSNP/ttVD
 CAtHpV/7Wu5L/ojJFS5a8uzgqOnaU8EKygbuJo/OdtppaY7c9/yuEramYNRn2/Z1NZ3a
 SEsZhzBggQAvUsOTJL7g4FxZSDkmfPXzukP2BZD1i7IzInmLJfb2YmqrdKyZI1PLpIRd
 8TbA==
X-Gm-Message-State: AOJu0Yx8qBcVVpEpES5gFIOp+6cW5Y/y0TL8OdtO5LIlnWHjL1Uo+IVm
 TOC6VHOxc1pRHGm6zKDJ0nf9Drhq9utu1G1hweCovQ==
X-Google-Smtp-Source: AGHT+IFA7MRZrusxlu6rFamHbDR3E8J8t9PJsCUssS0Po/XTFO3ozPpLZGxAGMJ5s5eRXXzpUNsoYrcVXps3LQRrdjs=
X-Received: by 2002:a2e:9b06:0:b0:2bc:c4af:36b9 with SMTP id
 u6-20020a2e9b06000000b002bcc4af36b9mr11957220lji.52.1698265713511; Wed, 25
 Oct 2023 13:28:33 -0700 (PDT)
MIME-Version: 1.0
References: <DM6PR08MB508483A98537B82190016B0B9BDFA@DM6PR08MB5084.namprd08.prod.outlook.com>
 <DM6PR08MB5084A3E1CF323F0E63DA13D29BDEA@DM6PR08MB5084.namprd08.prod.outlook.com>
 <ZTlfFkUU0jO1Osql@alice.eecs.jacobs-university.de>
 <DM6PR08MB50845E8BD25455F0494C6F3E9BDEA@DM6PR08MB5084.namprd08.prod.outlook.com>
 <ZTljMu10HSBu_03x@alice.eecs.jacobs-university.de>
In-Reply-To: <ZTljMu10HSBu_03x@alice.eecs.jacobs-university.de>
From: Andy Bierman <andy@yumaworks.com>
Date: Wed, 25 Oct 2023 13:28:22 -0700
Message-ID: <CABCOCHQgkBECc8-ur-3cN2n4Fa5dNx0WouMAx=p5Y8gu_ng5Bg@mail.gmail.com>
To: =?UTF-8?B?SsO8cmdlbiBTY2jDtm53w6RsZGVy?=
 <jschoenwaelder@constructor.university>, 
 "Jason Sterne (Nokia)" <jason.sterne@nokia.com>,
 "netmod@ietf.org" <netmod@ietf.org>
Content-Type: multipart/alternative; boundary="00000000000096aa7b0608904c67"
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/uLc6vPel6evr9j0rex90rJqoJ9E>
Subject: Re: [netmod] Updated Content of Module Versioning - T7 (Filename
 changes)
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 20:28:40 -0000

--00000000000096aa7b0608904c67
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Wed, Oct 25, 2023 at 11:49=E2=80=AFAM J=C3=BCrgen Sch=C3=B6nw=C3=A4lder
<jschoenwaelder@constructor.university> wrote:

> I strongly disagree. You can add additional file names, you can't
> soften the existing SHOULD to a conditional SHOULD.
>
>
+1

Getting tools to handle the file naming patterns defined in RFC 7950 took a
long time.
It would be disruptive to introduce yet another file-naming pattern.
It would also be another NBC change forced on YANG 1.1 tools.



> /js
>
>
Andy


> On Wed, Oct 25, 2023 at 06:45:31PM +0000, Jason Sterne (Nokia) wrote:
> > Sure - I'd be OK with adding some wording here that makes it clear the
> 7950 recommendation remains.
> >
> > i.e. you SHOULD use my-module@2023-01-06 as per 7950, but if you elect
> to not use that format, and want to use a label in the filename, then thi=
s
> format is RECOMMENDED:  my-module#3.0.2.yang.
> >
> > I can see that 'primary identifier' isn't great. Maybe something more
> like "to uniquely identify the version of the module" or similar.
> >
> > Jason
> >
> > > -----Original Message-----
> > > From: J=C3=BCrgen Sch=C3=B6nw=C3=A4lder <jschoenwaelder@constructor.u=
niversity>
> > > Sent: Wednesday, October 25, 2023 2:32 PM
> > > To: Jason Sterne (Nokia) <jason.sterne@nokia.com>
> > > Cc: netmod@ietf.org
> > > Subject: Re: [netmod] Updated Content of Module Versioning - T7
> > > (Filename changes)
> > >
> > >
> > > CAUTION: This is an external email. Please be very careful when
> clicking
> > > links or opening attachments. See the URL nok.it/ext for additional
> > > information.
> > >
> > >
> > >
> > > It needs to be clear that the existing text in section 5.2 remains
> > > untouched.
> > >
> > >    YANG modules and submodules are typically stored in files, one
> > >    "module" or "submodule" statement per file.  The name of the file
> > >    SHOULD be of the form:
> > >
> > >      module-or-submodule-name ['@' revision-date] ( '.yang' / '.yin' =
)
> > >
> > >    "module-or-submodule-name" is the name of the module or submodule,
> > >    and the optional "revision-date" is the latest revision of the
> module
> > >    or submodule, as defined by the "revision" statement (Section
> 7.1.9).
> > >
> > > Words like 'primary identifier' confuse me.
> > >
> > > /js
> > >
> > > On Wed, Oct 25, 2023 at 06:22:57PM +0000, Jason Sterne (Nokia) wrote:
> > > > Hi all,
> > > >
> > > > Starting a dedicated thread for T7 Filename changes.
> > > >
> > > > These are my own personal opinions (not those of the
> > > authors/contributors).
> > > >
> > > > RFC7950 says that the filename format SHOULD be my-module@2023-01-
> > > 06.yang<mailto:my-module@2023-01-06.yang>
> > > >
> > > > Module versioning currently says the following format is RECOMMENDE=
D
> > > (if the file has a revision label):  my-module#3.1.2.yang
> > > >
> > > > I'd recommend we remove that from Module Versioning, but add it to
> the
> > > YANG Semver draft (where all revision label text will be located - it
> is all
> > > being removed from Module Versioning).
> > > >
> > > > We could potentially say it more like this:
> > > >
> > > >   If a revision has an associated yang-semver-label, and if the
> publisher
> > > >  wishes to use the label in the filename as the primary identifier
> for the
> > > >  version of the module instead of the revision date, then it is
> > > >   RECOMMENDED to put the yang-semver-label into the filename as
> > > follows:
> > > >
> > > >      module-or-submodule-name ['#' yang-semver-label] ( '.yang' /
> '.yin' )
> > > >
> > > >        E.g., acme-router-module#2.0.3.yang
> > > >
> > > >   YANG module (or submodule) files may be identified using either t=
he
> > > >   revision-date (as per [RFC8407] section 3.2) or the revision labe=
l.
> > > >
> > > > If we don't at least have a recommendation (*if* people really want
> to put
> > > the label in the filename), then we might have different organization=
s
> using
> > > different formats:
> > > >
> > > >   *   org #1:   my-module@2.0.3.yang<mailto:my-module@2.0.3.yang>
> > > >   *   org#2:    my-module#2.0.3@2023-01-06.yang<mailto:my-
> > > module#2.0.3@2023-01-06.yang>
> > > >   *   org#3:    my-module%2.0.3.yang
> > > >   *   org#4:    my-module(2.0.3).yang
> > > >
> > > > I'm trying to find wording that doesn't strongly mandate the my-
> > > module#2.0.3.yang filename format, but does highly recommend it *if*
> > > someone is going to put a label in the filename somewhere.
> > > >
> > > > 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 versi=
on
> > > with this revised scope.
> > > >
> > > > Below is a summary of the main topics in the Module Versioning draf=
t.
> > > 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 T=
7-
> > > 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, a=
nd
> > > some feedback to reduce complexity and content in the Module Versioni=
ng
> > > 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 draf=
t"
> > > 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 dat=
e
> of an
> > > import-statement to be changed/added/removed.  The imported module
> > > must be versioned separately (i.e., by a YANG package/library definin=
g
> the
> > > schema).
> > > > (iv)  "whitespace":
> > > >   - This draft clarifies the existing RFC 7950 behaviour that
> changing
> > > insignificant whitespace is classified as a backwards compatible chan=
ge
> > > >
> > > > 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-sche=
me
> > > 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, RF=
C
> > > 7950, section 5.6.5, paragraph 5 does consistently define how to buil=
d
> the
> > > schema.  The change in the draft was to always prioritise an
> implemented
> > > module over the most recent implemented *or* import-only revision. Bu=
t
> > > 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 versio=
n
> > > 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-mi=
n-
> > > 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 be=
en
> > > 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=C3=BCrgen Sch=C3=B6nw=C3=A4lder              Constructor University=
 Bremen gGmbH
> > > Phone: +49 421 200 3587         Campus Ring 1 | 28759 Bremen | German=
y
> > > Fax:   +49 421 200 3103         <https://constructor.university/>
>
> --
> J=C3=BCrgen Sch=C3=B6nw=C3=A4lder              Constructor University Bre=
men 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
>

--00000000000096aa7b0608904c67
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div dir=3D"ltr"><br></div><br><div class=3D"gmail_quote">=
<div dir=3D"ltr" class=3D"gmail_attr">On Wed, Oct 25, 2023 at 11:49=E2=80=
=AFAM J=C3=BCrgen Sch=C3=B6nw=C3=A4lder &lt;jschoenwaelder@constructor.univ=
ersity&gt; wrote:<br></div><blockquote class=3D"gmail_quote" style=3D"margi=
n:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex=
">I strongly disagree. You can add additional file names, you can&#39;t<br>
soften the existing SHOULD to a conditional SHOULD.<br>
<br></blockquote><div><br></div><div>+1</div><div><br></div><div>Getting to=
ols to handle the file naming patterns defined in RFC 7950 took a long time=
.</div><div>It would be disruptive to introduce yet another file-naming pat=
tern.</div><div>It would also be another NBC change forced=C2=A0on YANG 1.1=
 tools.</div><div><br></div><div>=C2=A0<br></div><blockquote class=3D"gmail=
_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204=
,204);padding-left:1ex">
/js<br>
<br></blockquote><div><br></div><div>Andy</div><div>=C2=A0</div><blockquote=
 class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left:1px so=
lid rgb(204,204,204);padding-left:1ex">
On Wed, Oct 25, 2023 at 06:45:31PM +0000, Jason Sterne (Nokia) wrote:<br>
&gt; Sure - I&#39;d be OK with adding some wording here that makes it clear=
 the 7950 recommendation remains.<br>
&gt; <br>
&gt; i.e. you SHOULD use my-module@2023-01-06 as per 7950, but if you elect=
 to not use that format, and want to use a label in the filename, then this=
 format is RECOMMENDED:=C2=A0 my-module#3.0.2.yang.<br>
&gt; <br>
&gt; I can see that &#39;primary identifier&#39; isn&#39;t great. Maybe som=
ething more like &quot;to uniquely identify the version of the module&quot;=
 or similar.<br>
&gt; <br>
&gt; Jason<br>
&gt; <br>
&gt; &gt; -----Original Message-----<br>
&gt; &gt; From: J=C3=BCrgen Sch=C3=B6nw=C3=A4lder &lt;jschoenwaelder@constr=
uctor.university&gt;<br>
&gt; &gt; Sent: Wednesday, October 25, 2023 2:32 PM<br>
&gt; &gt; To: Jason Sterne (Nokia) &lt;<a href=3D"mailto:jason.sterne@nokia=
.com" target=3D"_blank">jason.sterne@nokia.com</a>&gt;<br>
&gt; &gt; Cc: <a href=3D"mailto:netmod@ietf.org" target=3D"_blank">netmod@i=
etf.org</a><br>
&gt; &gt; Subject: Re: [netmod] Updated Content of Module Versioning - T7<b=
r>
&gt; &gt; (Filename changes)<br>
&gt; &gt; <br>
&gt; &gt; <br>
&gt; &gt; CAUTION: This is an external email. Please be very careful when c=
licking<br>
&gt; &gt; links or opening attachments. See the URL <a href=3D"http://nok.i=
t/ext" rel=3D"noreferrer" target=3D"_blank">nok.it/ext</a> for additional<b=
r>
&gt; &gt; information.<br>
&gt; &gt; <br>
&gt; &gt; <br>
&gt; &gt; <br>
&gt; &gt; It needs to be clear that the existing text in section 5.2 remain=
s<br>
&gt; &gt; untouched.<br>
&gt; &gt; <br>
&gt; &gt;=C2=A0 =C2=A0 YANG modules and submodules are typically stored in =
files, one<br>
&gt; &gt;=C2=A0 =C2=A0 &quot;module&quot; or &quot;submodule&quot; statemen=
t per file.=C2=A0 The name of the file<br>
&gt; &gt;=C2=A0 =C2=A0 SHOULD be of the form:<br>
&gt; &gt; <br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0 module-or-submodule-name [&#39;@&#39; revisio=
n-date] ( &#39;.yang&#39; / &#39;.yin&#39; )<br>
&gt; &gt; <br>
&gt; &gt;=C2=A0 =C2=A0 &quot;module-or-submodule-name&quot; is the name of =
the module or submodule,<br>
&gt; &gt;=C2=A0 =C2=A0 and the optional &quot;revision-date&quot; is the la=
test revision of the module<br>
&gt; &gt;=C2=A0 =C2=A0 or submodule, as defined by the &quot;revision&quot;=
 statement (Section 7.1.9).<br>
&gt; &gt; <br>
&gt; &gt; Words like &#39;primary identifier&#39; confuse me.<br>
&gt; &gt; <br>
&gt; &gt; /js<br>
&gt; &gt; <br>
&gt; &gt; On Wed, Oct 25, 2023 at 06:22:57PM +0000, Jason Sterne (Nokia) wr=
ote:<br>
&gt; &gt; &gt; Hi all,<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; Starting a dedicated thread for T7 Filename changes.<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; These are my own personal opinions (not those of the<br>
&gt; &gt; authors/contributors).<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; RFC7950 says that the filename format SHOULD be my-module@20=
23-01-<br>
&gt; &gt; 06.yang&lt;mailto:<a href=3D"mailto:my-module@2023-01-06.yang" ta=
rget=3D"_blank">my-module@2023-01-06.yang</a>&gt;<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; Module versioning currently says the following format is REC=
OMMENDED<br>
&gt; &gt; (if the file has a revision label):=C2=A0 my-module#3.1.2.yang<br=
>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; I&#39;d recommend we remove that from Module Versioning, but=
 add it to the<br>
&gt; &gt; YANG Semver draft (where all revision label text will be located =
- it is all<br>
&gt; &gt; being removed from Module Versioning).<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; We could potentially say it more like this:<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt;=C2=A0 =C2=A0If a revision has an associated yang-semver-labe=
l, and if the publisher<br>
&gt; &gt; &gt;=C2=A0 wishes to use the label in the filename as the primary=
 identifier for the<br>
&gt; &gt; &gt;=C2=A0 version of the module instead of the revision date, th=
en it is<br>
&gt; &gt; &gt;=C2=A0 =C2=A0RECOMMENDED to put the yang-semver-label into th=
e filename as<br>
&gt; &gt; follows:<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt;=C2=A0 =C2=A0 =C2=A0 module-or-submodule-name [&#39;#&#39; ya=
ng-semver-label] ( &#39;.yang&#39; / &#39;.yin&#39; )<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0 E.g., acme-router-module#2.0.3.ya=
ng<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt;=C2=A0 =C2=A0YANG module (or submodule) files may be identifi=
ed using either the<br>
&gt; &gt; &gt;=C2=A0 =C2=A0revision-date (as per [RFC8407] section 3.2) or =
the revision label.<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; If we don&#39;t at least have a recommendation (*if* people =
really want to put<br>
&gt; &gt; the label in the filename), then we might have different organiza=
tions using<br>
&gt; &gt; different formats:<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt;=C2=A0 =C2=A0*=C2=A0 =C2=A0org #1:=C2=A0 =C2=A0my-module@2.0.=
3.yang&lt;mailto:<a href=3D"mailto:my-module@2.0.3.yang" target=3D"_blank">=
my-module@2.0.3.yang</a>&gt;<br>
&gt; &gt; &gt;=C2=A0 =C2=A0*=C2=A0 =C2=A0org#2:=C2=A0 =C2=A0 my-module#2.0.=
3@2023-01-06.yang&lt;mailto:<a href=3D"mailto:my-" target=3D"_blank">my-</a=
><br>
&gt; &gt; module#2.0.3@2023-01-06.yang&gt;<br>
&gt; &gt; &gt;=C2=A0 =C2=A0*=C2=A0 =C2=A0org#3:=C2=A0 =C2=A0 my-module%2.0.=
3.yang<br>
&gt; &gt; &gt;=C2=A0 =C2=A0*=C2=A0 =C2=A0org#4:=C2=A0 =C2=A0 my-module(2.0.=
3).yang<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; I&#39;m trying to find wording that doesn&#39;t strongly man=
date the my-<br>
&gt; &gt; module#2.0.3.yang filename format, but does highly recommend it *=
if*<br>
&gt; &gt; someone is going to put a label in the filename somewhere.<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; Jason<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; From: netmod &lt;<a href=3D"mailto:netmod-bounces@ietf.org" =
target=3D"_blank">netmod-bounces@ietf.org</a>&gt; On Behalf Of Jason Sterne=
<br>
&gt; &gt; (Nokia)<br>
&gt; &gt; &gt; Sent: Tuesday, October 24, 2023 9:58 AM<br>
&gt; &gt; &gt; To: <a href=3D"mailto:netmod@ietf.org" target=3D"_blank">net=
mod@ietf.org</a><br>
&gt; &gt; &gt; Subject: [netmod] Updated Content of Module Versioning<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; Hello NETMOD WG,<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; The YANG versioning authors and weekly call group members ha=
ve been<br>
&gt; &gt; discussing the next steps for the versioning drafts.<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; We&#39;d propose that the first step is to converge on what =
aspects of the<br>
&gt; &gt; current Module Versioning draft should be retained, and which par=
ts should<br>
&gt; &gt; be removed. We can then work towards a final call on an updated v=
ersion<br>
&gt; &gt; with this revised scope.<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; Below is a summary of the main topics in the Module Versioni=
ng draft.<br>
&gt; &gt; We&#39;ve divided the items T1-T10 into 2 groups:<br>
&gt; &gt; &gt; A) Baseline content of Module Versioning<br>
&gt; &gt; &gt; B) Items which need more WG discussion<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; In addition to whatever discussions happen on this email lis=
t, we have also<br>
&gt; &gt; created a hedgedoc where you can register your preference for ite=
ms T7-<br>
&gt; &gt; T10. It would be much appreciated if you can put your opinion in =
the<br>
&gt; &gt; hedgedoc here:<br>
&gt; &gt; &gt; <a href=3D"https://notes.ietf.org/CdKrT5kVSF6qbnRSY4KeSA?bot=
h" rel=3D"noreferrer" target=3D"_blank">https://notes.ietf.org/CdKrT5kVSF6q=
bnRSY4KeSA?both</a><br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; GROUP A (Baseline content of Module Vesioning)<br>
&gt; &gt; &gt; ------------------------------------------------------------=
-----<br>
&gt; &gt; &gt; Based on resolution of WG LC comments and subsequent discuss=
ions, and<br>
&gt; &gt; some feedback to reduce complexity and content in the Module Vers=
ioning<br>
&gt; &gt; draft, here is a summary of items that will and won&#39;t be part=
 of the next<br>
&gt; &gt; update of the Module Versioning draft (also referred to as &quot;=
this draft&quot;<br>
&gt; &gt; below).<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; T1. The &quot;ver:non-backwards-compatible&quot; annotation =
(Sec 3.2):<br>
&gt; &gt; &gt; Retained. This top level (module level) extension (which can=
 be ignored by<br>
&gt; &gt; tools that don&#39;t understand it) is critical to include so tha=
t module readers<br>
&gt; &gt; and tools can know when NBC changes have occurred.<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; T2. Updated rules of what is NBC: (Sect 3.1.1, 3.1.2)<br>
&gt; &gt; &gt; Retained. These are updates/clarifications (i.e., changes) t=
o the RFC 7950<br>
&gt; &gt; rules that are appropriate and helpful:<br>
&gt; &gt; &gt; (i) &quot;status obsolete&quot;<br>
&gt; &gt; &gt;=C2=A0 =C2=A0- This draft changes RFC 7950 so that marking a =
data node as obsolete is<br>
&gt; &gt; an NBC change because it can break clients.<br>
&gt; &gt; &gt; (ii) &quot;extensions&quot;<br>
&gt; &gt; &gt;=C2=A0 =C2=A0- This draft changes the RFC 7950 rules to allow=
 extensions to define the<br>
&gt; &gt; backwards compatibility considerations for the extension itself.=
=C2=A0 The existing<br>
&gt; &gt; RFC 7950 rules only allow extensions to be added, not changed or =
removed.<br>
&gt; &gt; &gt; (iii) &quot;import by revision-date&quot;<br>
&gt; &gt; &gt;=C2=A0 =C2=A0- This draft changes the RFC 7950 rules to allow=
 the revision date of an<br>
&gt; &gt; import-statement to be changed/added/removed.=C2=A0 The imported =
module<br>
&gt; &gt; must be versioned separately (i.e., by a YANG package/library def=
ining the<br>
&gt; &gt; schema).<br>
&gt; &gt; &gt; (iv)=C2=A0 &quot;whitespace&quot;:<br>
&gt; &gt; &gt;=C2=A0 =C2=A0- This draft clarifies the existing RFC 7950 beh=
aviour that changing<br>
&gt; &gt; insignificant whitespace is classified as a backwards compatible =
change<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; T3. revision-label-scheme extension (Sec 3.4.2)<br>
&gt; &gt; &gt; Removed. Based on WG LC discussions we will go back to a sin=
gle<br>
&gt; &gt; versioning scheme for YANG modules, and hence the revision-label-=
scheme<br>
&gt; &gt; extension will be removed from this draft.<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; T4. revision-label extension (Sec 3.4)<br>
&gt; &gt; &gt; Removed. Related to T3 above, given that a single versioning=
 scheme is<br>
&gt; &gt; sufficient, the revision-label extension will be moved to the YAN=
G Semver<br>
&gt; &gt; draft, and removed from Module Versioning.<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; T5. Resolving ambiguous imports in YANG library (Sec 5.1)<br=
>
&gt; &gt; &gt; Removed. This will be removed from Module Versioning (could =
be<br>
&gt; &gt; considered in YANG Next, although that is many years away).=C2=A0=
 Note, RFC<br>
&gt; &gt; 7950, section 5.6.5, paragraph 5 does consistently define how to =
build the<br>
&gt; &gt; schema.=C2=A0 The change in the draft was to always prioritise an=
 implemented<br>
&gt; &gt; module over the most recent implemented *or* import-only revision=
. But<br>
&gt; &gt; this will be removed.<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; T6. Advertisement for how deprecated &amp; obsolete nodes ar=
e handled (Sec<br>
&gt; &gt; 5.2.2)<br>
&gt; &gt; &gt; Retained. This information is important for clients to be ab=
le to accurately<br>
&gt; &gt; construct the schema and hence it is retained in Module Versionin=
g.<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; GROUP B (Needs WG discussion)<br>
&gt; &gt; &gt; -------------------------------------------<br>
&gt; &gt; &gt; For these items we don&#39;t have consensus within the WG - =
they need more<br>
&gt; &gt; discussion and input.<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; It is recommended to go back and look at the NETMOD emails o=
n these<br>
&gt; &gt; topics (from the WG LC discussions).<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; Please add your name beside your preferred option in the pol=
l:<br>
&gt; &gt; <a href=3D"https://notes.ietf.org/CdKrT5kVSF6qbnRSY4KeSA?both" re=
l=3D"noreferrer" target=3D"_blank">https://notes.ietf.org/CdKrT5kVSF6qbnRSY=
4KeSA?both</a><br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; T7. filename changes (Sec 3.4.1)<br>
&gt; &gt; &gt; The authors/contributors are leaning towards suggesting that=
 this moved<br>
&gt; &gt; change be moved to YANG Next consideration.=C2=A0 However, there =
isn&#39;t<br>
&gt; &gt; complete consensus, with concerns that the vendors will each defi=
ne their<br>
&gt; &gt; own incompatible file naming schemes for YANG modules that use ve=
rsion<br>
&gt; &gt; numbers.=C2=A0 If we retain this work then this would likely move=
 to the YANG<br>
&gt; &gt; Semver draft.<br>
&gt; &gt; &gt; [See hedgedoc poll T7]<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; T8. recommended-min for imports (Sec 4)<br>
&gt; &gt; &gt; The WG seems to be somewhat split on how urgent this is, and=
 there isn&#39;t<br>
&gt; &gt; consensus amongst authors/contributors for retaining this work or=
<br>
&gt; &gt; deferring it. One option is to keep it, but renamed as recommende=
d-min-<br>
&gt; &gt; date.<br>
&gt; &gt; &gt; [See hedgedoc poll T8]<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; T9. Versioning of YANG instance data (Sec 6)<br>
&gt; &gt; &gt; There wasn&#39;t any consensus among the authors/contributor=
s as to<br>
&gt; &gt; whether this should be retained or deferred to a new version of t=
he YANG<br>
&gt; &gt; instance data document.<br>
&gt; &gt; &gt; [See hedgedoc poll T9]<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; T10. Do *all* whitespace changes (including whitespace betwe=
en<br>
&gt; &gt; statements) require a new revision to be published? Sec 3.1, last=
 paragraph.<br>
&gt; &gt; &gt; The authors/contributors are somewhat split on whether to re=
tain this.<br>
&gt; &gt; The advantage of keeping this is that it makes it very easy to ch=
eck (i.e., via a<br>
&gt; &gt; simple text diff tool) whether two modules pertaining to be the s=
ame<br>
&gt; &gt; version are in fact the same.=C2=A0 It should also mean that it i=
s easy to generate<br>
&gt; &gt; a hash-based fingerprint of a module revision.=C2=A0 The alternat=
ive gives more<br>
&gt; &gt; flexibility to users to reformat modules (e.g., for different lin=
e-lengths), but<br>
&gt; &gt; complicates the check to ensure that a YANG module revision hasn&=
#39;t been<br>
&gt; &gt; changed or makes it slightly more expensive to generate a hash si=
nce the<br>
&gt; &gt; module formatting would need to be normalized first.<br>
&gt; &gt; &gt; [See hedgedoc poll T10]<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; Jason (he/him)<br>
&gt; &gt; &gt;<br>
&gt; &gt; <br>
&gt; &gt; &gt; _______________________________________________<br>
&gt; &gt; &gt; netmod mailing list<br>
&gt; &gt; &gt; <a href=3D"mailto:netmod@ietf.org" target=3D"_blank">netmod@=
ietf.org</a><br>
&gt; &gt; &gt; <a href=3D"https://www.ietf.org/mailman/listinfo/netmod" rel=
=3D"noreferrer" target=3D"_blank">https://www.ietf.org/mailman/listinfo/net=
mod</a><br>
&gt; &gt; <br>
&gt; &gt; <br>
&gt; &gt; --<br>
&gt; &gt; J=C3=BCrgen Sch=C3=B6nw=C3=A4lder=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0 =C2=A0 Constructor University Bremen gGmbH<br>
&gt; &gt; Phone: +49 421 200 3587=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0Campus R=
ing 1 | 28759 Bremen | Germany<br>
&gt; &gt; Fax:=C2=A0 =C2=A0+49 421 200 3103=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0&lt;<a href=3D"https://constructor.university/" rel=3D"noreferrer" targe=
t=3D"_blank">https://constructor.university/</a>&gt;<br>
<br>
-- <br>
J=C3=BCrgen Sch=C3=B6nw=C3=A4lder=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =
=C2=A0 Constructor University Bremen gGmbH<br>
Phone: +49 421 200 3587=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0Campus Ring 1 | 28=
759 Bremen | Germany<br>
Fax:=C2=A0 =C2=A0+49 421 200 3103=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0&lt;<a h=
ref=3D"https://constructor.university/" rel=3D"noreferrer" target=3D"_blank=
">https://constructor.university/</a>&gt;<br>
<br>
_______________________________________________<br>
netmod mailing list<br>
<a href=3D"mailto:netmod@ietf.org" target=3D"_blank">netmod@ietf.org</a><br=
>
<a href=3D"https://www.ietf.org/mailman/listinfo/netmod" rel=3D"noreferrer"=
 target=3D"_blank">https://www.ietf.org/mailman/listinfo/netmod</a><br>
</blockquote></div></div>

--00000000000096aa7b0608904c67--

