[netmod] bool v/s empty for new leafs deprecated-nodes and obsolete-nodes (WAS Re: mbj review of draft-verdt-netmod-yang-module-versioning-01)

"Reshad Rahman (rrahman)" <rrahman@cisco.com> Fri, 27 March 2020 21:43 UTC

Return-Path: <rrahman@cisco.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 EE40A3A0CE3 for <netmod@ietfa.amsl.com>; Fri, 27 Mar 2020 14:43:15 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -9.6
X-Spam-Level:
X-Spam-Status: No, score=-9.6 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, SPF_PASS=-0.001, URIBL_BLOCKED=0.001, USER_IN_DEF_DKIM_WL=-7.5] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=cisco.com header.b=WcirNTRf; dkim=pass (1024-bit key) header.d=cisco.onmicrosoft.com header.b=reNfflZ5
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 lH9I3H7Eqihp for <netmod@ietfa.amsl.com>; Fri, 27 Mar 2020 14:43:14 -0700 (PDT)
Received: from alln-iport-6.cisco.com (alln-iport-6.cisco.com [173.37.142.93]) (using TLSv1.2 with cipher DHE-RSA-SEED-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 3E2133A0E66 for <netmod@ietf.org>; Fri, 27 Mar 2020 14:43:09 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=cisco.com; i=@cisco.com; l=9726; q=dns/txt; s=iport; t=1585345389; x=1586554989; h=from:to:subject:date:message-id:content-id: content-transfer-encoding:mime-version; bh=wFyNX5epSfCThjn52gArKr59MKfhiwVGSPR8nn96emc=; b=WcirNTRfUP8eKdTCb9YY2+uvNoZqJ1YDODQPoNM0x/ARA8GsjRixAd+K stL47uMnSkR/alilTZtgAjb7+OyaYXDFaZKD6EdsCzMXvTo4Yn0Gxne1M T33uU8s8T7Q3RIMZgQahl8FKU//N2m3RUp67XzH2ChA7FVKM8FVp1HdaZ E=;
IronPort-PHdr: 9a23:+JJARRGURmbxdbQCRaPPNp1GYnJ96bzpIg4Y7IYmgLtSc6Oluo7vJ1Hb+e4z1A3SRYuO7fVChqKWqK3mVWEaqbe5+HEZON0pNVcejNkO2QkpAcqLE0r+eeTwZiw/FcJqX15+9Hb9Ok9QS47z
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: A0AuCgB7cn5e/51dJa1mHQEBAQkBEQUFAYF7gVRQBWxYIAQLKgqEEINFA4pqTpowgUKBEANUCgEBAQwBARgNCAIEAQGDf0UZghokOBMCAwEBCwEBBQEBAQIBBQRthVYMhXMFARAREQwBASwMEQEiAh8HAgQlCxUSBAESIoMEAYJLAy4BDqIXAoE5iGJ1gTKCfwEBBYUmGIIMAwaBDiqMMRqBQT+BEScggwuCZwEBAhqBLzEhAoJYMoIsjX0BA4J3hh2ZTAqCPIdfjy0dgkyURoRXjxSBUIdCkmgCBAIEBQIOAQEFgWkiKoEucBU7KgGCQVAYDY4dOIM7hRSFQXQCEIEXjGEBgQ8BAQ
X-IronPort-AV: E=Sophos;i="5.72,313,1580774400"; d="scan'208";a="479216176"
Received: from rcdn-core-6.cisco.com ([173.37.93.157]) by alln-iport-6.cisco.com with ESMTP/TLS/DHE-RSA-SEED-SHA; 27 Mar 2020 21:43:08 +0000
Received: from XCH-RCD-003.cisco.com (xch-rcd-003.cisco.com [173.37.102.13]) by rcdn-core-6.cisco.com (8.15.2/8.15.2) with ESMTPS id 02RLh8Vv008913 (version=TLSv1.2 cipher=AES256-SHA bits=256 verify=FAIL); Fri, 27 Mar 2020 21:43:08 GMT
Received: from xhs-aln-003.cisco.com (173.37.135.120) by XCH-RCD-003.cisco.com (173.37.102.13) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Fri, 27 Mar 2020 16:43:07 -0500
Received: from xhs-aln-002.cisco.com (173.37.135.119) by xhs-aln-003.cisco.com (173.37.135.120) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Fri, 27 Mar 2020 16:43:07 -0500
Received: from NAM12-DM6-obe.outbound.protection.outlook.com (173.37.151.57) by xhs-aln-002.cisco.com (173.37.135.119) with Microsoft SMTP Server (TLS) id 15.0.1497.2 via Frontend Transport; Fri, 27 Mar 2020 16:43:07 -0500
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=jY3AIrdADKPTBwjcydpq2bMpWQ6nrAOcOhAgA0LGG5QEEwS0tGkFyG8SxzkccV/HTh/jy6tVRKUVvs6wWZ/qK72jxkw6Ir4K5ScxTT8DYeG6khU3ux8mJcZwAbH5vL4XDbaWM0ion3F4WRNgR/WcrqcrrWHUAzmxGRlOzUWBMPyPtna67CQFo2wQXhk7SkCVAVhG8RGYFr/m7EKKJ9E23rrCCeiS5aLdMBc0RpMiLZ1mQY6HJznl9fsyQrEQbESABmrGP/UBCxqlvrL5dS806k8BBXlYZCihjDGHNxil8ATMPyoXR0fnB/bUQ0Lv9oXY+EIW1usETfhalNd2JOy/HQ==
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=wFyNX5epSfCThjn52gArKr59MKfhiwVGSPR8nn96emc=; b=ZmwAPpGzSLVU4n2bAa5qOSrTbTakmdaiogEsd+JrgB5/andqiraUwwLjtVfefOQrVyrvq0ljG0LQjp56FIxOBBHYpzF5eu7TOUg2arXMyk8IKMr15Xg1F0TgCOrKyb2tKNxDaBZ9QGiww/7B175pVHAeKYUaCcjaST1llZLPn5S7vdavUaHaON6ZiIiQhzPb4iothIaizWlc9M8kBX6RN3HJ+ETRQ9G2G9T8t1sxwQ8eoo/l4ZtZmOpaf0UcCtNZmOMdCdXcw1/E2Iw1zSlGK5YcfsJL0M9bQYr73p4XTxJjtQ7zH8R0PUgbKpY8iDKO3L1bPJZP43N6N42sLfkb7A==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=cisco.com; dmarc=pass action=none header.from=cisco.com; dkim=pass header.d=cisco.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cisco.onmicrosoft.com; s=selector2-cisco-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=wFyNX5epSfCThjn52gArKr59MKfhiwVGSPR8nn96emc=; b=reNfflZ5Yj8nlcxA6QjEXGOdUydvWjCTQ0ch8X561wLaywgPZkpNObUA77PccrLW96TFFm28ysUO5bxP2FWrR2ydCM3ZpdUks6osHfZJLJYs0pa0+Pe8LyggZO1cDIsqzH4i6D7u7gJbHvTQ21bxk7s5vSeAzFkscxBgmur0nTQ=
Received: from DM6PR11MB3420.namprd11.prod.outlook.com (2603:10b6:5:69::31) by DM6PR11MB3418.namprd11.prod.outlook.com (2603:10b6:5:6e::24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2856.19; Fri, 27 Mar 2020 21:43:06 +0000
Received: from DM6PR11MB3420.namprd11.prod.outlook.com ([fe80::91cb:6555:db9b:53fa]) by DM6PR11MB3420.namprd11.prod.outlook.com ([fe80::91cb:6555:db9b:53fa%7]) with mapi id 15.20.2856.019; Fri, 27 Mar 2020 21:43:06 +0000
From: "Reshad Rahman (rrahman)" <rrahman@cisco.com>
To: Martin Björklund <mbj+ietf@4668.se>, "netmod@ietf.org" <netmod@ietf.org>
Thread-Topic: bool v/s empty for new leafs deprecated-nodes and obsolete-nodes (WAS Re: mbj review of draft-verdt-netmod-yang-module-versioning-01)
Thread-Index: AQHWBICygG/yhAa3/UqTvuM9l6sDWQ==
Date: Fri, 27 Mar 2020 21:43:05 +0000
Message-ID: <4DF9A6D1-D2BF-4CE8-A9D3-035E93DE1EA4@cisco.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
user-agent: Microsoft-MacOutlook/10.21.0.200113
authentication-results: spf=none (sender IP is ) smtp.mailfrom=rrahman@cisco.com;
x-originating-ip: [70.31.50.95]
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 4608fea3-6232-426f-c0a9-08d7d297d5a1
x-ms-traffictypediagnostic: DM6PR11MB3418:
x-microsoft-antispam-prvs: <DM6PR11MB341859261034E2E79ADBC063ABCC0@DM6PR11MB3418.namprd11.prod.outlook.com>
x-ms-oob-tlc-oobclassifiers: OLM:8882;
x-forefront-prvs: 0355F3A3AE
x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(4636009)(366004)(39860400002)(136003)(396003)(376002)(346002)(26005)(5660300002)(6486002)(110136005)(966005)(71200400001)(2616005)(66574012)(53546011)(33656002)(6512007)(2906002)(6506007)(86362001)(81156014)(66946007)(91956017)(8676002)(81166006)(76116006)(66476007)(64756008)(66556008)(8936002)(316002)(478600001)(186003)(36756003)(66446008); DIR:OUT; SFP:1101; SCL:1; SRVR:DM6PR11MB3418; H:DM6PR11MB3420.namprd11.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords;
received-spf: None (protection.outlook.com: cisco.com does not designate permitted sender hosts)
x-ms-exchange-senderadcheck: 1
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: TLXJHSHwR3cL4sCWuiRg1VM/nAtz+jZ5cOMv3sQqFDppf0xClIc+nFMXOOq3onZ963SE5KPPujkts2TKTkWjYxdR6GzU8c4G4UPsvIkmVOq50X7MK8CfQVT0M02jJVmyCab0EG5B/9bBcy9+9bQfCty3O8nlf/P/89HTmPdQNMyh94j5fscy7H+Wid1It2wsuZZZaPG/cK4+JVzxV9904H6a2yDdzpF62eHJKr4PvfgKIL7srmp0vzJDN76zMptr6lW7ijJ2DnnaZBjyOkkj8NHEKXkheBkN/gGgGWWLUl8OdcsxArmsn9762H3xbpLTENh0fjW76gL1gW9lf7iWXq8bq/i3Yc4rTs1iJHP+LboDoDcyn81zm85RbnnexGlyLaXduz9WyNYL8pHzpfci4zbTNiHHu4SXihrBY48aD1qLyIqRCnhmH6FTcuwn38lLQB8x/iUbUMpVhQTud4N3692F864ZsaaNDTiqxh+bND9WspLpza3EyyHnGKBE8VdG1H7go8GRz0oa6lUhR17JvA==
x-ms-exchange-antispam-messagedata: 2lfV1eBcP2s5inhww1wR00S4+DEr4IqKiXav69egRv6gXl7oxahkE4+xJdw52NINiqCgEO4dwI3hX8zDeePXT3FaGeUE8H2W31WF6woIvzpacIGPDBNnrIffQIk0o9sDZUxL5Df23dN54Zzm9McMkg==
x-ms-exchange-transport-forked: True
Content-Type: text/plain; charset="utf-8"
Content-ID: <0E7245DFD734BE4F9231FCF78B987F47@namprd11.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-CrossTenant-Network-Message-Id: 4608fea3-6232-426f-c0a9-08d7d297d5a1
X-MS-Exchange-CrossTenant-originalarrivaltime: 27 Mar 2020 21:43:05.7729 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 5ae1af62-9505-4097-a69a-c1553ef7840e
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: Ulc1CCahvRA2PRCAeWXnkyOUE1a7LT3GKQZ9/StCjsSyKi6pCAe7nne/03AwVwchfevS7WC0LthcvJkyfPgPHQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR11MB3418
X-OriginatorOrg: cisco.com
X-Outbound-SMTP-Client: 173.37.102.13, xch-rcd-003.cisco.com
X-Outbound-Node: rcdn-core-6.cisco.com
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/9FRzgYqVZiWZUEuKdKIAVe9VpgM>
Subject: [netmod] bool v/s empty for new leafs deprecated-nodes and obsolete-nodes (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: Fri, 27 Mar 2020 21:43:16 -0000

Hi,

https://github.com/netmod-wg/yang-ver-dt/issues/52

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

The bool v/s empty philosophical battle. I'm ok with boolean, I don't know if others have strong opinions on this.
If we go with boolean, if the leaf nodes are absent then the behaviour would be unspecified.

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