[netmod] review of draft-ietf-netmod-schema-mount-08

Kent Watsen <kwatsen@juniper.net> Thu, 02 November 2017 21:04 UTC

Return-Path: <kwatsen@juniper.net>
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 CFA8E13F974 for <netmod@ietfa.amsl.com>; Thu, 2 Nov 2017 14:04:42 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.021
X-Spam-Level:
X-Spam-Status: No, score=-2.021 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=juniper.net
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 fm5c5_uTaY2d for <netmod@ietfa.amsl.com>; Thu, 2 Nov 2017 14:04:41 -0700 (PDT)
Received: from NAM02-SN1-obe.outbound.protection.outlook.com (mail-sn1nam02on0094.outbound.protection.outlook.com [104.47.36.94]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 12CC313F986 for <netmod@ietf.org>; Thu, 2 Nov 2017 14:04:31 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=juniper.net; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=mOp8k1t7iLl227a0+wUpyQn3+CNqdNCkIb6tHJmULTE=; b=MoUyfEXvX2V9M4qLuurOT000oDJJPL/EKTwBctcaFQtNt8fb6XyqfyZFnIm/nINLM26Xiz1TI8wbws9tUAFk55JArXsJu/nPwY3zHeytKU3Y0MgjQ4tIP8WpiPGvNosw71cpAvrpyOu71itvFp45TZt29qtV1ywpF1dy49RpHRA=
Received: from BLUPR05MB275.namprd05.prod.outlook.com (10.141.22.149) by BLUPR05MB273.namprd05.prod.outlook.com (10.141.22.147) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.20.218.6; Thu, 2 Nov 2017 21:04:29 +0000
Received: from BLUPR05MB275.namprd05.prod.outlook.com ([10.141.22.149]) by BLUPR05MB275.namprd05.prod.outlook.com ([10.141.22.149]) with mapi id 15.20.0197.013; Thu, 2 Nov 2017 21:04:29 +0000
From: Kent Watsen <kwatsen@juniper.net>
To: "netmod@ietf.org" <netmod@ietf.org>
Thread-Topic: review of draft-ietf-netmod-schema-mount-08
Thread-Index: AQHTVB4smPzO0RNFj02ycL7IpPSiYg==
Date: Thu, 02 Nov 2017 21:04:29 +0000
Message-ID: <F8D5C6D5-1665-43B0-88B6-11381BBFCBB9@juniper.net>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
user-agent: Microsoft-MacOutlook/f.20.0.170309
x-originating-ip: [66.129.241.10]
x-ms-publictraffictype: Email
x-microsoft-exchange-diagnostics: 1; BLUPR05MB273; 6:PptPqM1gnp2QZTt2nlQc/tsXFquKhzqrrEGksRgQBoagMK6uJIzckmMz/bD6UzzLlZzKDOrHlXnNMvKwQh75LfjMOaA5fdu6AmW22M7pU5ubZMjWr+ssOS+Qh9ucgbldVZjv31V8H76lupzgNeSEQvMrsZcgcCZ669LUydF3ejm7KgDSY1cz1VDUBYd2pjEgBnrf8G5cL4oqrakOD5RtqgYoLYtwS6PRtNdgLmko6zhGrlpKSDjf5x1IWZBwqlGW7HstrjWxP7832x91UIs3toVCWSUS+oKxMlAw2RsUd4QpkM4tTfClhQsTt/t5BmC4xtt18wtqjIzKobESUjyN5XFUlLsdjjEMsG98FMM8+/k=; 5:J2hHso+wc03GKJ5Vpgds5WYXi+w4YlJ5prBnkRsG8eOZR/OFCWQIeIlUP4fm3PydAO/4FekTPfq+dN1LaLqfkz3A6F9OLliyXHLKvxOLpKUR3wzXhq/RfRXROmkx41U+vA8NbJ+dn4beGYk89TaXQ1l7h86FWooJ12lDV9QBO6I=; 24:MzIw0sqYBhqiQk2dBwmQb8UyRZ2JZi4Z435DDaNNIaOQDnywbZCvVDG4mnXvKAjQDxiodayp9uueuyjsI1GNjiUfFGZR7X63KhK8OTV/k4k=; 7:8tL3iRt8bTiSqvTS4mViPmhxBMEf9OiYjnbjHJKiC/Q+6/W0V2rw7H8nhPrZKA+EO/Kst/eHAJn5kOxpRIIJqgdzzOV7/g2dcsYuvHnsWbqcHjdTZOpBF5O8V8yHNxtV/st0v47kt8XNzFpCN5/V5WbqJK9B5p4xez2vi5SH7gE7VKb4wPr8ChTqIdb4P3T1pGLlGuM72eWNi5i+l8GBzpCYjs6GD8A4JrIEgZNbrCfXKwGXxg9XwZaDV8ZCCB8d
x-ms-exchange-antispam-srfa-diagnostics: SSOS;
x-ms-office365-filtering-correlation-id: 4e44526d-c791-4410-d117-08d522354ebb
x-ms-office365-filtering-ht: Tenant
x-microsoft-antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001)(48565401081)(4534020)(4602075)(4627115)(201703031133081)(201702281549075)(2017052603238); SRVR:BLUPR05MB273;
x-ms-traffictypediagnostic: BLUPR05MB273:
authentication-results: spf=none (sender IP is ) smtp.mailfrom=kwatsen@juniper.net;
x-exchange-antispam-report-test: UriScan:(192374486261705)(788757137089)(17755550239193);
x-microsoft-antispam-prvs: <BLUPR05MB273B978A01B47B12E32040EA55C0@BLUPR05MB273.namprd05.prod.outlook.com>
x-exchange-antispam-report-cfa-test: BCL:0; PCL:0; RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(2401047)(5005006)(8121501046)(10201501046)(3002001)(93006095)(93001095)(100000703101)(100105400095)(3231020)(6055026)(6041248)(20161123564025)(20161123558100)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123555025)(20161123560025)(20161123562025)(6072148)(201708071742011)(100000704101)(100105200095)(100000705101)(100105500095); SRVR:BLUPR05MB273; BCL:0; PCL:0; RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095); SRVR:BLUPR05MB273;
x-forefront-prvs: 047999FF16
x-forefront-antispam-report: SFV:NSPM; SFS:(10019020)(6009001)(39860400002)(376002)(346002)(199003)(189002)(43784003)(81166006)(1730700003)(81156014)(8676002)(106356001)(83506002)(6116002)(3846002)(102836003)(33656002)(8936002)(105586002)(25786009)(68736007)(2351001)(54356999)(50986999)(83716003)(101416001)(58126008)(2900100001)(36756003)(305945005)(6916009)(189998001)(316002)(82746002)(7736002)(2501003)(230783001)(2906002)(6512007)(6506006)(66066001)(3280700002)(6486002)(77096006)(478600001)(86362001)(97736004)(99286004)(53936002)(5640700003)(5660300001)(14454004)(6436002)(3660700001); DIR:OUT; SFP:1102; SCL:1; SRVR:BLUPR05MB273; H:BLUPR05MB275.namprd05.prod.outlook.com; FPR:; SPF:None; PTR:InfoNoRecords; A:1; MX:1; LANG:en;
received-spf: None (protection.outlook.com: juniper.net does not designate permitted sender hosts)
spamdiagnosticoutput: 1:99
spamdiagnosticmetadata: NSPM
Content-Type: text/plain; charset="utf-8"
Content-ID: <D94880B065B33B4CBFCA7F9DBFD0F7B8@namprd05.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: juniper.net
X-MS-Exchange-CrossTenant-Network-Message-Id: 4e44526d-c791-4410-d117-08d522354ebb
X-MS-Exchange-CrossTenant-originalarrivaltime: 02 Nov 2017 21:04:29.1710 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: bea78b3c-4cdb-4130-854a-1d193232e5f4
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BLUPR05MB273
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/FTqFyT_YsUCB0wfWy07Q5zzn-Zk>
Subject: [netmod] review of draft-ietf-netmod-schema-mount-08
X-BeenThere: netmod@ietf.org
X-Mailman-Version: 2.1.22
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: Thu, 02 Nov 2017 21:04:43 -0000

Hi,

I have read this document and think that is almost ready for 
publication.  I have five discuss items and a bunch of nits.

Kent // contributor


1. From Section 4:

   Routing configuration inside an NI often needs to refer to interfaces (at
   least those that are assigned to the NI), which is impossible unless such
   a reference can point to a node in the parent schema (interface name).

This seems overstated.  Rather it is a result of an earlier design decision.
An alternate solution might have exported the global interfaces into a 
config false list inside the mount jail.   Was such a solution discussed?

	
2. Also from Section 4:

   For every schema mounted using the "use-schema" method, it is possible 
   to specify a leaf-list named "parent-reference" that contains zero or more
   XPath 1.0 expressions.  Each expression is evaluated with the node in the
   parent data tree where the mount point is defined as the context node.  

If you can nested-mounts, can you also have nested parent-references?


3. Also from Section 4 (same paragraph):

   For the purposes of
   evaluating XPath expressions within the mounted data tree, the union
   of all such nodesets is added to the accessible data tree.

Could this ever result in name collision?


4. Regarding Security Considerations, what about /yangmnt:schema-mounts?
Also, should how NACM interacts with mounted instance data be specified?


5. This document does not say anything about how it relates to NMDA.  Clearly all this is targeted to the conventional datastores, but how is it reflected in e.g., <operational>?  Does anything need to be said here?
What if the mounted schema has deviations in <operational>.


Nits (line-break separated):

Is "other optional choices" being vague on purpose?  Should it just call out features and deviations?

"the YANG library data" seems odd.  Maybe "the instance of the YANG Library module"?

- document, and could be possibly dealt with in a future revision of the YANG data modeling language
+ document, as it needs to be dealt with as an update to the YANG data modeling language

- Schema mount applies to the data model
+ Schema mount regards the data model  

- This document allows mounting of complete data models only.
+ This document allows mounting of complete modules only.

- may extend this model by defining
+ may extend this solution by defining

In S3, replace "YANG 1.1" with "YANG 1.1 and its continuances"?

- A "container" or "list" node
+ A 'container' or 'list' node
	
- of "container" and "list" statements.
+ of the "container" and "list" statements.

- Mounted schemas for all mount points
+ The schema for all mount points

- in the "yangmnt:schema-mounts" container.
+ in the top-level "yangmnt:schema-mounts" container defined in the "ietf-yang-schema-mount" module defined in [Section 8].

 The "refers through its key" part is not clear - are you talking about the mount-point's argument/label?

I don't understand "above those that are defined in the parent schema."  - mostly the word "above" is throwing me…

- If multiple mount points with the same name
+ If multiple mount points with the same label    (wasn't it called a "label" before?)

Regarding "Note, that in this case a mount point", beyond the missing comma, an example would be very helpful.  I don't know if I understand it right.

In the YANG itself, "State data nodes" didn't parse well, "Protocol accessible nodes" instead?

Regarding the first paragraph in Appendix A, I took me some time to realize that the rtgwg-device-model included 
ietf-network-instance and that those modules define mount-points and where.   Please make this easier for first-time readers.

In A1, is ietf-network-instance missing?  - might want to double-check all

In all the examples, but beginning with A2, it might help to show the RESTSCONF protocol operation that illustrates the result, so that it's clear where in the data model the particular instance is located.  Anything that can be done to provide more context would be helpful.

For the 2nd half of A2, what happens if there is an "lne-2", will it also get "eth0"?

- which should include at least
+ which should include at least an instance of ietf-yang-library:modules-state and ietf-interfaces:interfaces-state, as follows: 


Thanks again,
Kent