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

"Sterne, Jason (Nokia - CA/Ottawa)" <jason.sterne@nokia.com> Mon, 30 March 2020 21:35 UTC

Return-Path: <jason.sterne@nokia.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 57BC93A1380 for <netmod@ietfa.amsl.com>; Mon, 30 Mar 2020 14:35:11 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.002
X-Spam-Level:
X-Spam-Status: No, score=-0.002 tagged_above=-999 required=5 tests=[DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, RCVD_IN_MSPIKE_H2=-0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=nokia.onmicrosoft.com
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 OabQQ0NX0fvt for <netmod@ietfa.amsl.com>; Mon, 30 Mar 2020 14:35:09 -0700 (PDT)
Received: from NAM12-BN8-obe.outbound.protection.outlook.com (mail-bn8nam12on2106.outbound.protection.outlook.com [40.107.237.106]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 554983A137D for <netmod@ietf.org>; Mon, 30 Mar 2020 14:35:09 -0700 (PDT)
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=iTUjssEhxKvD/7Eh01m8QFLXcEbp5rqFFpUyueRGR432U5zXGWDdRPntXrWvRW8ulPAV41FSmMpn0RHifqxcTgkVY2yMW2ZymNd/sJlpsv1SCiTxv8FUIhgawmdMv9nXOM8NkSUBETxdYD9KwDevI6MaHih6r2N9uiEoDYDbcR1VOF/kAZR/jz1fn5+bWJBbWvWbUMxEbi3tVjDS60wRQ2mAXWIAJIeKT+gRprms2pyZqRpw3XCEBa02oATanb8WTZ5VrHx9Giv04AuYToQhUSDi2xH6QuSx9sIKqrGrRe12MRFNeKN28ruDlwBJu/+9q5fs8W/NsJ+Ve9y8zjcRNw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=WgbYg/w26ig0TQmDCoyPBJRjC0Vdh0ot6mZXTo76cJc=; b=QU04hyFIlKcJ4GO3XlrkGz5Uqm/XGSOi8iMh2FgZdPFIkRS51mjLIM8KnaLA34RN7Pq92Nt9qjqfy5OfHNa6Jwr2xdfYBg8HUjDYB7P73nZCRNsL4SgUUvT2hZSwh56t7NhfjCSCKgDzmaOIXQ/CrPzZSz3akSyGZjLUtk96MqFg5m7muqyvIVGgrqBvwzk1HkuW0XLqWkf6fxWtGOFS0hTMp/eyjo0cc0LbjOzslnoHUzRnh3bouF6RhhNOgx3s5hfCaJVx9cccxhVL0ZI+NkYsVwstLPY/CZJOc1Hm6JnM4ptrhvfNBgcQk2HH7K2+oTehLp0mAj/VXyrA9qhP4w==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nokia.com; dmarc=pass action=none header.from=nokia.com; dkim=pass header.d=nokia.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nokia.onmicrosoft.com; s=selector1-nokia-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=WgbYg/w26ig0TQmDCoyPBJRjC0Vdh0ot6mZXTo76cJc=; b=abP85es1r8p1as3j/PkeA8uQ/vAEhzkmNsAmDDeb6rPSXdmzfN7SbdnWWBgnsK9WBRo4A8/ErCvvyrh+ilsRKVO7nvgLMbkz4/2xpzXqexMVFA47OkNI7RUjN+Kbq8oDYsBzdP358JsaiAY66FOZOnsa55cjRI7h8VyvO+limbQ=
Received: from DM5PR08MB2633.namprd08.prod.outlook.com (2603:10b6:3:ca::21) by DM5PR08MB3465.namprd08.prod.outlook.com (2603:10b6:4:6b::26) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2856.20; Mon, 30 Mar 2020 21:35:07 +0000
Received: from DM5PR08MB2633.namprd08.prod.outlook.com ([fe80::c00d:56c3:675e:ec63]) by DM5PR08MB2633.namprd08.prod.outlook.com ([fe80::c00d:56c3:675e:ec63%3]) with mapi id 15.20.2856.019; Mon, 30 Mar 2020 21:35:07 +0000
From: "Sterne, Jason (Nokia - CA/Ottawa)" <jason.sterne@nokia.com>
To: =?iso-8859-1?Q?Martin_Bj=F6rklund?= <mbj+ietf@4668.se>, "rrahman@cisco.com" <rrahman@cisco.com>
CC: "netmod@ietf.org" <netmod@ietf.org>
Thread-Topic: [netmod] All IETF YANG modules MUST include revision-label statements
Thread-Index: AQHWBtNsM0hFMwGcFk22QjMBKcTjZ6hhqAFw
Date: Mon, 30 Mar 2020 21:35:07 +0000
Message-ID: <DM5PR08MB2633E6B1CA925B2D6E4B3AAE9BCB0@DM5PR08MB2633.namprd08.prod.outlook.com>
References: <76623C79-BB91-4B5F-8FEA-406ADEAD1647@cisco.com> <20200330.202016.930329343788112268.id@4668.se> <047FB87D-37B2-41F4-86D2-B9A03050B4EB@cisco.com> <20200330.223957.1196399215343087647.id@4668.se>
In-Reply-To: <20200330.223957.1196399215343087647.id@4668.se>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
authentication-results: spf=none (sender IP is ) smtp.mailfrom=jason.sterne@nokia.com;
x-originating-ip: [65.110.221.64]
x-ms-publictraffictype: Email
x-ms-office365-filtering-ht: Tenant
x-ms-office365-filtering-correlation-id: 0c2c8df4-8f91-43d5-7038-08d7d4f2376a
x-ms-traffictypediagnostic: DM5PR08MB3465:
x-microsoft-antispam-prvs: <DM5PR08MB34652E464157B3B94CB9E0529BCB0@DM5PR08MB3465.namprd08.prod.outlook.com>
x-ms-oob-tlc-oobclassifiers: OLM:6430;
x-forefront-prvs: 0358535363
x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DM5PR08MB2633.namprd08.prod.outlook.com; PTR:; CAT:NONE; SFTY:; SFS:(10019020)(4636009)(39860400002)(366004)(346002)(376002)(136003)(396003)(53546011)(6506007)(55016002)(66556008)(52536014)(9686003)(33656002)(26005)(110136005)(7696005)(66476007)(66946007)(478600001)(966005)(81156014)(76116006)(81166006)(5660300002)(64756008)(66446008)(71200400001)(8936002)(8676002)(2906002)(66574012)(86362001)(316002)(4326008)(186003); DIR:OUT; SFP:1102;
received-spf: None (protection.outlook.com: nokia.com does not designate permitted sender hosts)
x-ms-exchange-senderadcheck: 1
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: rUkDfV2cshpgqfZ4D4tQWyboercSJqFwrEmkb2RmyFjy652G66woc0OtsWOKO0D8XRQwCQq9t6WRQC2+c+eahWTtd1P07nCYR5ubBmXUPuYNXA8iAPwQU6nl31NsRevEKMB2L+p6lX7hJPozwxOkXxJG8A3zCph+eTDLGD1jIWG06bXhfUI6umgQEJ5lCDzNmhQ1G5nObI6NbxlOSqc43MIPgT9yki2FKx05/oShCH3ScOyNfnfMEOtwrZec46AdfRNgC04O7RgN0As6nFwo1wnyhUtYFGdIv2oVjG7dxjsXLuNWiSmO5M1aeiI8cANJxZseOf3gSeiDxyvwZlA2qx/0buvqzatBlsY5EfOnfrHREoPUsDj1hJgG1oU4RYCOdiOOoN0mESx2mM9pcq0Tdsmf7jKyNC1fNOD3Fc4wmF2x0IwN6AjPEdiPqAeTVoUURFEZT7UMhw1tWp2ilOVJKz/0MSKj1Y9BW8i62CvdMCp8iBP4MA4likzgDnuoXjzyX7p0LQlfLunXgBTxs6xFcA==
x-ms-exchange-antispam-messagedata: qWgz+vSKpU/s/EoKxCFNkGam54jsyEPRer2FOYF06ssejrHSa7m7BAFq7exXHURpn/KBH5/yUhkD+DvRCoXKhgyeOeXTG+TaHjVVfqG9TRn+PewqjWwbdac+LCamkR+vS1KO1xNxTcVlRSVaod6WPw==
x-ms-exchange-transport-forked: True
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-OriginatorOrg: nokia.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 0c2c8df4-8f91-43d5-7038-08d7d4f2376a
X-MS-Exchange-CrossTenant-originalarrivaltime: 30 Mar 2020 21:35:07.2551 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 5d471751-9675-428d-917b-70f44f9630b0
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: NLS7bw4CCTWRF6/+VyHOZBt8N3HtWYSZsQe0LSaraEIVSmzmNF48ggGVEzna1xuogSXYfw0CE5rA6u2VfwV7Rg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM5PR08MB3465
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/cQYNVaHaTDpyYfgpAW7E-b9Avlw>
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:35:11 -0000

> 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.

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.

> -----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