Re: [netmod] WG Last Call: draft-ietf-netmod-revised-datastores-04

Phil Shafer <phil@juniper.net> Wed, 13 September 2017 22:58 UTC

Return-Path: <phil@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 ABDF3132025; Wed, 13 Sep 2017 15:58:45 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.02
X-Spam-Level:
X-Spam-Status: No, score=-2.02 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, URIBL_BLOCKED=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 qzEqMhpd2fvs; Wed, 13 Sep 2017 15:58:44 -0700 (PDT)
Received: from NAM03-BY2-obe.outbound.protection.outlook.com (mail-by2nam03on0115.outbound.protection.outlook.com [104.47.42.115]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 17325124205; Wed, 13 Sep 2017 15:58:44 -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=V4v6iTLSKV7LyjjC6Jo9IeuDgPW3Eufy3rU4k+MU3g0=; b=dkJ8CaN4jsIXV5JngNQqEsLprs0g6IdEVK9ds8NCW9n8MVfV8lF5HQfbzxpu5GS1TwkHiTK5Hdr8HpNThQSjej/2LqpRnfYQk2d0hPK/cxKf6IbTUlembjyabjogWVh95xhKdmlsbSJUN0ts4ujeAhkIKcu+BNI8tNlbTV30xEQ=
Received: from SN1PR05CA0002.namprd05.prod.outlook.com (10.163.68.140) by MWHPR05MB3616.namprd05.prod.outlook.com (10.174.251.14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.56.4; Wed, 13 Sep 2017 22:58:42 +0000
Received: from CO1NAM05FT040.eop-nam05.prod.protection.outlook.com (2a01:111:f400:7e50::204) by SN1PR05CA0002.outlook.office365.com (2a01:111:e400:5197::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.77.5 via Frontend Transport; Wed, 13 Sep 2017 22:58:42 +0000
Authentication-Results: spf=softfail (sender IP is 66.129.239.12) smtp.mailfrom=juniper.net; ietf.org; dkim=none (message not signed) header.d=none;ietf.org; dmarc=fail action=none header.from=juniper.net;
Received-SPF: SoftFail (protection.outlook.com: domain of transitioning juniper.net discourages use of 66.129.239.12 as permitted sender)
Received: from p-emfe01a-sac.jnpr.net (66.129.239.12) by CO1NAM05FT040.mail.protection.outlook.com (10.152.96.153) with Microsoft SMTP Server (version=TLS1_0, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA_P256) id 15.20.56.11 via Frontend Transport; Wed, 13 Sep 2017 22:58:42 +0000
Received: from p-mailhub01.juniper.net (10.160.2.17) by p-emfe01a-sac.jnpr.net (172.24.192.21) with Microsoft SMTP Server (TLS) id 14.3.123.3; Wed, 13 Sep 2017 15:58:35 -0700
Received: from idle.juniper.net (idleski.juniper.net [172.25.4.26]) by p-mailhub01.juniper.net (8.14.4/8.11.3) with ESMTP id v8DMwYKM006051; Wed, 13 Sep 2017 15:58:34 -0700 (envelope-from phil@juniper.net)
Received: from idle.juniper.net (localhost [127.0.0.1]) by idle.juniper.net (8.15.2/8.15.2) with ESMTP id v8DMwX9k073880; Wed, 13 Sep 2017 18:58:33 -0400 (EDT) (envelope-from phil@juniper.net)
Message-ID: <201709132258.v8DMwX9k073880@idle.juniper.net>
From: Phil Shafer <phil@juniper.net>
To: Lou Berger <lberger@labn.net>
CC: netmod WG <netmod@ietf.org>, "netmod-chairs@ietf.org" <netmod-chairs@ietf.org>, draft-ietf-netmod-revised-datastores@ietf.org
In-Reply-To: <511deba5-34ca-dde2-6637-ceaf4c4af125@labn.net>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-ID: <73878.1505343512.1@idle.juniper.net>
Content-Transfer-Encoding: quoted-printable
Date: Wed, 13 Sep 2017 18:58:32 -0400
X-EOPAttributedMessage: 0
X-MS-Office365-Filtering-HT: Tenant
X-Forefront-Antispam-Report: CIP:66.129.239.12; IPV:NLI; CTRY:US; EFV:NLI; SFV:NSPM; SFS:(10019020)(6009001)(39860400002)(376002)(346002)(2980300002)(189002)(199003)(54356999)(77096006)(47776003)(50986999)(81156014)(6916009)(81166006)(2950100002)(8746002)(8936002)(8676002)(69596002)(356003)(7696004)(68736007)(229853002)(7126002)(5660300001)(106466001)(105596002)(966005)(189998001)(478600001)(8276002)(4326008)(305945005)(230783001)(53416004)(76506005)(575784001)(86362001)(316002)(6246003)(1076002)(97736004)(97756001)(2906002)(2810700001)(110136004)(23726003)(6306002)(50466002)(54906002)(53936002)(46406003); DIR:OUT; SFP:1102; SCL:1; SRVR:MWHPR05MB3616; H:p-emfe01a-sac.jnpr.net; FPR:; SPF:SoftFail; PTR:InfoDomainNonexistent; MX:1; A:1; LANG:en;
X-Microsoft-Exchange-Diagnostics: 1; CO1NAM05FT040; 1:h4Z4K0K8ovQqrAymUp3fidcrTbXlvo1/oxE+T300PaZ7AT7bQ0FbAv1k/OofLud8H3REZFjB4VuA3AErb8Ib9GkWNFSujqPJ34Ei5c10vkRXTidp4vqD0xkDKtYH8N9x
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: d34c5222-04bd-4470-25e0-08d4fafafae4
X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(300000500095)(300135000095)(300000501095)(300135300095)(22001)(300000502095)(300135100095)(2017030254152)(300000503095)(300135400095)(2017052603199)(201703131423075)(201703031133081)(201702281549075)(300000504095)(300135200095)(300000505095)(300135600095)(300000506095)(300135500095); SRVR:MWHPR05MB3616;
X-Microsoft-Exchange-Diagnostics: 1; MWHPR05MB3616; 3:gk9ebD4jbMoPj8E09NvruORQ0TzRuK6CPKKvzPK6QfVSz0O/HFw4T9+oPQVm/MV45wxIpMni8VlYwJevqnnB+INfjetWftgMabooEQ7c0cnRH1bbIMbQYaHYO+3qqhapneHnFgzbN9w2b0vYyhVp8s34S9Af8ulmSuaUjkfeiy+1M2zgAmh0HWwsrOhAhVoVgSC5MoQ6kA01tyPcNlfiGB+BPR0T4NM7YMsgkuwSdZDU72vxVO0nJvXaxaBrKFnZXSylvq0jl72fB34mpu/xVCDy5fPu+74r8KRcB/qOnz8vJVT4zRxJkwZoM5j2IBbrES3jaw5mpGR54Y7rlnF0oKjI0Jw74lP+MbtF6su+u4Y=; 25:8DjU9GrbUAEHagBYyDM1/fugtkt1fg3uoL4JMfKzjNh9v8L2trMChDiMdCdGNut+920Lstd/gSQc83qONdnOebIGEJkJkTGSGk117INT+xnhLse5E9IMsKzEWoNbT8zb0/5PSHQh1G/EOu8nQon3by/aQKTYgq9viNEG8TzNNBXwAtvjOpZxkMHf5rp2yyoRN/QucQ65VsnUa1A+qWYiCC48AURdjr2LtEY3qKUNMqDJiuiv2zLRcRxJWWubBtChUFC2Pb2XQT4yOr2yl5jyZLWVLmQynuCYKnKnkCzM4bmRNH3zojHDpvVtOudcTF7a/4F4D8ihceAX/TUwsN3F1Q==
X-MS-TrafficTypeDiagnostic: MWHPR05MB3616:
X-Microsoft-Exchange-Diagnostics: 1; MWHPR05MB3616; 31:evVxXaQHwBSHUv0wee+EgeKCqpFd/zL6+qDBXb7uUlbPyMKckPQQ37R0TpWGaEeO2wBmpsjURuoCsEuQtvXB2pZ+s6P4+hAteS+FmWsY6nbKtVxIHZDvlcIN303CnHhL+DRHoNRwC9RQnKfEnqR2XuWBuR365Ay7F2rmueBW9oX0qoF+iw6/pdL6mwUPZ9kEI4iE7IKPwjRod9jhG/yi7A1GGDocxd5OGKGEceSk+ZE=; 20:jEsvbTnoLTlrK6Ku8h++vodFgg1AiArXiKSeZdsi9GMXt3pknklMlIbcGW1KQrj+KqrKRybCRukjIl7TQ7rlEgjk8yDNDjR0jrT+OSVu7m7sdD0cnLLvkcJNtDV3uNqkeSRws+WGA1mCVjVEddjkL9rr8xKb/vMyLLcbycEUWqqu/mtSe1d6bJjEVByO0QnXiM7GbRGsNbIprdyjCh2JOXOTg0aZmue1U8xvFhH599YErRRXqbec+YQ1dGDTLEoX5aoSmHoIgeG/B4mvbhVXTh5EqbycnXJ3jfNqukIPoDIVreh9TqZ3gp0v2NK0NEDxgyBBLHj1K0BapqRVe8yXCHVGhaIXm12cjaBYq6H3oI9OdBGj/pJJwpr4ShAdE+b94uyixGx+Cn7d3/yIdjfHnxXmiSTdOJ8oVtpetDlxK1Eg7ORt6NYN2jGLrZDuaJ8lAvyGSzRuhsHHZT/8BwvGWF7vs1oEf4IzGXfpTCdvFouv8K5ABapc+ZiHHZb+FCbH
X-Exchange-Antispam-Report-Test: UriScan:(254730959083279)(91638250987450);
X-Microsoft-Antispam-PRVS: <MWHPR05MB361685CE54D80A51810426A5C96E0@MWHPR05MB3616.namprd05.prod.outlook.com>
X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(2401047)(8121501046)(5005006)(93006095)(93003095)(10201501046)(100000703101)(100105400095)(3002001)(6055026)(6041248)(20161123555025)(20161123562025)(20161123560025)(20161123564025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123558100)(6072148)(201708071742011)(100000704101)(100105200095)(100000705101)(100105500095); SRVR:MWHPR05MB3616; BCL:0; PCL:0; RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095); SRVR:MWHPR05MB3616;
X-Microsoft-Exchange-Diagnostics: 1; MWHPR05MB3616; 4:fLfmH2/EloiLo5Nip4BiKdtiWmaxqljyWqUA+ZNQuqBVFzmZeno6p/BWTw/YguLrebwymUrJzsOypNyx5frFwo4Jd3EgZkTXufuBTfNZ7JwmSCGkNBrVWltIg+gkmqGydvn8V46E6OKdsOv2eeCqdtcNiKNaF9AFGq+w/rA5mKQT0wcYWSVTdSCgOCye2XkxDdKK4MWtakax/Lb8hXb0Lgf+g+qz72uWEPtZ9mbBewlk8XRrEbzCT8Y3V4nyVOfgmbbF0TbO0TCKg5ycZdo62njjNz1Q9ylgTug5AEMjlwl1adlNXAtaS81GL01M8dL8c1/P0OYjZ/QUE78KX0gGzQ==
X-Forefront-PRVS: 042957ACD7
X-Microsoft-Exchange-Diagnostics: 1; MWHPR05MB3616; 23:F+04Ms2RGcW/Rl0UoTPB7Hs25DTuPRXVolsK2KpoY6n7/1VKNWKzNnzLRkuXREYuIzGZHpBxsuCMzbuiUQbuwr56PMVECox6ZWmyCBBvBGfczhaB1wEIgm+JZ7FlrjXZGQt5YLEDGjiJ4RZ2V+6e06T0BdzsoM5/7yEV2lyyqsV4hlCsJpfV+Jx+jbhblmI6pYfTjSPJlN1sYz0o7fgwR8b5JjdfGIGfJAaxDvZ1oVBB+Ca2cPpHhayWF2rxWFbSIEth3RGfJ6o6ubmHX/q1gv8vNGf9uy/gkfxabwsSSKIQHFpGGxyb7qLCtFgravGrrnKcwX5xQnhmw6S+Lm/O5ebQ7FvObwAHVcKii5jlDyM9dTGKD2Kb+G7+T6thGbq3wI5SMNaw4E6XVMUMAnU6LkYQ9UHAyMgkEAGAjOPjtZLEHGj2Q9NUyodb6NrDlC8LfZiLBgcz0AWm4AHAS8wR8k3LMg/TnWr94rAfRQ/4WQqHGhTrdtQqA005HJf6C7B4Ss0afCn5Di2t9ps6EKQAQ09yRvbP9EWPG9a2vrphYUAbmb0vZRuNxh2tsjH0/ktgGm0pxj+fSHxldzVTqn7BXhhh9sjsTeFZ/P7noa3mW+qV2BJ6ukFTynerBr5fsR2Lydo/FvHm2h3nrC3btLMXAJRqg+H0IGJCZZ1Us4ElRQBOqNqKW0fUtqMd4HTcAKezuwjkEcy/dlcbCecCwmINLBAuC6xmZFSxty9K4VFW6agKRRRJC7I3MlW/R8RAbzHSK/6LzYK443Q/YwwDYiUoSQBhjngHVc7hy5tBjYE0yBYykIhc4fuRdI4lPSqYLLLeqVxXIjBKLsqArwHmEX3smuC1CKiFKnnzCL+VlLEWuzqOcFcKlHLPBJWHIogouz+3bRXUrl24k6W2bGEDl+qn6WBSvFkVfpy6On3EUfNYdslC1bTi/NHNcZo+gQ0Qb/mV3Ing91xtsqrYQCxdPHC4IdHW6+w7XB05ybLHccw9zC3NChz7OYDKQMzpHb+wRzRl6rCDxEO620OrrvXpWNnj8yipzSEI3/5PrCFXmOx/P1QH6W4QvVC5m+iPExO5XHfIclBKjg4xpUknCiwZXcT5aK51HM/O5kid6JdYs3vl7+/tKPK1O9NhjgWsb7VKrDO0boqqF523uJi1SixO0D9pnmN18DAczqsBCf/vFhbYEUeJ86AztBVD/76PIpBk7ZqM
X-Microsoft-Exchange-Diagnostics: 1; MWHPR05MB3616; 6:h9x8TW8zuM0IcqEIaPNGWkCgHTYJ6wVDausTpZwkHFKfOGXozYQh86sU9NTE3PieTE5QXAOZMlVHgmdtAzSnCcKSg4TTRAA6hxCcLFHk121EEtzv6cbDyamBVeizQM2R83K+XvqAPra3E5akDacTfGrl9BCeE1bqmWXw3CFTw6NSwIOREAmJtkX20ieEPl/lisahiojnAuyXBA4JHDqoWc6Y9EhEDeFEW6/eGDjw0tmMEOnFuxr8epvX+Li7hHBRgwHQL7T16SqHHP1djUNtP025UhE3Yvrm4+rGI7uRj0h3qa38joIyBrqSYXvhWo6JYFmVmXA5pm6uyOUWA2nl3g==; 5:xHsogxKsKuka24mE+G50iTtihNJ0tg3obVFFOZcRwCv6DkPpxt575HM+sid93lAmnUBEMNUBspRFpyBFt2VDHbzCahlbfsSZ/LLY0SJJeRrQo+1bdHM37rxz68rMvB36rj9gXGBPdKtGwVz4rNV2Tg==; 24:uOAfEoPk0sgT1UlPt4HxoYuLvob45cF8Nf8nvi6FohzDUk7DFpcF3cXODjGM9b7rMPuZMpeM5ZKn08pxElMVp+x3h93+OyNEWFSRzvi0sk0=; 7:kqe7emRBL5Tp3tLAQ0GZoe9OxXvqXpsws4i3BhC7IvhaFsKUbzW7eURLIohUTWJYmqftnDRxiGo6uKbOJ2l5Jq039yohmiNT86/25kkceIZfcDgAm4aoEjrwMqeBbmeE+rkt/8De3Fj1gUV+nshl1RLvuhKf9v30j4YkG9QV+nbqQq+GFUksZsIA6pJfb94s1H8acg0A02NzxY2YQdd8qHzSfOZQMGLB92acIhJzmI0=
SpamDiagnosticOutput: 1:99
SpamDiagnosticMetadata: NSPM
X-OriginatorOrg: juniper.net
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Sep 2017 22:58:42.2231 (UTC)
X-MS-Exchange-CrossTenant-Id: bea78b3c-4cdb-4130-854a-1d193232e5f4
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=bea78b3c-4cdb-4130-854a-1d193232e5f4; Ip=[66.129.239.12]; Helo=[p-emfe01a-sac.jnpr.net]
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MWHPR05MB3616
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/fRfIMKUUxAZNocPOv3sHRqRDpgs>
Subject: Re: [netmod] WG Last Call: draft-ietf-netmod-revised-datastores-04
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: Wed, 13 Sep 2017 22:58:46 -0000

Lou Berger writes:
>This starts a two week working group last call on
>draft-ietf-netmod-revised-datastores-04.

I have reviewed this document and have several minor recommendations.
In addition, there were comments at the mic at the last IETF during
the NETCONF WG meeting regarding the draft-dsdt-nmda-netconf-00.txt
draft that refer to the architecture rather than the NETCONF mapping
of that architecture, specifically on validation, and restraints on
templating mechanisms.  The video is:

https://www.youtube.com/watch?v=wTlyEqTSuqo&feature=youtu.be&list=PLC86T-6ZTP5jdbiwi5ggLNnwLn1-r0M4h&t=4726

I'm submitting these comments as a "diff" against the text source
of the draft.   Hopefully this is clear and precise.

Thanks,
 Phil



diff --git a/draft-ietf-netmod-revised-datastores.org b/draft-ietf-netmod-revised-datastores.org
index b859760..be3b3b8 100644
--- a/draft-ietf-netmod-revised-datastores.org
+++ b/draft-ietf-netmod-revised-datastores.org
@@ -210,8 +210,8 @@ Some observations:
 - Operational state has not been defined as a datastore although there
   were proposals in the past to introduce an operational state
   datastore.
-- The NETCONF <get/> operation returns the content of the running
-  configuration datastore together with the operational state.  It is
+- The NETCONF <get> operation returns the content of <running>
+  together with the operational state.  It is
   therefore necessary that "config false" data is in a different branch
   than the "config true" data if the operational state can have a
   different lifetime compared to configuration or if
@@ -318,6 +318,26 @@ If a device does not have a distinct <startup> and non-volatile is
 available, the device will typically use that non-volatile storage to
 allow <running> to persist across reboots.

+*** Validation
+
+The process of "validation" examines a datastore to ensure the
+resulting configuration data will satisfy all data models constraints
+given in ^YANG^ section 8.1.   All constraints in all supported
+data models must be satisfied for the data to be considered "valid".
+
+Validation will examine the data after any locally-defined templating
+mechanism is performed and any inactive configuration is removed.
+
+While the operation of any specific templating mechanism is outside
+the scope of this document, such mechanisms are constrained by the
+rules of any data models, and cannot break the constraints given in
+^YANG^.
+
+The implication of the existence of templating mechanisms is that
+<running> is now explicitly allowed to be invalid, since the
+templating mechanism may be supplying additional data that satisfies
+constraints that may be satisfied by <running> itself.
+
 ** The Intended Configuration Datastore (<intended>)

 The intended configuration datastore (<intended>) is a read-only
@@ -422,6 +442,7 @@ error.
 <operational> does not persist across reboots.

 *** Remnant Configuration @remnant@
+
 Changes to configuration may take time to percolate through to
 <operational>.  During this period, <operational> may contain
 nodes for both the previous and current configuration, as closely as
@@ -709,12 +730,14 @@ This example defines a dynamic configuration datastore called
 "ephemeral", which is loosely modeled after the work done in the I2RS
 working group.

-  1. Name            : ephemeral
-  2. YANG modules    : all (default)
-  3. YANG data nodes : all "config true" data nodes
-  4. How applied     : automatic
-  5. Protocols       : NC/RC (default)
-  6. YANG Module     : (see below)
+| Name            | Value                        |
+|-----------------+------------------------------|
+| Name            | ephemeral                    |
+| YANG modules    | all (default)                |
+| YANG data nodes | all "config true" data nodes |
+| How applied     | automatic                    |
+| Protocols       | NC/RC (default)              |
+| YANG Module     | (see below)                  |

 !! include-figure example-ds-ephemeral.yang