Re: [netmod] <running> vs <intended>
"t.petch" <ietfc@btconnect.com> Fri, 22 September 2017 16:35 UTC
Return-Path: <ietfc@btconnect.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 48B75132E24; Fri, 22 Sep 2017 09:35:56 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.921
X-Spam-Level:
X-Spam-Status: No, score=-1.921 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H4=-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=btconnect.onmicrosoft.com
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 ycDvLIAHHvp5; Fri, 22 Sep 2017 09:35:54 -0700 (PDT)
Received: from EUR03-VE1-obe.outbound.protection.outlook.com (mail-eopbgr50091.outbound.protection.outlook.com [40.107.5.91]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 66D84132930; Fri, 22 Sep 2017 09:35:53 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=btconnect.onmicrosoft.com; s=selector1-btconnect-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=nNxLU79I6+Bb1QiGsYLOss2/G5kWFKYQSJ/lCY65H08=; b=Ov8MiYteeGiUg/5q1AlqSdOg/w42XFSVaMUwtr72rKQOkAobxy2d9rd3vs13Snt4jpfoB53Y/RIohd7a8SFLE1g79954/WXFPj7s+lKxZKDwI56Kz1VX+LTnKlyYC+FdshBlohW2vy0Ph/RXDfZLs68NuhbM0Oy60oBEnEAnxSk=
Received: from pc6 (109.146.128.123) by VI1PR0701MB3007.eurprd07.prod.outlook.com (2603:10a6:800:87::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.77.5; Fri, 22 Sep 2017 16:35:50 +0000
Message-ID: <00c501d333c0$9d210280$4001a8c0@gateway.2wire.net>
From: "t.petch" <ietfc@btconnect.com>
To: Robert Wilton <rwilton@cisco.com>, netmod@ietf.org
Cc: draft-ietf-netmod-revised-datastores@ietf.org
References: <20170918.200734.1805388289423863575.mbj@tail-f.com> <CABCOCHTD_6yQj1QFn0BsPg8hbkuUc9guEB6rhG46W1jnNRh=bA@mail.gmail.com> <99b9a2c6-4bb4-121f-0cba-925cefe09712@cisco.com> <20170919.115559.1080249872764998055.mbj@tail-f.com> <d4c06d52-6b09-692c-7ca2-7f509e1917a0@cisco.com> <5481ac35-c789-0796-36f6-8a02a5ebef8c@cisco.com>
Date: Fri, 22 Sep 2017 17:34:03 +0100
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-MSMail-Priority: Normal
X-Mailer: Microsoft Outlook Express 6.00.2800.1106
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1106
X-Originating-IP: [109.146.128.123]
X-ClientProxiedBy: AM3PR07CA0136.eurprd07.prod.outlook.com (2603:10a6:207:8::22) To VI1PR0701MB3007.eurprd07.prod.outlook.com (2603:10a6:800:87::21)
X-MS-Office365-Filtering-Correlation-Id: afe5c96f-742b-4312-3f27-08d501d7fc9d
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:VI1PR0701MB3007;
X-Microsoft-Exchange-Diagnostics: 1; VI1PR0701MB3007; 3:BKppYhihYNzcANIlQyJcQEeKOjOIfPRK2fBAl340pabTFbc3qqHFTODByYNsXNp8hogh9lpwVqm1tPuNv3iIe7V7tYLxizgf8aDysSCeiBMlBPK4hPqcFAQ3xUxsBow58nLsShL8dDEh7pG5UQkd8ixACh9jOR9ceXRUe/kAiidCtaml60kodSOYp42jAAucvu1WdlzgZizYKlgfUmsVIEW87vc5RqcogazammfM+uyMu2KCE0NmOWZfgLqBe7+l; 25:a3ALC2UWMFgmB/bLxl0cunVYOc36CR2vKtXVp1vYj2mf7kZQru6vSD0Vy06GXjOqBIVLGjy/F6gmMQvU6Ltw40xctOv50gcUj3/3W1exPiA06Smce0c8dnmbrt1XMP3pnHImRSPughDeF1gtGtpnuCpWlILMKiF9RLS9ZVhCvq+TZBGGhFf/kozWEUsEnjxP9YcT1aZ4ybpNlLr6+vVnaIqIm4bGtMM40QQQcmud1AXOi8TSGSurbsm/2MDdNhcHOFtkw/zaBjCKoz6D44NPJLKO4jtq8xH8wFEcRtb8r90MrkB/N9dUFTGKfie1R06Lk36uSyo+wuKCGo8h+uSMYA==; 31:MjgyADpZqBHml4amYMaiR7b6XfdmSHFXxni1PMgCVXlJoqCyHjIuhfzBPl8xl1U3BAiJf4IeWpOOrCo7A0uw+42M/tZ3a8H6F0k5Z3u+4fF9qBLkRIqM4tULmvo/L8JEsPFsmugjfnxAS8twDPOylrF4EMoxC3XWa7KGazvRh6Uso8TO3hMfNecnYyNYfhcaOipPRdqjEv6/Wtuki9HXUlFDGCKF6Qptlm4OIjegKVM=
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VI1PR0701MB3007:
Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=ietfc@btconnect.com;
X-Microsoft-Exchange-Diagnostics: 1; VI1PR0701MB3007; 20:6G6oLpaogsjf3UxKiw/ZFkaQ7lWz/PXWXWQLZmX7/T4QTRY+5n3Rg8rl27oY0V8NFJ0kp8uSLTB+qUxpD/zLtiPhLU6vCT9uru268jvnaZx+UGWAIY58IHWjSQvL/DsHDBIn1K7RkqmMUKsokIOGzifq4kMz4J9oQnF96dIywwbsIKfkYECpSRwGMUKw3uxc8G8WLjEV8kRGohX+/csaqT8E8TKRPMwMKV23drHCeVZc4JKE1wjHxhgoFDt/ZNLh/dvlIZcpCoOw6txP0A+nsZUkuMXIE1cPlvz7nnTjVf8PC9ASWfn2D5eatlq5toRdTkjA+1ufFAa423tXUXsyDQ==; 4:STFYUWQALoF127rrGsBGKEuQlhuw0kJOxy/0uKOoReB0uR/boctX+ocSkbnMLCsGUPt5+RnH8nWvZij3/U+R2TokaVF/Bgux4i+bthZiF80H1tIJp/Bba6kgqtoLitfZn9+fNFrhQQbMkXvvdOozLurkvgsRYueR1An1GargVksGyf3ir9R7UgBH+IbVtuzxHUPv7A/Hh9TBp52sQKudjZrqHmeiUYdAG3SVzTBGtZ/XFl505Won/UY4Fb2puAPKiVYRnfXYI23PbtBdMLGbvpmbgdjTVzQjwlrF0F9DsjCE78EVlgPGOYaVz2bzm3TPahyVNiipoV2I2aR9qWD9akxMrqdgVwMXnsWQxscOnyo=
X-Exchange-Antispam-Report-Test: UriScan:(158342451672863)(788757137089)(95692535739014);
X-Microsoft-Antispam-PRVS: <VI1PR0701MB3007BB42399FBA4AFB8C4C00A0670@VI1PR0701MB3007.eurprd07.prod.outlook.com>
X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(61425038)(6040450)(2401047)(8121501046)(5005006)(93006095)(93001095)(10201501046)(100000703101)(100105400095)(3002001)(61426038)(61427038)(6041248)(20161123555025)(20161123558100)(20161123564025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123560025)(20161123562025)(6072148)(201708071742011)(100000704101)(100105200095)(100000705101)(100105500095); SRVR:VI1PR0701MB3007; BCL:0; PCL:0; RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095); SRVR:VI1PR0701MB3007;
X-Forefront-PRVS: 0438F90F17
X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10019020)(6009001)(346002)(39860400002)(376002)(189002)(199003)(54094003)(51444003)(13464003)(24454002)(377454003)(6246003)(81686999)(25786009)(4326008)(76176999)(86362001)(23676002)(6496005)(81816999)(14496001)(229853002)(116806002)(6486002)(44736005)(478600001)(97736004)(61296003)(3846002)(230700001)(50466002)(8676002)(1456003)(33646002)(106356001)(105586002)(9686003)(53936002)(47776003)(93886005)(8936002)(316002)(6666003)(305945005)(2906002)(44716002)(50226002)(101416001)(62236002)(6116002)(50986999)(189998001)(81156014)(1556002)(16526017)(81166006)(68736007)(7736002)(84392002)(66066001)(110136005)(4720700003)(53546010)(5660300001)(74416001)(7726001); DIR:OUT; SFP:1102; SCL:1; SRVR:VI1PR0701MB3007; H:pc6; FPR:; SPF:None; PTR:InfoNoRecords; MX:1; A:0; LANG:en;
Received-SPF: None (protection.outlook.com: btconnect.com does not designate permitted sender hosts)
X-Microsoft-Exchange-Diagnostics: 1;VI1PR0701MB3007;23:3ZEaavoTnfVqPdTQ23kVJ+jAnLMjk2qKTG1wJEWEl18okZJa4bBX3GWZQiKX07tD7ipv1MUg++TK9p2lFojBMtBXXQb0LDKK2WnYih+46Wxebr61b7yCCzSAElb9UvNwFBJz1HPtIPLjmyYW9wBofN8pQxW21k0k8m6Fva4Up0OxKUSLoVQ/oSh2mgYHXXo5rCQWOBsXRxPGbIUUNavKFwvc6IBlLwGRzONHvsZD9GQj+QH5PkJzQstl6zQCgoL0feI2mjTJVWeqhVR+CfEszgv5fM0+K+IAoKnuNBoLPv43btFPfHFykqyusCiHTueL80Np27LwMK472ErqTDaN+jV0MN2msq7Rg737KwfuKuaFm4dsp8xOiONyfNC0g3ze20YqwcnYZo/Mr5uHP8EUt+AKyZ+G1sM40Vn+SDuGYmmNYanc60VTQThg2QhcJacjrdpwCPB011veIligpqkZ3S5bdBzFIR+D/3ENFEYcIUtdFmczX4IjLg8iz/NFXzIaowUy2hbVvgSUbfO+NONOV4WOVZPbhws+3LWGNaluexKoqeQV9ez2tEdkGYZXEjvBuAqJ7cIEKMOgtpjS2VjvfqbA36JdwXfkR99cSwcUNHkefbydR7uJ8KDgv/NSGp7T9DMNyJk5Zc+SYPElqRehqRZxVG7x4wbfRQiDD+0bYBSrvU54jTEmTZSM6M7EHydS3zsYLnOiTbpvwVgg3A48JPn3UjrCQ2FNmNdLsnOwQDoCyTwYMOoMBZ/+N8PZaJ7nCq/D95KfiXp/SDjkDNTO8UKAm4pCkCV1rWfYrhvGoC4hNsIYJ7cwH1pNhHqLtYEMz8qRw1EF5gk9VQYFu0XgJZAOJOiZ9NC5I6xHgZVq3pNdUudiVmAIKzYKPLyw1KkQMoC3+E4yGKry57n0AzEVxC5B47Qg5wULkX2Imf2fJGi02Eaut9BtOkIX3ROJFXRTpv3amA+UWy1ilsC5ojR4JVYToeWKOz+twNVLadZXcSqFL7DT2KrrA3FR+V730FkIxOTKKD2GjdUyBwotPaHqN+7im8YME2bb0sKNbPIEHlNi23Bul7CaXrjCFH+NTtbIf7whII/orCBJR0IYEtzbpDt62eyQP9VuYUv4Qb3tmScPmhD2yUtNEFTTqILqgVvmUsJuDpN9/GZFdHQM9FfkwngfgCECUFORiVfqvO9n3XX1H/1d9jeS/eqV3qTpXjiR73t1suEWt7Dm4w8EPmC4LE6Wx4vsQdNIakA8FGjerAm31RQD37oEiz0bC8KgmoHcGB5sdMYYkmrgPbYq5AyuhfdMNdlyIjFVMAcNp4MSeXcIAonqHXpyOZNokitRwgizk5N3DB9t6p2o5mmSIT2TtNz0DWtoMye+ug0F8cNrB730qiJO5ZEWbC8tfJox8Ir9gQubjI1osqcd4UVwnubIMpSPGVKBl9Y4PilnjzZoMR6VBkQy/Pc+Xyisg5BeqO6eCCfO9CAnnTTVWQ4byJ969y7oyigQR+1S9+48GG1hplU=
X-Microsoft-Exchange-Diagnostics: 1; VI1PR0701MB3007; 6:oAWMigHuF4JFO3d22MSVAUFvUF7M7uCO9Xf0ScrEVb/LP51WCg6tJFadzij/ErpQl93KvoF7py//DLWzT71UV0hrjF+DVzktUdIpwHax3m6stJIb65DzDFru/r4zBbv9Wh5Skz5ALbfcbanKI/QXDvbPK6a0IwvIt5XIkyBxpQzBP/ti1/CPJTaQl/to2aHW5A+JnNyHZTEHEgyFLz5d0+kEXRHNRjya2mZ14RtH9z7rX54FrTChkitu9t5NBbPAXptBcdOsyGwn5iyPyeXDQTh116Gp3w6FXQpm4/QNfmcLK/kleqAusZ4YaNuAoBdfp30WzkW9NGxGy3osyk/+VA==; 5:qOfWYwpMOnpJI2vAPjKbLKPXCd1ANFN3EQyfI7hIEqOgAXzcMtzFTj4phMfmLTXbV7fBrZvh6NTnvZJj9McaLZlwM3AJZSypAyJJvR51BbG4sw5icd7G0qmY1JgrJhbOJetEjrJ1nC4rYvjfQU6WCQ==; 24:woNSfvvf9v00j/CB3Qm5GXqRi7eorRFjTnNo7myowy5C9If0o5gL+5/HeVmU4tjItBuZgRP5G/W0iO9ot96aWmZXUChYm4U7m2R2Kcwgeew=; 7:dm1QOPYNlY2ZTCj9TLKTIALfxWgzjZVbmQ3Tirlh5GFn6/ctIBOmvc0f7/EcPuMGQwf4ypb7NQ55/eV2tr2uAkOriguJmIbWt4Xts+TKNRrpud8cojL1Xd1FkJbOz16BcpIgJV9iPKJ+cKUxGDBiTvlcia0vxDPYUAaWImRn0z6aKKd+RgV8UUcRsliIRN8bVjy3KsZ4hdsu6rxZwDwuG4S2KHT7VyBjgCxJYN5ZDtw=
SpamDiagnosticOutput: 1:99
SpamDiagnosticMetadata: NSPM
X-OriginatorOrg: btconnect.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Sep 2017 16:35:50.6178 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: cf8853ed-96e5-465b-9185-806bfe185e30
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR0701MB3007
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/YRckKsu2rI8vBP1iJFgELcuwGXk>
Subject: Re: [netmod] <running> vs <intended>
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: Fri, 22 Sep 2017 16:35:56 -0000
Robert I wonder if this says the opposite of what is intended - <running> holds the complete current configuration on the device. - This could include inactiveconfiguration - <running> must always be a 'valid configuration data tree' as defined in Section 8.1 of [RFC7950]. Ergo, inactiveconfiguration must form part of a valid configuration tree. I thought the idea was that inactiveconfiguration was logically removed before validation but this seems to state the opposite.. Tom Petch ----- Original Message ----- From: "Robert Wilton" <rwilton@cisco.com> Sent: Friday, September 22, 2017 10:03 AM > Hi, > > Regarding whether <running> is always valid, the proposed modification > to the draft is to add the following text to section 4.3 that describes > <running>: > > OLD: > > 4.3. The Running Configuration Datastore (<running>) > > The running configuration datastore (<running>) holds the complete > current configuration on the device. It may include inactive > configuration or template-mechanism-oriented configuration that > require further expansion. > > 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. > > NEW: > > 4.3. The Running Configuration Datastore (<running>) > > The running configuration datastore (<running>) holds the complete > current configuration on the device. This could, for example, include > inactiveconfiguration or template-mechanism-oriented configuration > thatrequires further expansion.However, <running> must always be a > 'valid configuration data tree' as defined in Section 8.1 of [RFC7950]. > > 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. > > END > > > Then the intention is that if inactive or a templating solution is > standardized then those drafts would update the validation rules in RFC > 7950 such that <running> is still valid. E.g. an inactive config draft > would probably indicate that validation excludes all configuration nodes > that are marked as inactive. > > Does anyone have any comments? > > Do we also need to state that <startup> must always be a 'valid > configuration data tree'? > > Thanks, > Rob > > > On 19/09/2017 16:22, Robert Wilton wrote: > > > > > > On 19/09/2017 10:55, Martin Bjorklund wrote: > >> Robert Wilton <rwilton@cisco.com> wrote: > >>> > >>> On 18/09/2017 19:25, Andy Bierman wrote: > >>>> > >>>> On Mon, Sep 18, 2017 at 11:07 AM, Martin Bjorklund <mbj@tail-f.com > >>>> <mailto:mbj@tail-f.com>> wrote: > >>>> > >>>> Juergen Schoenwaelder <j.schoenwaelder@jacobs-university.de > >>>> <mailto:j.schoenwaelder@jacobs-university.de>> wrote: > >>>> > On Mon, Sep 18, 2017 at 05:17:46PM +0100, Robert Wilton wrote: > >>>> > > > >>>> > > > No. I do not agree that the MUST in RFC 7950 can be > >>>> removed. > >>>> > > > I do not agree the architecture should update YANG at all. > >>>> > > OK. > >>>> > > >>>> > I am with Andy here. <running> has always had the > >>>> requirement to be > >>>> > valid and we are not supposed to change that. Mechanisms for > >>>> inactive > >>>> > configuration or templating must be designed to be backwards > >>>> compatible > >>>> > I think. > >>>> > >>>> Ok. If we keep the requirement that <running> in itself must be > >>>> valid, it just restricts the usefulness/expressiveness of > >>>> inactive and > >>>> template mechanisms, but it might be ok. > >>>> > >>>> I think that even w/o this requirement, the observable > >>>> behavior for a > >>>> client can be backwards compatible. For example, suppose we > >>>> have an > >>>> inactive access control rule that refers to a non-existing > >>>> interface in > >>>> <running>. If a client that doesn't know anything about > >>>> inactive asks > >>>> for the contents of <running>, our implementation removes the > >>>> inactive > >>>> nodes from the reply to the client. Only a client that > >>>> opts-in to > >>>> inactive will receive a reply with things that looks invalid > >>>> if you > >>>> don't take the inactive annotation into account. > >>>> > >>>> > >>>> > >>>> There are many ways that validation can fail because inactive nodes > >>>> are present, > >>>> and considered part of the validation. > >>>> > >>>> e,g, min-elements, max-elements, mandatory, unique. > >>>> > >>>> I think we all agree that validation on the enabled nodes is supposed > >>>> to continue to work. > >> Yes. > >> > >>>> Here is an attempt at a backwards-compatible solution: > >>>> > >>>> 1) current <get-config> and <get> responses only include enabled > >>>> nodes. > >>>> 2) old-style <edit-config> operations do not alter inactive nodes > >>>> 3) NMDA clients use <get-data>, not <get-config> or <get>. These > >>>> responses > >>>> include enabled and disabled nodes, so validation does not apply > >>>> for <running> > >>>> 4) new style <edit-config> (i.e. <datastore> parameter used) can alter > >>>> any type of data node > >>> //I think that inactive should always be an optional extension. Not > >>> everything needs the additional complexity. > >>> > >>> Hence rather than tying this function to specific NETCONF operations, > >>> I would suggest that there should be an extra parameter (like for > >>> with-defaults) to allow a client to indicate to the server that a get > >>> or edit request is using the "with-inactive" extension. > >>> 1) The server should also have a capability (or perhaps a leaf defined > >>> in YANG library) to indicate that it supports inactive configuration. > >>> 2) If a client doesn't use the extra "with-inactive" parameter during > >>> a get request then only active nodes are returned. > >>> 3) If a client doesn't use the extra "with-inactive" parameter during > >>> an edit-data request then the request cannot include an extra inactive > >>> meta-data. The request is processed in a way that is equivalent to an > >>> existing NETCONF implementation, but it may unknowingly remove some > >>> inactive configuration (e.g. via a replace or remove operation on an > >>> inactive node). Operations like create, delete, none, replace should > >>> all treat an inactive target node the same way as in the node doesn't > >>> exist (e.g. delete on an inactive node would return a "data-missing" > >>> error), this ensures that the behaviour that an unaware client > >>> observes is the same as the existing behaviour that it would expect > >>> from a regular 6241 compliant NETCONF implementation. > >>> 4) It a client makes a get request including the "with-inactive" > >>> parameter then they also get the inactive nodes as well, marked with a > >>> meta-data annotation. > >>> 5) If a client makes an edit request including the "with-inactive" > >>> parameter, then the inactive meta-data annotation can be used to label > >>> inactive nodes. Inactive nodes are regarded as regular data nodes for > >>> create/delete/replace/none operation error checking. > >>> > >>> I think that this approach is similar (perhaps even the same) as > >>> Martin described. > >> This is indeed how our implementation works (except I think we don't > >> do 5; if the client sends an "inactive" attribute it doesn't have to > >> also send with-inactive). > >> > >>>> Note that the YANG MUST rule still applies, because validation is only > >>>> done on enabled nodes. > >>>> It is only the response message representations that cannot be > >>>> validated, not the contents > >>>> of <running> on a server. > >> So the question is how we can make sure that the text in the NMDA > >> draft covers this yet-to-be-defined feature w/o having to define it > >> now? We thought that the current text was sufficient, but do we have > >> to make any changes to it? > > 1) Do we also need to illustrate a similar proof of concept templating > > implementation to show that templating could work whilst keeping > > running valid? I would prefer that this is just deferred to whichever > > draft defines templating. > > > > 2) I think that we need to reach a decision as to whether the NMDA > > architecture needs to explicitly state that <running> is always valid, > > or if that can be left to the existing statement in 7950. My thinking > > is that if the conclusion is that <running> must always be valid, then > > it would be helpful to explicitly state it the descriptions of both > > <running> and <startup> in the NMDA architecture. > > > > 3) I think that it would be useful to further refine my previous > > proposed text for intended, particularly rewriting the text on > > validation. This should hopefully also address Balazs' concern about > > default values be included in validation. > > > > <Old> > > > > 4.4. The Intended Configuration Datastore (<intended>) > > > > The intended configuration datastore (<intended>) is a read-only > > configuration datastore. It is tightly coupled to <running>. When > > data is written to <running>, the data that is to be validated is > > also conceptually written to <intended>. Validation is performed on > > the contents of <intended>. > > > > For simple implementations, <running> and <intended> are identical. > > > > <intended> does not persist across reboots; its relationship with > > <running> makes that unnecessary. > > > > Currently there are no standard mechanisms defined that affect > > <intended> so that it would have different contents than <running>, > > but this architecture allows for such mechanisms to be defined. > > > > One example of such a mechanism is support for marking nodes as > > inactive in <running>. Inactive nodes are not copied to <intended>, > > and are thus not taken into account when validating the > > configuration. > > > > Another example is support for templates. Templates are expanded > > when copied into <intended>, and the expanded result is validated. > > > > </Old> > > <Proposed> > > > > 4.1.4. The Intended Configuration Datastore (<intended>) > > > > The intended configuration datastore (<intended>) is a read-only > > configuration datastore. It represents the configuration after all > > configuration transformations to <running> are performed (e.g. > > template expansion, removal of inactive configuration), and is the > > configuration that the system attempts to apply. > > > > <intended> is tightly coupled to <running>. Whenever data is written > > to <running>, then <intended> is also immediately updated by > > performing all necessary transformations to the contents of <running> > > and then <intended> is validated. > > > > <intended> may also be updated independently of <running> (e.g., if > > one of the configuration transformations is changed), but <intended> > > must always be a 'valid configuration data tree' as defined in > > Section 8.1 of [RFC7950]. > > > > For simple implementations, <running> and <intended> are identical. > > > > The contents of <intended> is also related to the 'config true' > > subset of <operational>, and hence a client can determine to what > > extent the intended configuration is currently in use by checking > > whether the contents of <intended> also appears in <operational>. > > > > <intended> does not persist across reboots; its relationship with > > <running> makes that unnecessary. > > > > Currently there are no standard mechanisms defined that affect > > <intended> so that it would have different contents than <running>, > > but this architecture allows for such mechanisms to be defined. > > > > One example of such a mechanism is support for marking nodes as > > inactive in <running>. Inactive nodes are not copied to <intended>. > > A second example is support for templates, which can perform > > transformations on the configuration from <running> to the > > configuration written to <intended>. > > > > </Proposed> > > > > Thanks, > > Rob > > > > > >> > >> > >> /martin > >> . > >> > > > > . > > >
- [netmod] WG Last Call: draft-ietf-netmod-revised-… Lou Berger
- Re: [netmod] WG Last Call: draft-ietf-netmod-revi… Martin Bjorklund
- Re: [netmod] WG Last Call: draft-ietf-netmod-revi… Juergen Schoenwaelder
- Re: [netmod] WG Last Call: draft-ietf-netmod-revi… Robert Wilton
- Re: [netmod] WG Last Call: draft-ietf-netmod-revi… Kent Watsen
- Re: [netmod] WG Last Call: draft-ietf-netmod-revi… Juergen Schoenwaelder
- Re: [netmod] WG Last Call: draft-ietf-netmod-revi… Martin Bjorklund
- Re: [netmod] WG Last Call: draft-ietf-netmod-revi… Robert Wilton
- Re: [netmod] WG Last Call: draft-ietf-netmod-revi… Robert Wilton
- Re: [netmod] WG Last Call: draft-ietf-netmod-revi… Juergen Schoenwaelder
- Re: [netmod] WG Last Call: draft-ietf-netmod-revi… t.petch
- Re: [netmod] WG Last Call: draft-ietf-netmod-revi… Lou Berger
- Re: [netmod] WG Last Call: draft-ietf-netmod-revi… Phil Shafer
- Re: [netmod] WG Last Call: draft-ietf-netmod-revi… Ladislav Lhotka
- Re: [netmod] WG Last Call: draft-ietf-netmod-revi… t.petch
- Re: [netmod] WG Last Call: draft-ietf-netmod-revi… t.petch
- Re: [netmod] WG Last Call: draft-ietf-netmod-revi… t.petch
- Re: [netmod] WG Last Call: draft-ietf-netmod-revi… Ladislav Lhotka
- Re: [netmod] WG Last Call: draft-ietf-netmod-revi… Martin Bjorklund
- Re: [netmod] WG Last Call: draft-ietf-netmod-revi… Juergen Schoenwaelder
- Re: [netmod] WG Last Call: draft-ietf-netmod-revi… t.petch
- Re: [netmod] WG Last Call: draft-ietf-netmod-revi… Juergen Schoenwaelder
- Re: [netmod] WG Last Call: draft-ietf-netmod-revi… Phil Shafer
- Re: [netmod] WG Last Call: draft-ietf-netmod-revi… Andy Bierman
- Re: [netmod] WG Last Call: draft-ietf-netmod-revi… Andy Bierman
- Re: [netmod] WG Last Call: draft-ietf-netmod-revi… Andy Bierman
- Re: [netmod] WG Last Call: draft-ietf-netmod-revi… Phil Shafer
- Re: [netmod] WG Last Call: draft-ietf-netmod-revi… Juergen Schoenwaelder
- Re: [netmod] WG Last Call: draft-ietf-netmod-revi… Andy Bierman
- Re: [netmod] WG Last Call: draft-ietf-netmod-revi… Juergen Schoenwaelder
- Re: [netmod] WG Last Call: draft-ietf-netmod-revi… Andy Bierman
- Re: [netmod] WG Last Call: draft-ietf-netmod-revi… Martin Bjorklund
- Re: [netmod] WG Last Call: draft-ietf-netmod-revi… Andy Bierman
- Re: [netmod] WG Last Call: draft-ietf-netmod-revi… Andy Bierman
- Re: [netmod] WG Last Call: draft-ietf-netmod-revi… t.petch
- Re: [netmod] WG Last Call: draft-ietf-netmod-revi… t.petch
- Re: [netmod] WG Last Call: draft-ietf-netmod-revi… Martin Bjorklund
- [netmod] <running> vs <intended> [was Re: WG Last… Robert Wilton
- Re: [netmod] WG Last Call: draft-ietf-netmod-revi… Robert Wilton
- Re: [netmod] WG Last Call: draft-ietf-netmod-revi… Juergen Schoenwaelder
- Re: [netmod] WG Last Call: draft-ietf-netmod-revi… Lou Berger
- Re: [netmod] WG Last Call: draft-ietf-netmod-revi… Martin Bjorklund
- Re: [netmod] <running> vs <intended> [was Re: WG … Andy Bierman
- Re: [netmod] <running> vs <intended> [was Re: WG … Robert Wilton
- Re: [netmod] <running> vs <intended> [was Re: WG … Andy Bierman
- Re: [netmod] <running> vs <intended> [was Re: WG … Robert Wilton
- Re: [netmod] <running> vs <intended> [was Re: WG … Juergen Schoenwaelder
- Re: [netmod] <running> vs <intended> [was Re: WG … Andy Bierman
- Re: [netmod] <running> vs <intended> Martin Bjorklund
- Re: [netmod] <running> vs <intended> Andy Bierman
- Re: [netmod] <running> vs <intended> Robert Wilton
- Re: [netmod] <running> vs <intended> Martin Bjorklund
- Re: [netmod] WG Last Call: draft-ietf-netmod-revi… t.petch
- Re: [netmod] <running> vs <intended> Robert Wilton
- Re: [netmod] WG Last Call: draft-ietf-netmod-revi… Robert Wilton
- Re: [netmod] WG Last Call: draft-ietf-netmod-revi… Robert Wilton
- Re: [netmod] WG Last Call: draft-ietf-netmod-revi… Lou Berger
- Re: [netmod] <running> vs <intended> Robert Wilton
- Re: [netmod] <running> vs <intended> t.petch
- Re: [netmod] <running> vs <intended> Robert Wilton
- Re: [netmod] <running> vs <intended> Robert Wilton
- [netmod] RFC 2119 language [was Re: WG Last Call:… Robert Wilton
- Re: [netmod] RFC 2119 language [was Re: WG Last C… Lou Berger
- Re: [netmod] RFC 2119 language Martin Bjorklund
- Re: [netmod] RFC 2119 language [was Re: WG Last C… Juergen Schoenwaelder
- Re: [netmod] RFC 2119 language [was Re: WG Last C… Andy Bierman
- Re: [netmod] RFC 2119 language [was Re: WG Last C… Juergen Schoenwaelder
- Re: [netmod] RFC 2119 language [was Re: WG Last C… Andy Bierman
- Re: [netmod] RFC 2119 language [was Re: WG Last C… Lou Berger
- Re: [netmod] RFC 2119 language [was Re: WG Last C… Juergen Schoenwaelder
- Re: [netmod] RFC 2119 language [was Re: WG Last C… Lou Berger
- Re: [netmod] <running> vs <intended> Robert Wilton
- Re: [netmod] WG Last Call: draft-ietf-netmod-revi… Robert Wilton
- Re: [netmod] <running> vs <intended> t.petch
- Re: [netmod] <running> vs <intended> Robert Wilton
- Re: [netmod] WG Last Call: draft-ietf-netmod-revi… Robert Wilton
- Re: [netmod] WG Last Call: draft-ietf-netmod-revi… Robert Wilton