[netmod] Grammar for new extensions (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 6CE6A3A0C9C for <netmod@ietfa.amsl.com>; Fri, 27 Mar 2020 14:43:45 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -9.598
X-Spam-Level:
X-Spam-Status: No, score=-9.598 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_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=TUK8KIHS; dkim=pass (1024-bit key) header.d=cisco.onmicrosoft.com header.b=QmyEFuLX
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 hlpk5PQMt1g1 for <netmod@ietfa.amsl.com>; Fri, 27 Mar 2020 14:43:43 -0700 (PDT)
Received: from rcdn-iport-7.cisco.com (rcdn-iport-7.cisco.com [173.37.86.78]) (using TLSv1.2 with cipher DHE-RSA-SEED-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id CC6083A0CD3 for <netmod@ietf.org>; Fri, 27 Mar 2020 14:43:42 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=cisco.com; i=@cisco.com; l=9686; q=dns/txt; s=iport; t=1585345422; x=1586555022; h=from:to:subject:date:message-id:content-id: content-transfer-encoding:mime-version; bh=A9pdiAlbkD0YmdTiQxb0V0zhEgc7lRUpAGe6JNEpIzg=; b=TUK8KIHSxLkBTMCtEYNLMfaQH8kRFh22aniqU72saQB8CqzUqSZlg4HT onIaPEGTbXBWJDlWQn9H0hT57cq16pCXL1zXHQmh8X2SzjLEcuBL8aGQV O7F0aMPD1ypC+J7O7Ray8ynunbLD0i9BbPWwrNRsNlci9QywNGL0Ir7wP s=;
IronPort-PHdr: 9a23:ERegchCS/wg5m6IPPfUwUyQJPHJ1sqjoPgMT9pssgq5PdaLm5Zn5IUjD/qs13kTRU9Dd7PRJw6rNvqbsVHZIwK7JsWtKMfkuHwQAld1QmgUhBMCfDkiuNuTjbykzGuxJVURu+DewNk0GUMs=
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: A0AtCgDGcn5e/51dJa1mHQEBAQkBEQUFAYF7gVRQBWxYIAQLKgqEEINFA4ppTpowgUKBEANUCgEBAQwBARgNCAIEAQGDf0UZghokOBMCAwEBCwEBBQEBAQIBBQRthVYMhXMFARAREQwBASwMEQEiAiYCBCULFRIEARIigwQBgksDLgEOohkCgTmIYnWBMoJ/AQEFhSYYggwDBoEOKowxGoFBP4ERJyCDC4JnAQECARmBLzEhAoJYMoIsjX0BA4J3hh2ZTAqCPASHW48tHYJMlEaEV48UgVCHQpJoAgQCBAUCDgEBBYFpIiqBLnAVOyoBgkFQGA2OHTiDO4UUhUF0AgEPgReMYQGBDwEB
X-IronPort-AV: E=Sophos;i="5.72,313,1580774400"; d="scan'208";a="738154599"
Received: from rcdn-core-6.cisco.com ([173.37.93.157]) by rcdn-iport-7.cisco.com with ESMTP/TLS/DHE-RSA-SEED-SHA; 27 Mar 2020 21:43:41 +0000
Received: from XCH-ALN-003.cisco.com (xch-aln-003.cisco.com [173.36.7.13]) by rcdn-core-6.cisco.com (8.15.2/8.15.2) with ESMTPS id 02RLhfhn009423 (version=TLSv1.2 cipher=AES256-SHA bits=256 verify=FAIL); Fri, 27 Mar 2020 21:43:41 GMT
Received: from xhs-aln-003.cisco.com (173.37.135.120) by XCH-ALN-003.cisco.com (173.36.7.13) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Fri, 27 Mar 2020 16:43:41 -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:43:41 -0500
Received: from NAM12-DM6-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:43:41 -0400
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=MFxvlD9RELAHa9wgOMO6oZEp3U0rUbKK9bjkq6owNe88ZDNk7svp19IbiQR0hMBB5f0+SIRj2m/BPKrgnvRlL75nSvR0dYvxVk1jc9NiuLSphSJcJHflNdbbA72nQPnjsR7ZQEbt6s248eqsi1UlcHcHwAQY88RJGcJbJ/CAqAvWB4X1+z3Vlf01jB0NRVMCDTqVW1G4B3WAZGATMyvziUHzC4T98Fkj5oaEC1nAovbJjjoCg3kl8qOGLJalXfkzAvCNh1eiFI9aP03muwm9cBHRoPiaoX+6RDKc8+UvZdh0dTmzqKlyKNhLivSgQWaYBJyfy+saOeMFXDB8XI+EjA==
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=A9pdiAlbkD0YmdTiQxb0V0zhEgc7lRUpAGe6JNEpIzg=; b=E7TnHtpxDe0luaFMdWa6JL7Gi4xSRq8SQgN8Il+LBWZQZT4yMo/PFjVNlNEfb7qVNpz++kEk5fZydRdVuECN7qUkmO+NZADOHRZ7Sc5qoZNooT3gvcrYXUBKpt9yDkEBO0NeQ2SKV+4rk4vS/wDrOSE5qQ8JfVOBEU0uWXWZYGVhXzmRCuOamY6Fk/L7i/idli+AKkO3Tlj18Y/c1X+A+i1BXu29Np7YNpCgasgQzHCTBkeuORYyq/SGCjsu5kTN6x91pv9MBRlCVMBCatvJCGFFMZu5WqFehHAV5pFtZlQgE+q7WeuQIiYh31J1XsT7XlFldSYCNM3djJDsKo3qTg==
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=A9pdiAlbkD0YmdTiQxb0V0zhEgc7lRUpAGe6JNEpIzg=; b=QmyEFuLXBsDegPXalW3v71NHUEyaxSuTKAD7mVCroUCyvfpLDik6yEsjxhIRFr5/BSOoAP7o8n0qQhzB2fYGcgkQmVczLLBHiH/7+3NtpnNVWtp/5Ru2xx2+9Q6xkGW8eQamJLf70+qWA5qUvjRaqUVdvNzhjmwSns/pe5VDFOg=
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:40 +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:40 +0000
From: "Reshad Rahman (rrahman)" <rrahman@cisco.com>
To: Martin Björklund <mbj+ietf@4668.se>, "netmod@ietf.org" <netmod@ietf.org>
Thread-Topic: Grammar for new extensions (WAS Re: mbj review of draft-verdt-netmod-yang-module-versioning-01)
Thread-Index: AQHWBIDHEgiXQNUYMUiy9DN/DaW7Lw==
Date: Fri, 27 Mar 2020 21:43:40 +0000
Message-ID: <5444B666-414A-418C-B580-A1D4F63B58F3@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: 2b825fdb-2700-41de-aed1-08d7d297e9fd
x-ms-traffictypediagnostic: DM6PR11MB3418:
x-microsoft-antispam-prvs: <DM6PR11MB3418E9DF1514D841F60163C0ABCC0@DM6PR11MB3418.namprd11.prod.outlook.com>
x-ms-oob-tlc-oobclassifiers: OLM:7219;
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: Z9fgxLdtjAwiISsCH+z6I723UYu9X+hOQIogeGKBtu6Mv2aTxDETQsDRl1yAGZ6ac+yhYDy7VboS5uYISxb9tdttej64efLbJeewfvZpq9yiGm87q/5IaXhjXKQakGSxy9G0rgtD7fcelSrTBBZ6H2xPpNhP6W1+SUmuNMuA/FGQi323hKT2Qlawee1H8abca+eTw8eRgsnjvOzXfFD/jl7tgLGTyR+1q881hPGNUjXYp6LCVJEAdA2R3SwPsaPFiDPEMqpljQNtfF2VHl+9ilS/v8a1UZ/8gn3+tLitZNYYxQvW8S0hgBtLWb8iak29wu2yyvo5H1vGzJa4UcCu7YqkWbuvoooxeThy7xgYRugJ5/EHmRG/jl3dH/ulr5QWmIw0MTRQ01k0gHfmAlgnIeMfe11bRvRRnfsHTNkRjdbCbsdnjqUib8j8tF0DpdDYBeCrJVp1TZelxX23cdzFVilunbKZg6rimeijuXNn3vwvHMFqNZX77BysaKBzENVIOoT1RS4iMqwWczQULHpBRA==
x-ms-exchange-antispam-messagedata: P/IFV8P48m0E+zpnc5/T8+4FcOciNVatlrRJj1AiASkQ+yLBoemM5C5EL2dUgMNoWOhNdBxLb9JdCCWs/n7OFrLFGcI9rnUSHv9lvpXZolqTxAazA/2tqKZgFl1C03KeKyRBHWiwJVbQ4xRUwhV32g==
x-ms-exchange-transport-forked: True
Content-Type: text/plain; charset="utf-8"
Content-ID: <49946AFA3938E74BA96BE1431040E4E6@namprd11.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-CrossTenant-Network-Message-Id: 2b825fdb-2700-41de-aed1-08d7d297e9fd
X-MS-Exchange-CrossTenant-originalarrivaltime: 27 Mar 2020 21:43:40.2616 (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: tSi7KGco35CYnltFCNQk4x071og3nSjxjsNfjAncVepy44EF3n6JoIw/gu4UW5KUtBTN91Tgub1efasaD85wqw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR11MB3418
X-OriginatorOrg: cisco.com
X-Outbound-SMTP-Client: 173.36.7.13, xch-aln-003.cisco.com
X-Outbound-Node: rcdn-core-6.cisco.com
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/13KSSionQ4GHWnvObp0ozJJXPj8>
Subject: [netmod] Grammar for new extensions (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:46 -0000

Hi,

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

        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.

Ack.

1st part (statements) is clear.

For substatements, isn't this specified in https://tools.ietf.org/html/rfc7950#section-7.19.1? Can you clarify if that's not what you're looking for?

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