Re: [netmod] status-description (WAS Re: mbj review of draft-verdt-netmod-yang-module-versioning-01)

Balázs Lengyel <balazs.lengyel@ericsson.com> Mon, 04 May 2020 15:36 UTC

Return-Path: <balazs.lengyel@ericsson.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 AE5643A0AFD for <netmod@ietfa.amsl.com>; Mon, 4 May 2020 08:36:00 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.102
X-Spam-Level:
X-Spam-Status: No, score=-2.102 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-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=ericsson.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 MFU5JIoburSZ for <netmod@ietfa.amsl.com>; Mon, 4 May 2020 08:35:58 -0700 (PDT)
Received: from EUR03-VE1-obe.outbound.protection.outlook.com (mail-eopbgr50047.outbound.protection.outlook.com [40.107.5.47]) (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 A5D033A0AE7 for <netmod@ietf.org>; Mon, 4 May 2020 08:35:57 -0700 (PDT)
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=cFh6+9hCq6RBisp8K3CgNaJeCn73nmeKtl2do+ZRHiDMbc0ztIoz3gfmNeHhRN4sehcnygKnr+ZXjByJ9MrnQFpGcHs5q0SewIhk4nHxpegwQcfGb8gmkwqudhsdPbRpU4GmvpDRLD9ZZXFEYtEPbOxUYWRO4u6Dk89R7UEP6J2uIhEWarlbopDP/X6KRj7vOpi2fqVuwxd3aAaK6RRdVKgVVWnGsL3x+M88rCSRKPNqFfn67fL+NMMmWkXXf2ffjtsJk1BcpC/sw1szHAvyeaI77+FNNV1lQkTA80yJpsBnrxOM8sKFPoSm10p1CGwnmGLAgSCbNuwJgL2LkS62QA==
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=XXYI5BX6d2oDTjxakFCxs0G2RWHvtXy8R2l4waBPUM8=; b=Hbwip/zwxNNn0vo721IA9x6JAMF0tuGk/d/sy2pqNfk6pUUX+UNY5U8b3fI1+Nyl1eH3/yjPvL8xLNMK+eVD9tciOhtGQURkB/28BnrKaAKRoXHn7SjUsEtkqDMcSFnmDoIOpX4ts+A6lqcBVnEMI5Zpmf9s4HvKCv2NUIUydcCrv1h1HGUX4LhXpd1cNd0PjJGoDCOPCq86vfhsgkCTQ8NCdVLLiqOaDpxuoHtpyzMLqbzlzoYaoazHdLiIeBOZsokkKSi4U8VNtHN1doB7J/LwlotQ0+AvnLYTiFa8bHrFFqe3OeWb+cnFTaswC6DeoO579vko+MMje/IKANQpQQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=ericsson.com; dmarc=pass action=none header.from=ericsson.com; dkim=pass header.d=ericsson.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ericsson.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=XXYI5BX6d2oDTjxakFCxs0G2RWHvtXy8R2l4waBPUM8=; b=iHew/m4odsV/M4YCV7AyK1god8NuMGbrziv+2sFKnzro9AZgodCOXOIppOUJrxKf+B0ik6jZk9gX5TUODtlNGiT0CyeCIndH//6jrajIyaZDFC6EPR4V9A+Y0XhrzpBdnXReryQ1ynNZE9VdCmS14Gb1uEnyaLShBCqgkKwpBuk=
Received: from AM0PR07MB4004.eurprd07.prod.outlook.com (2603:10a6:208:47::12) by AM0SPR01MB0070.eurprd07.prod.outlook.com (2603:10a6:20b:145::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2979.11; Mon, 4 May 2020 15:35:55 +0000
Received: from AM0PR07MB4004.eurprd07.prod.outlook.com ([fe80::9462:5522:7e24:40e4]) by AM0PR07MB4004.eurprd07.prod.outlook.com ([fe80::9462:5522:7e24:40e4%6]) with mapi id 15.20.2979.024; Mon, 4 May 2020 15:35:55 +0000
From: Balázs Lengyel <balazs.lengyel@ericsson.com>
To: "Sterne, Jason (Nokia - CA/Ottawa)" <jason.sterne@nokia.com>, "Reshad Rahman (rrahman)" <rrahman=40cisco.com@dmarc.ietf.org>, Martin Björklund <mbj+ietf@4668.se>, "netmod@ietf.org" <netmod@ietf.org>
Thread-Topic: status-description (WAS Re: mbj review of draft-verdt-netmod-yang-module-versioning-01)
Thread-Index: AQHWBICodxtZEL4Sck2h4uvyp4I9TKiQ0dGAgAd062A=
Date: Mon, 04 May 2020 15:35:54 +0000
Message-ID: <AM0PR07MB4004B4273EB535101F1308E4F0A60@AM0PR07MB4004.eurprd07.prod.outlook.com>
References: <3635DB7C-30F0-4214-BBD4-8A0C03177D0C@cisco.com> <DM5PR08MB263369B99B8F25B4FC383E0B9BAD0@DM5PR08MB2633.namprd08.prod.outlook.com>
In-Reply-To: <DM5PR08MB263369B99B8F25B4FC383E0B9BAD0@DM5PR08MB2633.namprd08.prod.outlook.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: yes
X-MS-TNEF-Correlator:
authentication-results: nokia.com; dkim=none (message not signed) header.d=none;nokia.com; dmarc=none action=none header.from=ericsson.com;
x-originating-ip: [80.98.254.17]
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: deb3497c-f1d8-4d6a-5342-08d7f040d5d1
x-ms-traffictypediagnostic: AM0SPR01MB0070:
x-microsoft-antispam-prvs: <AM0SPR01MB00700D222F481C5A81925F7BF0A60@AM0SPR01MB0070.eurprd07.prod.outlook.com>
x-ms-oob-tlc-oobclassifiers: OLM:9508;
x-forefront-prvs: 03932714EB
x-ms-exchange-senderadcheck: 1
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: UxtrPntrx8U9osEKR2UaC3IXKmGIGUjG0r+5jtWKf+Oq4oAY+e8D5c4k8yeFr/7AVK/dfzuiVfb+Zh/GQ0nbKjh+jQ4BfZlUENtpe4LUWqqueZsRkwKOeKXWWBus+2cHtDANWuYVx8Ql9qLQR+1oOEUO7bAQSONn2BSvXy2UC5Kvh1lkbStxX+XR+lNGsr7/6ZfBBwhw6jtHIVF0RfltaeYD318tyZbmV/Y5ZuBncXyyq3UyJ4/Rtt8x5vGfrm91g7hS37TAr4pkP7KQTI39xkIwVD2j6kESWEelZ7wN2tspTCnlgO/Be4GSe1VSGY3z+ePZzNAuUZI98DdNhzhzIiOKjGiDOPt1xU/cOLjQSFzwvxMfiB4qdger97CjqapdSJxU5B9N3x4LnY1FPv1jhkFxdFpevOb0osVpnnYCIvuNNiKgqSaWG5QrxoUq+a0bjoGeqak3JcKvk4OYn6ubyKOfZ4hXP6WEASZ+RLKJsbZS8AaCBsnjdvOysGrbMek03WCEFbxG9c1pUFLkKbMwoA==
x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:AM0PR07MB4004.eurprd07.prod.outlook.com; PTR:; CAT:NONE; SFTY:; SFS:(4636009)(396003)(136003)(366004)(376002)(346002)(39860400002)(86362001)(8676002)(71200400001)(7696005)(55016002)(66574012)(76116006)(2906002)(33656002)(66946007)(85182001)(66476007)(110136005)(66556008)(9686003)(64756008)(66446008)(66616009)(52536014)(53546011)(6506007)(296002)(316002)(99936003)(966005)(5660300002)(26005)(186003)(478600001)(8936002)(85202003); DIR:OUT; SFP:1101;
x-ms-exchange-antispam-messagedata: wIcOQvA6Z76V5RADJ6+a5MfCKQ9Ojqk9EeTsPJahXrxAhc2rviW4LqIAXpE2FJxFZNGcik4jO7t1e/vpTQLr+9x32ULre11+Hjfh+8roZCJJgHVRQoxHFSZ4/Qs0VSEVAtbaOXoESep6cFTGiMWsFNw8CY0oYZN8TIjyOllcFJtoPpnmmU0NnKZHB5mZV3S4gmGVuKMNN6QULEeDYQdls5jAUtZqbmbkUVkThsNwAjewplnDOUEDrPgO2+CK1k63pImDJhMZ2czcSmhGtba9fbAhSgfxi1/s9x9RsL4Q19YQ9wynt1o+i2G/NZgY6fotHt5/fDJ/NZaJZIOaHeLxJuct9boEarTiPhjrBWxrBeNLyXUt/ZQG6oG5BzY5WLeOP+ImzqNFbbif8j8LZr7EmIQFgCS94DIS7+kwGj2llQmc/+gg7SbsGcnMkfMIoCBkYN1uLZtTGWwkkpCn01OemYRIbiDwkcYWLJBO8iyB2jijG6DTPIZyBlILROcVTJ2hzumt2pDEUh8u5Lfj3gm6rZah7q6geBiClD7FuDpCMpQICS93mgcbG/pasqwj1gAlRuzY/NYd2puJjtOTPGT9xqdGI+NCszwpGmwvu9Pgs4eayZQKUqbHs4G01EkahGqrSsEA38+wIPQSDXSBxh0XfYl0IUUHYvXHW88SRQsFR4Sl6LZtWW7cUYfGz9IANHNVgD5+nJxTHGV2df28egc0tmV4a6hjoZKn3PlP+nj48lZuFG19Qtv/n9TeFXWyRiOzdCz5xRf2p2yQb5sOj//bITX/TJBZfUHwSjfhNV4HzT0=
x-ms-exchange-transport-forked: True
Content-Type: multipart/signed; protocol="application/x-pkcs7-signature"; micalg="SHA1"; boundary="----=_NextPart_000_0079_01D6223A.7595FDE0"
MIME-Version: 1.0
X-OriginatorOrg: ericsson.com
X-MS-Exchange-CrossTenant-Network-Message-Id: deb3497c-f1d8-4d6a-5342-08d7f040d5d1
X-MS-Exchange-CrossTenant-originalarrivaltime: 04 May 2020 15:35:54.9384 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 92e84ceb-fbfd-47ab-be52-080c6b87953f
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: xGzINYDFEa+8Knu2/ItiE17NpQk56vwTbPU5te7RHUE71ovMnFJA1SF+phk3US9/8pYNbnJOptb7tfJDhvK6tzhxG1w+bqVlj2PNxUEgyS8=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0SPR01MB0070
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/t6DgJiT9v6U9r4nnqkrYupzqkHM>
Subject: Re: [netmod] status-description (WAS Re: mbj review of draft-verdt-netmod-yang-module-versioning-01)
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, 04 May 2020 15:36:01 -0000

Hello,
While status-description is not a critical part of this work, it is still useful, does not harm and is such a small addition, I do not understand why Martin objects.

So why is status-description good:
Sometimes additional information is needed about deprecation, obsolescence: 
- is the item still fully functional?
- when will its functionality be removed?
- when will the schema node itself be removed?
- is there a replacement or workaround that could/should be used instead of deprecated/obsolete item?
The text can be used by tools. Using a separate statement to provide this 
information is a method to separate the main description from this status specific description. 
In most cases both in the CLI and on NMS GUIs only the description is displayed. 
However there is a possibility  to display the status information too.

In a way it is similar why we have separate description, contact, reference, organization statements under module. 
All these are just text, they could all be pushed under a single description statement. Tools can't act on these automatically, still it is good to separate them.

Regards Balazs

-----Original Message-----
From: netmod <netmod-bounces@ietf.org> On Behalf Of Sterne, Jason (Nokia - CA/Ottawa)
Sent: 2020. április 29., szerda 23:38
To: Reshad Rahman (rrahman) <rrahman=40cisco.com@dmarc.ietf.org>; Martin Björklund <mbj+ietf@4668.se>; netmod@ietf.org
Subject: Re: [netmod] status-description (WAS Re: mbj review of draft-verdt-netmod-yang-module-versioning-01)

I think we could wait until YANG 2.0 to add a description to the status.

Without a status description, an intelligent "YANG diff" of the models would produce this:
a) new status deprecated statement
b) change to a description

With a status description we'd identify this:
a) new status deprecated statement
b) new status description

In both cases it is (a) that identifies the most clear information.

In both cases (b) provides no additional information that can be acted upon in an automated fashion. The tool could only flag that (b) occurred in both cases and a human would then have to go look at it.

If the only change between two versions of a module was a status description change, then again a human would have to take a look. If we add some sort of "nbc" tag to the leaf for tooling, then it also doesn't matter which description changed.

Jason


> -----Original Message-----
> From: netmod <netmod-bounces@ietf.org> On Behalf Of Reshad Rahman
> (rrahman)
> Sent: Friday, March 27, 2020 5:43 PM
> To: Martin Björklund <mbj+ietf@4668.se>; netmod@ietf.org
> Subject: [netmod] rev:status-description (WAS Re: mbj review of 
> draft-verdt-
> netmod-yang-module-versioning-01)
> 
> Hi,
> 
> https://github.com/netmod-wg/yang-ver-dt/issues/51
> 
>         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.";
>              }
> 
> While rev:status-description isn't strictly necessary, without it we'd 
> have to modify the node's description as you pointed out. That'd make 
> tooling more
> difficult: is the description change BC or NBC? Also, a user looking 
> at a diff would need to go through the description change. Use of  
> rev:status- description makes this easier to handle.
> 
> 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
_______________________________________________
netmod mailing list
netmod@ietf.org
https://www.ietf.org/mailman/listinfo/netmod