[netmod] Interpreting revision labels as YANG semantic version numbers (WAS Re: mbj review of draft-verdt-netmod-yang-module-versioning-01)

"Reshad Rahman (rrahman)" <rrahman@cisco.com> Fri, 27 March 2020 21:42 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 02BBA3A0E2A for <netmod@ietfa.amsl.com>; Fri, 27 Mar 2020 14:42:19 -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=jGGwkpv6; dkim=pass (1024-bit key) header.d=cisco.onmicrosoft.com header.b=dZwItBhv
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 A5PyhQ79_79t for <netmod@ietfa.amsl.com>; Fri, 27 Mar 2020 14:42:16 -0700 (PDT)
Received: from alln-iport-7.cisco.com (alln-iport-7.cisco.com [173.37.142.94]) (using TLSv1.2 with cipher DHE-RSA-SEED-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 392A23A0D6B for <netmod@ietf.org>; Fri, 27 Mar 2020 14:42:06 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=cisco.com; i=@cisco.com; l=10100; q=dns/txt; s=iport; t=1585345326; x=1586554926; h=from:to:subject:date:message-id:content-id: content-transfer-encoding:mime-version; bh=J2hxSySSPROcRAiLzTn5gEIMaPWkLsXHsxoK4YdH+gc=; b=jGGwkpv6bAU096U9FTkbczx+Xh5GKwYIX1K1+Ct69ZW2TrrnzQwyH2Zf 6wHvRshQbf6ociMSJhZ+hrcizeWpqctVka+59YRLIMwuQjeLlrxZkSxfm ByZnueUefLVUuLbjM+dqJqRe1K9Fg7Sj8xdTQ9an9n+zxxmik8RaxC4MN A=;
IronPort-PHdr: =?us-ascii?q?9a23=3AFlugaRWSFnSD2N4wrdEqmlusslLV8LGuZFwc94?= =?us-ascii?q?YnhrRSc6+q45XlOgnF6O5wiEPSA92J8OpK3uzRta2oGXcN55qMqjgjSNRNTF?= =?us-ascii?q?dE7KdehAk8GIiAAEz/IuTtankgBs1CUVZj13q6KkNSXs35Yg6arw=3D=3D?=
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: =?us-ascii?q?A0AwCgDGcn5e/5BdJa1mHQEBAQkBEQU?= =?us-ascii?q?FAYF7gVRQBWxYIAQLKgqEEINFA4ppToFsmESBQoEQA1QKAQEBDAEBGA0IAgQ?= =?us-ascii?q?BAYN/RRmCGiQ4EwIDAQELAQEFAQEBAgEFBG2FVgyFcwUBEBERDAEBLAwRASI?= =?us-ascii?q?CHwcCBCULFRIEARIigwQBgksDLgEOohkCgTmIYnWBMoJ/AQEFhSYYggwDBoE?= =?us-ascii?q?OKowxGoFBP4ERJwwUgh9sgmcBAQIagS8xIQKCWDKCLI19AQOCd4YdmUwKgjy?= =?us-ascii?q?HX48tHYJMlEaEV48UgVCHQpJoAgQCBAUCDgEBBYFpIiqBLnAVOyoBgkFQGA2?= =?us-ascii?q?OHTiDO4UUhUF0AhCBF4xhAYEPAQE?=
X-IronPort-AV: E=Sophos;i="5.72,313,1580774400"; d="scan'208";a="454184329"
Received: from rcdn-core-8.cisco.com ([173.37.93.144]) by alln-iport-7.cisco.com with ESMTP/TLS/DHE-RSA-SEED-SHA; 27 Mar 2020 21:42:05 +0000
Received: from XCH-ALN-005.cisco.com (xch-aln-005.cisco.com [173.36.7.15]) by rcdn-core-8.cisco.com (8.15.2/8.15.2) with ESMTPS id 02RLg3ad018380 (version=TLSv1.2 cipher=AES256-SHA bits=256 verify=FAIL); Fri, 27 Mar 2020 21:42:04 GMT
Received: from xhs-aln-003.cisco.com (173.37.135.120) by XCH-ALN-005.cisco.com (173.36.7.15) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Fri, 27 Mar 2020 16:42:03 -0500
Received: from xhs-rtp-002.cisco.com (64.101.210.229) 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:42:02 -0500
Received: from NAM04-CO1-obe.outbound.protection.outlook.com (64.101.32.56) by xhs-rtp-002.cisco.com (64.101.210.229) with Microsoft SMTP Server (TLS) id 15.0.1497.2 via Frontend Transport; Fri, 27 Mar 2020 17:42:02 -0400
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=D9tqLSw7q+2R/8JSwxBQ4OCSsX4K8kBRzvzRr/oXWOMidiXg5U95ga69/MBlBITYSv+3IJGlpq+mXTdvcFwqz0g34Vxi9RNYURFoPkaFU6g5cmqQ2k5xfB+g4S0ux9nIU7PMKlqBV71Issslw5MKIqH2fMS2csso8Kexi3bMX1/2Qn+M9ANCiLXwY8Qgn4fShB/MOV2veSiQGUNF630UuyScsdyDwd6qdMQjewq58rWxoYyzRvNrqmqtoBgPxmDeQgEsckYebFkAyzxij7fSE0WOHY+T+rFtcOH7+yEsLXRKxMtduGFsEw8Bw85gZIKCAzc0zHSW5h04nnS84JXzvQ==
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=J2hxSySSPROcRAiLzTn5gEIMaPWkLsXHsxoK4YdH+gc=; b=MaMeeLqLTOhTmfLRz6oMoIl5gJAxBOxt/ELsjFLIrz0HMoSij1hQQp7FERNwZ7m24tGcGDQWKq+ir6k2OfxpkWrjwTDiuZnCq289aAg9V7XVtrKs1UCQHJ9Xa7clm/bDyKgkLCbJtcrn6GPNJ2AhkDw+SfXPW7JRBJMVfzIitpxwdRYhjImgE1o+15eNQuujA2MNzWaZP0tkrUCyNhemVgHyO+CBHR4I72fUL97giS5nKxUszSUJZLF9eESHoJL6ZNFFBahA2hNPJ0WoJttHbTXTIzsz1cjQELD056k6FAX7ia0DTCv01yyaGzPc+r3W5g1I7Dma9XqYOc428KhCpA==
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=J2hxSySSPROcRAiLzTn5gEIMaPWkLsXHsxoK4YdH+gc=; b=dZwItBhvu0gaMOsj0XOgNf+/ak39s7VStjdYS7PKcviefLYiIO3nYBXp5xYL1QJWELVHQk2sCBp0KXb5egAdg+nS9nP8WyW2agEcgzt391ZoaZlPNWm6Kdsu85bn6n9wzXeXQRAam5cCcBLn8ZQlaK4I8pxBOmPdBIas8ec+H6Q=
Received: from DM6PR11MB3420.namprd11.prod.outlook.com (2603:10b6:5:69::31) by DM6PR11MB4188.namprd11.prod.outlook.com (2603:10b6:5:198::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2856.18; Fri, 27 Mar 2020 21:42:01 +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:42:01 +0000
From: "Reshad Rahman (rrahman)" <rrahman@cisco.com>
To: =?utf-8?B?TWFydGluIEJqw7Zya2x1bmQ=?= <mbj+ietf@4668.se>, "netmod@ietf.org" <netmod@ietf.org>
Thread-Topic: Interpreting revision labels as YANG semantic version numbers (WAS Re: mbj review of draft-verdt-netmod-yang-module-versioning-01)
Thread-Index: AQHWBICMPhyOuIankUOKOh/ltJoXWQ==
Date: Fri, 27 Mar 2020 21:42:01 +0000
Message-ID: <90544C2C-2C62-4453-B220-42FB49A15425@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: 7052deff-3d5d-4603-a912-08d7d297af1a
x-ms-traffictypediagnostic: DM6PR11MB4188:
x-microsoft-antispam-prvs: <DM6PR11MB41882091F8DB775BF34A1954ABCC0@DM6PR11MB4188.namprd11.prod.outlook.com>
x-ms-oob-tlc-oobclassifiers: OLM:8882;
x-forefront-prvs: 0355F3A3AE
x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(4636009)(346002)(366004)(39860400002)(136003)(396003)(376002)(2906002)(86362001)(33656002)(8936002)(66556008)(64756008)(66446008)(66946007)(66476007)(8676002)(81156014)(5660300002)(53546011)(966005)(36756003)(6506007)(6512007)(76116006)(91956017)(71200400001)(316002)(2616005)(186003)(26005)(110136005)(81166006)(478600001)(66574012)(6486002); DIR:OUT; SFP:1101; SCL:1; SRVR:DM6PR11MB4188; 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: JX16Pdn60KlXLg67FJtoUGkfhYkHuioYviaa4KZnLyirIq7MhP31p5Mp1aW0UTrQLAbLm0sbYumA40abU95yKQUp/SYYjrRSg0/RObcrZ0B5PpsOJrYlXHhGGyOhIWvG9gmHMWs5rqHodg09zznpBFfktIMd/Jfd9XRGhClxFriNrWv3lKvIYPW3+WR/gB/xaMMWMGBjqGHBLNPZ1roFe6qCzcW6A4pUxUsA7nmajUynNfni+zKtPnKEOW5oq9iXIzlwq8QEshDBCF3bG/Nb390n1U8VKJiRBNvw7Z7xo0+Bv5HnDFNAULB3BuazbPbPzKsNdp0l5rpqGVUIqRh+RYYTu/m/RKVOGRBnLvSZ6+2z7eVSMsYQkBmQbrA3d3POXrenO2qCAYvCz56MGzr8sCSCzzHEDy43P11C/0DVu98GHHpsaDzvWF6OoDV5CwvUObL6v6+isXbNkw+n0mJLSQGgZO36dZiP3MOv90033XXZpt1aOfD896Un5NfjVcqmA+vf86yaSz4laxbqeEFnyw==
x-ms-exchange-antispam-messagedata: jINLEaPXJ7g6d56Kqj+tvsMaWLWohxFSZzY/vSBXgKpoKZ9kY6/Th+oWWoMMVa/YVPm4VpCUDqpOULzrNF9Y/2Q2DMyIV4C8ESQelwq2NLQnDaZoh108hTryDSbKNGUESGi2BUurCIVJmGUigL1tzA==
x-ms-exchange-transport-forked: True
Content-Type: text/plain; charset="utf-8"
Content-ID: <7DDC03E859F8234F8B42D91B5E67DE54@namprd11.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-CrossTenant-Network-Message-Id: 7052deff-3d5d-4603-a912-08d7d297af1a
X-MS-Exchange-CrossTenant-originalarrivaltime: 27 Mar 2020 21:42:01.4579 (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: nQ2J3E76q6J//L4lcf+pg+8VMT2/58gknWdXZ594heJzTLASH55/ppo5Kb1sHwnNr5c9ls4wjYk9cYpPeYtvPQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR11MB4188
X-OriginatorOrg: cisco.com
X-Outbound-SMTP-Client: 173.36.7.15, xch-aln-005.cisco.com
X-Outbound-Node: rcdn-core-8.cisco.com
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/ZsDmCGzM_RZQZT_Q_dPOl3vkYRc>
Subject: [netmod] Interpreting revision labels as YANG semantic version numbers (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:42:21 -0000

Hi,

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

        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.

Without this, applications cannot know what versioning scheme is being used, or they have to guess, or the module would need another statement to declare what versioning scheme is being used. Maybe we should go with the latter.

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