[netmod] All IETF YANG modules MUST include revision-label statements (WAS Re: mbj review of draft-verdt-netmod-yang-module-versioning-01)

"Reshad Rahman (rrahman)" <rrahman@cisco.com> Fri, 27 March 2020 21:41 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 52C303A0CCE for <netmod@ietfa.amsl.com>; Fri, 27 Mar 2020 14:41:42 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -9.597
X-Spam-Level:
X-Spam-Status: No, score=-9.597 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, RCVD_IN_DNSWL_BLOCKED=0.001, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, 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=e31bFrsg; dkim=pass (1024-bit key) header.d=cisco.onmicrosoft.com header.b=l/vkAOO3
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 9Wm4sCWxNe-8 for <netmod@ietfa.amsl.com>; Fri, 27 Mar 2020 14:41:40 -0700 (PDT)
Received: from rcdn-iport-3.cisco.com (rcdn-iport-3.cisco.com [173.37.86.74]) (using TLSv1.2 with cipher DHE-RSA-SEED-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 1E3083A0C97 for <netmod@ietf.org>; Fri, 27 Mar 2020 14:41:40 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=cisco.com; i=@cisco.com; l=10370; q=dns/txt; s=iport; t=1585345300; x=1586554900; h=from:to:subject:date:message-id:content-id: content-transfer-encoding:mime-version; bh=JMyZz5eR+HGDoqFGqUR9V4BxmKOiFsGivK81fI70IXs=; b=e31bFrsgZHoQH5FfS6nJp3gdJEOqVTa4j+prjnUSlMaFjThCu8Bvsiy8 ++2LamLhnT22GnvSb7D7yL6Jxsbq+BsNpFANsqP0Dq2hjGghUFUGx5PPf L6XoifUPGvvjsUw+nteNcsge1V0KB8mqaEzbxb+NkXMTqUZSPUaDlcoOY I=;
IronPort-PHdr: 9a23:HKnGCxfVhodJOZLjXfvt/MnJlGMj4e+mNxMJ6pchl7NFe7ii+JKnJkHE+PFxlwGRD57D5adCjOzb++D7VGoM7IzJkUhKcYcEFnpnwd4TgxRmBceEDUPhK/u/dTYzHMFLUndu/mqwNg5eH8OtL1A=
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: A0AuCgDQcX5e/5hdJa1mHQEBAQkBEQUFAYF7gVRQBWxYIAQLKgqEEINFA4ppTpowgUKBEANUCgEBAQwBARgNCAIEAQGDf0UZghokOBMCAwEBCwEBBQEBAQIBBQRthVYMhXMFARAREQwBASwMEQEiAh8HAgQlCxUSBAESIoMEAYJLAy4BDqIfAoE5iGJ1gTKCfwEBBYUhGIIMAwaBDiqMMRqBQT+BEScggh9sgmcBAQIagS8xIQKCWDKCLI19AQOCd4YdmUwKgjyHX48tHYJMlEaEV48UgVCHQpJoAgQCBAUCDgEBBYFpIiqBLnAVOyoBgkFQGA2OHTiDO4UUhUF0AhCBF4xhAYEPAQE
X-IronPort-AV: E=Sophos;i="5.72,313,1580774400"; d="scan'208";a="731596758"
Received: from rcdn-core-1.cisco.com ([173.37.93.152]) by rcdn-iport-3.cisco.com with ESMTP/TLS/DHE-RSA-SEED-SHA; 27 Mar 2020 21:41:39 +0000
Received: from XCH-ALN-005.cisco.com (xch-aln-005.cisco.com [173.36.7.15]) by rcdn-core-1.cisco.com (8.15.2/8.15.2) with ESMTPS id 02RLfdrf014609 (version=TLSv1.2 cipher=AES256-SHA bits=256 verify=FAIL); Fri, 27 Mar 2020 21:41:39 GMT
Received: from xhs-rtp-001.cisco.com (64.101.210.228) 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:41:38 -0500
Received: from xhs-rtp-001.cisco.com (64.101.210.228) by xhs-rtp-001.cisco.com (64.101.210.228) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Fri, 27 Mar 2020 17:41:37 -0400
Received: from NAM04-CO1-obe.outbound.protection.outlook.com (64.101.32.56) by xhs-rtp-001.cisco.com (64.101.210.228) with Microsoft SMTP Server (TLS) id 15.0.1497.2 via Frontend Transport; Fri, 27 Mar 2020 17:41:37 -0400
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=G44+dPdSy/uD1rcBOsSyvFXbjzBui0jpzzELSFZK4thzP9sh2WyFmva4A3fcsfhJ353Pb1cKhYfOVYEGh3lc8jrR8lN/hHjNuink+LqYsyQ7/tS21nxJPdJB4twYfMjqTue94qcKQrhWkmTFmCZk3fnP+eDzsNTpfei1lYONFlmi7/aUTf42fTCunnUrIFnylXR3mQopfOHyCrg7hQK39DWdQKLmUwxOJZha6kjRzXFYaCGp5tABmBVWeA3TWH1ofaYxsvzGMwtKUjmo0cPPpxmrRIgPTZ9D6mZcLoR3KjuyM9HYUA10Jhjv5AoBJt1SQ138XN9Y7VEMzg22G07mVQ==
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=JMyZz5eR+HGDoqFGqUR9V4BxmKOiFsGivK81fI70IXs=; b=T46JSjMRRBZnbEtXUctvD1CmhpZ82u840xa2K1voHG5YtZQTghv/Smy8q9lIfiPFYcIk02QAu3hmBa4EB/oz7mUbnKlh1Iaq+zMRdkHJEZFwoCqUM2Rmi4eoP2elc1xn0IIIfJ5WE3VaQ1i+J1J86Tp6xO0L2v6y/zhXcyzwKdHy6XBvF172mfKlhCvhqWQMv58IjBwWNpMQhHoxLD/LVPLXvy6CsK5Hlzttoxyl1Z42AAX+oUYr3E2joHFC5nRGJ0+ItvfUjhkQsrzaixFp6W4V84LqMUGpTyNRCS4P8BKpUbD9unXUGewAGJ/FXJzkAX31QBsR3OukJWwUxeiENg==
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=JMyZz5eR+HGDoqFGqUR9V4BxmKOiFsGivK81fI70IXs=; b=l/vkAOO3Y4Ya2BxdL8xDhBp+rWwB9f15pYnIr/TcOL6Rzf5bZGZuHJjymCAYoW9+hqOkVzUPR9E2OCKz5YLdDSQG+1TkDdSAYLOpTTOIJlZAmi4Xtl338jVf/M690VhMJqg62UsoPGXv3BjptqIGtRxGUOqjVs6QYom3nHYv26g=
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:41:35 +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:41:35 +0000
From: "Reshad Rahman (rrahman)" <rrahman@cisco.com>
To: Martin Björklund <mbj+ietf@4668.se>, "netmod@ietf.org" <netmod@ietf.org>
Thread-Topic: All IETF YANG modules MUST include revision-label statements (WAS Re: mbj review of draft-verdt-netmod-yang-module-versioning-01)
Thread-Index: AQHWBIB9Ju7TN6W0dk6odtaIiTsrLg==
Date: Fri, 27 Mar 2020 21:41:35 +0000
Message-ID: <75CFDBD9-143C-407A-B7C3-26CEC51E229C@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: 268c97a1-8e6c-4a80-a444-08d7d2979fb9
x-ms-traffictypediagnostic: DM6PR11MB4188:
x-microsoft-antispam-prvs: <DM6PR11MB4188CDB3C269AE246932B4EFABCC0@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: nHgvOgqq2SeexO87LidMUTD0PTkn5KTAV3XStLOEfJxMS+JBYThhoVWN1324l2+BZKSMXB607oeuRB1nvX9o0r4w/Lau4PF1vpGp6HIjcxFD0lujNEnBZDv5vlrQk9UO0HTbj27/3umUki///jZ221gnX0HlWsV0qVXYVulZ/XjnREwiIISNQcZKPWK2lgV5XyftO6k7oCCNDxzi4Y5XkXGtU1RNJbG/CWVVVlVPrzGVUFDtxIAQVhcwfALp7s1WK/jdGJNx9bvgjcAegLNByPMWDUuiKqCTSBZ+DFVC6xRbF7EFfmuBwSHmuGLK7J/4I3WJjmcb5YhN8w5HZVpZRE6FpQXldLqk3VmDZ7dV8MxCzHm+jEUiJZXhMzi6+UN5VIQccCcbwXOapCtbIn+tsHTj41pTU8v0FXekl0eU1G3B1UOWypzG3DKFZF+p/rtQtzFH46DJa/UtoIg/lZNOIRWC/Z+ayofog3eppdYrINlsuD1TUszcmSazi3+lL/Qi5zRznhPYm9IUCC0hDCOYAw==
x-ms-exchange-antispam-messagedata: cr/gwyBBz0/SA/x+63wQxDKwx25PFCkmblIvKHgAipUvX0MK+hOTDj7ws47lCs4xAObPnq+EapFgmMFuNe+UZ/KaF5gwpEN1+GbY2fARQSSIC3jTbFzhGo1dH9VCpS7eGexsLHko3f5zsVV9lAZawQ==
x-ms-exchange-transport-forked: True
Content-Type: text/plain; charset="utf-8"
Content-ID: <E833B64B05DE0840904A3C21C0CDBBAF@namprd11.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-CrossTenant-Network-Message-Id: 268c97a1-8e6c-4a80-a444-08d7d2979fb9
X-MS-Exchange-CrossTenant-originalarrivaltime: 27 Mar 2020 21:41:35.6253 (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: aqcpWLcB6P+BG6+kbhFS4MGmziQqaEesN+sk4lgj2PAudKorc9a+KoQ1jOYkFxvVIDw4XxiM2cEyOPj8r6nJdQ==
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-1.cisco.com
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/R8grBkZtYSAk6hY4oyAFym8u0so>
Subject: [netmod] All IETF YANG modules MUST include revision-label statements (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:41:42 -0000

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.

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