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
> >> .
> >>
> >
> > .
> >
>