Re: [netmod] All IETF YANG modules MUST include revision-label statements

Martin Björklund <mbj+ietf@4668.se> Mon, 30 March 2020 21:50 UTC

Return-Path: <mbj+ietf@4668.se>
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 4E1EC3A149F for <netmod@ietfa.amsl.com>; Mon, 30 Mar 2020 14:50:57 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: 1.799
X-Spam-Level: *
X-Spam-Status: No, score=1.799 tagged_above=-999 required=5 tests=[DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, PDS_NAKED_TO_NUMERO=1.999, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=no autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=4668.se header.b=fO175ssb; dkim=pass (2048-bit key) header.d=messagingengine.com header.b=kYK4VrCm
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id HmpQHkV6wLtc for <netmod@ietfa.amsl.com>; Mon, 30 Mar 2020 14:50:55 -0700 (PDT)
Received: from wout2-smtp.messagingengine.com (wout2-smtp.messagingengine.com [64.147.123.25]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 8E4E13A146B for <netmod@ietf.org>; Mon, 30 Mar 2020 14:50:50 -0700 (PDT)
Received: from compute2.internal (compute2.nyi.internal [10.202.2.42]) by mailout.west.internal (Postfix) with ESMTP id BC72B75A; Mon, 30 Mar 2020 17:50:49 -0400 (EDT)
Received: from mailfrontend2 ([10.202.2.163]) by compute2.internal (MEProxy); Mon, 30 Mar 2020 17:50:49 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=4668.se; h=date :message-id:to:cc:subject:from:in-reply-to:references :mime-version:content-type:content-transfer-encoding; s=fm1; bh= +/T5tJqulN971CPGVymSm0x4EErO+xKwssSZN8Lckmk=; b=fO175ssbYjvlmfy2 hk62l3AbPDZHvu/CejiMcOiM46XtT2bwxSL0k+TNb928fuJhYemL0haO9Hm6RHUy fXKAGTghk2ejw0AVbaUMBp9f0lduJqwJ8kVPMMsn7kbs0x44c8gZPqIw5a74PdB9 LZ5LzAYgx3pKz7uikjF4iZRmB5fhnHlRDhrC+TKO4a1rEOUQMkUAo/BLJQOvcxp/ Nkjh5Z/1y2vlkpKzadY/GTFos2FmlD9FViIKIeUGfh7cbjcyL+uS2kRGkorSYh32 wQPBT76RbEZRp431F0RCfx2tEFEkORM2VvgkxNXw23PNQ5s0B06wqEOEEXYe3QsF LDWsQg==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-transfer-encoding:content-type :date:from:in-reply-to:message-id:mime-version:references :subject:to:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender :x-sasl-enc; s=fm2; bh=+/T5tJqulN971CPGVymSm0x4EErO+xKwssSZN8Lck mk=; b=kYK4VrCm8DZbdttSXb49rS+YiR+BFTi4T99iIkblpos78GqJVXLkP+/bD nmz6E55Po3FWlREjhRuJr/jxh5fhDyc4hWAwVuoIZZqoPZEOqEPkYunUIzU4WCFR 6JmXFeDG8LvegpI8R2KQX7LxF9DYYhMLWYCcJzBcUZYZMJuirQfiLs3SRw7WAkXA I7/tAadV0VsmI/ort9fuLVtHwFN+H89pOL/fgsBBdi8c0o7+LamHoekh93SQZqjG 7j9v35DJUGx4rrHvdMf/CoMoTD+r3OGn+4VSC6L/tfziETFmK/JvtzrbHq5tjoKX 4SQ92+a6HlalNXzm/74Ef6nLviAFw==
X-ME-Sender: <xms:uWmCXvcNpbPYR9tTzBxuSF9og5KBr0Mz-2FKIJi7oYcrj94hyOSO9w>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedugedrudeiiedgtdduucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucenucfjughrpeffkffvuffhjghfofggtgfgsehtqh ertdertddunecuhfhrohhmpeforghrthhinhcuuehjnphrkhhluhhnugcuoehmsghjodhi vghtfhesgeeiieekrdhsvgeqnecuffhomhgrihhnpehgihhthhhusgdrtghomhdpihgvth hfrdhorhhgnecukfhppeduheekrddujeegrdegrdeggeenucevlhhushhtvghrufhiiigv pedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpehmsghjodhivghtfhesgeeiieekrdhsvg
X-ME-Proxy: <xmx:uWmCXgJzhglRcFvzWrXruaHNh_NfHS6EiXCTCpn31x-2VqqkbP4_Gw> <xmx:uWmCXrKpgfSrEgiho9dFw83ZV1PF16ASYwD2tZ-E_UFvtrnNCj95BA> <xmx:uWmCXvvgc3iXasFV-Jw-tlT3m5RMGOe2Pcq93rohe8Plxg4IYG7h4A> <xmx:uWmCXlbnYAGF_504l1ZIE9Kpxj_sowAvMOag_FDdH4uBrqm6-mL0KQ>
Received: from localhost (unknown [158.174.4.44]) by mail.messagingengine.com (Postfix) with ESMTPA id 7A053306CA5E; Mon, 30 Mar 2020 17:50:48 -0400 (EDT)
Date: Mon, 30 Mar 2020 23:50:46 +0200 (CEST)
Message-Id: <20200330.235046.60166687757387667.id@4668.se>
To: jason.sterne@nokia.com
Cc: rrahman@cisco.com, netmod@ietf.org
From: Martin =?iso-8859-1?Q?Bj=F6rklund?= <mbj+ietf@4668.se>
In-Reply-To: <DM5PR08MB2633E6B1CA925B2D6E4B3AAE9BCB0@DM5PR08MB2633.namprd08.prod.outlook.com>
References: <047FB87D-37B2-41F4-86D2-B9A03050B4EB@cisco.com> <20200330.223957.1196399215343087647.id@4668.se> <DM5PR08MB2633E6B1CA925B2D6E4B3AAE9BCB0@DM5PR08MB2633.namprd08.prod.outlook.com>
X-Mailer: Mew version 6.8 on Emacs 25.2
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/netmod/ZlBpi8Nd8whF7Rr5hNEPjlpKmGc>
Subject: Re: [netmod] All IETF YANG modules MUST include revision-label statements
X-BeenThere: netmod@ietf.org
X-Mailman-Version: 2.1.29
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: Mon, 30 Mar 2020 21:51:03 -0000

"Sterne, Jason (Nokia - CA/Ottawa)" <jason.sterne@nokia.com> wrote:
> > But it is not true.  What happened between 1.0.2M and 1.0.3M?
> 
> It tells you there is an NBC change between 1.0.2M and 1.0.3M.

No.  As you note below it says that all bets are off.  The change
between these two could be a spelling error fix.  Hence, Reshad's
statement that "The revision label allows a user to easily figure out
whether 2 revisions are (N)BC." is not correct.

> The M gives an indication that a branch has been "poisoned" by an
> NBC change and that all bets are off from that point onwards in that
> branch.


/martin


> 
> > -----Original Message-----
> > From: netmod <netmod-bounces@ietf.org> On Behalf Of Martin Björklund
> > Sent: Monday, March 30, 2020 4:40 PM
> > To: rrahman@cisco.com
> > Cc: netmod@ietf.org
> > Subject: Re: [netmod] All IETF YANG modules MUST include revision-label
> > statements
> > 
> > "Reshad Rahman (rrahman)" <rrahman@cisco.com> wrote:
> > >
> > > On 2020-03-30, 2:20 PM, "Martin Björklund" <mbj+ietf@4668.se> wrote:
> > >
> > >     "Reshad Rahman (rrahman)" <rrahman@cisco.com> wrote:
> > >     > On 2020-03-28, 4:41 AM, "Martin Björklund" <mbj+ietf@4668.se> wrote:
> > >     >
> > >     >     "Reshad Rahman (rrahman)" <rrahman@cisco.com> wrote:
> > >     >     > Hi,
> > >     >     >
> > >     >     > https://github.com/netmod-wg/yang-ver-dt/issues/45
> > >     >     >
> > >     >     >         o  7.1
> > >     >     >
> > >     >     >           The text says:
> > >     >     >
> > >     >     >             All IETF YANG modules MUST include revision-label statements
> > for
> > >     >     >             all
> > >     >     >             newly published YANG modules, and all newly published
> > revisions of
> > >     >     >             existing YANG modules.  The revision-label MUST take the form
> > of a
> > >     >     >             YANG semantic version number [I-D.verdt-netmod-yang-
> > semver].
> > >     >     >
> > >     >     >           I strongly disagree with this new rule.  IETF modules use a linear
> > >     >     >           history, so there are no reasons to use "modified semver".
> > >     >     >
> > >     >     >           It is ok to use rev:nbc-changes if needed, though.
> > >     >     >
> > >     >     > We believe some IETF models may not follow linear history, this was
> > >     >     > brought up (I think) for IDR. Modified semver allows for non-linear
> > >     >     > history and also doesn't preclude linear history. So even if we end up
> > >     >     > having no IETF modules using branching, modified semver still works.
> > >     >
> > >     >     With the clarifiactions and updates in
> > >     >     draft-verdt-netmod-yang-module-versioning, non-linear versioning
> > >     >     works without modified semver.  So there is no technical reason to use
> > >     >     modified semver in IETF modules.
> > >     >
> > >     > So are you proposing we use some other revision-label scheme (e.g.
> > semver 2.0.0) for IETF modules?
> > >     >
> > >     > Or that IETF modules shouldn't use revision-labels?
> > >
> > >     That IETF shouldn't use revision labels.
> > >
> > > The revision label allows a user to easily figure out whether 2
> > > revisions are (N)BC.
> > 
> > I think you meant "modified semver as revision label allows ..."
> > 
> > But it is not true.  What happened between 1.0.2M and 1.0.3M?
> > 
> > 
> > /martin
> > 
> > 
> > > Without the label, you always have to use tooling.
> > >
> > > Regards,
> > > Reshad.
> > >
> > >     I am all for using rev:nbc-changes or rev:editorial-changes (which I
> > >     think should be added) in IETF modules.
> > >
> > >
> > >     /martin
> > >
> > >
> > >     >
> > >     > Or do you have something else in mind?
> > >     >
> > >     > Regards,
> > >     > Reshad.
> > >     >
> > >     >     I can reluctantly accept that modified smever is published as
> > >     >     Experimental.  But that doesn't mean that IETF modules should use it.
> > >     >
> > >     >
> > >     >     /martin
> > >     >
> > >     >
> > >     >     >
> > >     >     > Regards,
> > >     >     > Reshad.
> > >     >     >
> > >     >     >
> > >     >     > On 2020-03-20, 5:08 PM, "netmod on behalf of Reshad Rahman
> > (rrahman)"
> > >     >     > <netmod-bounces@ietf.org on behalf of
> > >     >     > rrahman=40cisco.com@dmarc.ietf.org> wrote:
> > >     >     >
> > >     >     >     Hi Martin,
> > >     >     >
> > >     >     >     We've opened issues to track your review comments (see below).
> > Will
> > >     >     >     kick off separate therads for each issue.
> > >     >     >
> > >     >     >     https://github.com/netmod-wg/yang-ver-
> > dt/issues?q=is%3Aissue+is%3Aopen+label%3Aupdated-mod-rev-handling
> > >     >     >
> > >     >     >     Regards,
> > >     >     >     Reshad.
> > >     >     >
> > >     >     >     On 2020-03-10, 3:31 PM, "netmod on behalf of Martin Björklund"
> > >     >     >     <netmod-bounces@ietf.org on behalf of mbj+ietf@4668.se> wrote:
> > >     >     >
> > >     >     >         Hi,
> > >     >     >
> > >     >     >         Here are my review comments of
> > >     >     >         draft-verdt-netmod-yang-module-versioning-01.
> > >     >     >
> > >     >     >
> > >     >     >
> > >     >     >         o  3.1.1
> > >     >     >
> > >     >     >             o  In statements that have any data definition statements as
> > >     >     >                substatements, those data definition substatements MAY be
> > >     >     >                reordered, as long as they do not change the ordering or any
> > >     >     >                "rpc"
> > >     >     >                "input" substatements.
> > >     >     >
> > >     >     >           I think this needs to capture that no descendant statements to
> > >     >     >           "input" can be reordered.  Same for "output" (note, "input" and
> > >     >     >           "output" in both "rpc" and "action").
> > >     >     >
> > >     >     >
> > >     >     >         o  3.3
> > >     >     >
> > >     >     >             All revision labels that match the pattern for the "version"
> > >     >     >             typedef in the ietf-yang-semver YANG module MUST be
> > interpreted as
> > >     >     >             YANG semantic version numbers.
> > >     >     >
> > >     >     >           I don't think this is a good idea.  Seems like a layer violation.
> > >     >     >           What if my project use another dialect of semver, that wouldn't
> > be
> > >     >     >           possible with this rule.  I think this needs to be removed.
> > >     >     >
> > >     >     >
> > >     >     >         o  3.3
> > >     >     >
> > >     >     >             Submodules MUST NOT use revision label schemes that could
> > be
> > >     >     >             confused
> > >     >     >             with the including module's revision label scheme.
> > >     >     >
> > >     >     >           Hmm, how do I ensure that this MUST NOT is handled correctly?
> > What
> > >     >     >           exactly does "could be confused with" mean?
> > >     >     >
> > >     >     >
> > >     >     >         o  3.3
> > >     >     >
> > >     >     >               In the filename of a YANG module, where it takes the form:
> > >     >     >               module-
> > >     >     >               or-submodule-name ['@' revision-label] ( '.yang' / '.yin' )
> > >     >     >
> > >     >     >           Should this section update 5.2 of RFC 7950?  I know that 5.2 just
> > >     >     >           says "SHOULD".  But existing tools implement this SHOULD, and
> > they
> > >     >     >           need to be updated to handle this new convention.
> > >     >     >
> > >     >     >           But I wonder if this a good idea.  It means that a tool that looks
> > >     >     >           for a module with a certain revision date cannot simply check
> > the
> > >     >     >           filenames, but need to parse all available modules (wijust to
> > find
> > >     >     >           the
> > >     >     >
> > >     >     >
> > >     >     >
> > >     >     >         o  3.4
> > >     >     >
> > >     >     >              leaf imperial-temperature {
> > >     >     >                type int64;
> > >     >     >                units "degrees Fahrenheit";
> > >     >     >                status deprecated {
> > >     >     >                  rev:status-description
> > >     >     >                    "Imperial measurements are being phased out in favor
> > >     >     >                     of their metric equivalents.  Use metric-temperature
> > >     >     >                     instead.";
> > >     >     >                }
> > >     >     >                description
> > >     >     >                  "Temperature in degrees Fahrenheit.";
> > >     >     >              }
> > >     >     >
> > >     >     >           I don't think rev:status-description is necessary / worth it.  This
> > >     >     >           can easily be written with the normal description statement
> > instead:
> > >     >     >
> > >     >     >              leaf imperial-temperature {
> > >     >     >                type int64;
> > >     >     >                units "degrees Fahrenheit";
> > >     >     >                status deprecated;
> > >     >     >                description
> > >     >     >                    "Imperial measurements are being phased out in favor
> > >     >     >                     of their metric equivalents.  Use metric-temperature
> > >     >     >                     instead.
> > >     >     >
> > >     >     >                     Temperature in degrees Fahrenheit.";
> > >     >     >              }
> > >     >     >
> > >     >     >
> > >     >     >         o  3.5
> > >     >     >
> > >     >     >           The example modules should be legal YANG modules.  Use e.g.
> > >     >     >           "urn:example:module" as namespace.
> > >     >     >
> > >     >     >           Also, the modules are missing the last "}", which confuses the
> > >     >     >           "rfcstrip" tool.
> > >     >     >
> > >     >     >
> > >     >     >         o 4.1.1
> > >     >     >
> > >     >     >             Alternatively, the first example could have used the revision
> > >     >     >             label
> > >     >     >             "1.0.0" instead, which selects the same set of
> > revisions/versions.
> > >     >     >
> > >     >     >             import example-module {
> > >     >     >               rev:revision-or-derived 1.0.0;
> > >     >     >             }
> > >     >     >
> > >     >     >           Shouldn't this be s/1.0.0/2.0.0/g ?
> > >     >     >
> > >     >     >
> > >     >     >         o  5
> > >     >     >
> > >     >     >           I think the module name "ietf-yl-revisions" should be changed
> > to
> > >     >     >           "ietf-yang-library-revisions".   "yl" is not a well-known acronym.
> > >     >     >
> > >     >     >
> > >     >     >         o  5.2.2
> > >     >     >
> > >     >     >           Wouldn't it be better if the leaf "deprecated-nodes-
> > implemented" and
> > >     >     >           "obsolete-nodes-absent" were of type "boolean" rather than
> > type
> > >     >     >           "empty"?
> > >     >     >
> > >     >     >
> > >     >     >         o  7.1
> > >     >     >
> > >     >     >           The text says:
> > >     >     >
> > >     >     >             All IETF YANG modules MUST include revision-label statements
> > for
> > >     >     >             all
> > >     >     >             newly published YANG modules, and all newly published
> > revisions of
> > >     >     >             existing YANG modules.  The revision-label MUST take the form
> > of a
> > >     >     >             YANG semantic version number [I-D.verdt-netmod-yang-
> > semver].
> > >     >     >
> > >     >     >           I strongly disagree with this new rule.  IETF modules use a linear
> > >     >     >           history, so there are no reasons to use "modified semver".
> > >     >     >
> > >     >     >           It is ok to use rev:nbc-changes if needed, though.
> > >     >     >
> > >     >     >
> > >     >     >         o 7.1.1
> > >     >     >
> > >     >     >           There is a missing " in:
> > >     >     >
> > >     >     >            4.  For status "obsolete", it is RECOMMENDED to keep the
> > "status-
> > >     >     >                description" information, from when the node had status
> > >     >     >                "deprecated, which is still relevant.
> > >     >     >          HERE  -----------^
> > >     >     >
> > >     >     >
> > >     >     >         o  8
> > >     >     >
> > >     >     >           s/CODE ENDS>/<CODE ENDS>/
> > >     >     >
> > >     >     >
> > >     >     >         o Both YANG modules
> > >     >     >
> > >     >     >           All extensions should specify the grammar; i.e., in which
> > statements
> > >     >     >           they can be present and which substatements they can have.
> > >     >     >
> > >     >     >
> > >     >     >
> > >     >     >         /martin
> > >     >     >
> > >     >     >         _______________________________________________
> > >     >     >         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
> > >     >     >
> > >     >     >
> > >     >
> > >     >
> > >
> > >
> > _______________________________________________
> > netmod mailing list
> > netmod@ietf.org
> > https://www.ietf.org/mailman/listinfo/netmod