[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
- [netmod] Grammar for new extensions (WAS Re: mbj … Reshad Rahman (rrahman)