Re: [netmod] <running> vs <intended>
Martin Bjorklund <mbj@tail-f.com> Tue, 19 September 2017 09:57 UTC
Return-Path: <mbj@tail-f.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 8C07B126BF0; Tue, 19 Sep 2017 02:57:34 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.9
X-Spam-Level:
X-Spam-Status: No, score=-1.9 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
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 mPZtOnqcpa6y; Tue, 19 Sep 2017 02:57:32 -0700 (PDT)
Received: from mail.tail-f.com (mail.tail-f.com [46.21.102.45]) by ietfa.amsl.com (Postfix) with ESMTP id 6AFED132EDA; Tue, 19 Sep 2017 02:57:32 -0700 (PDT)
Received: from localhost (unknown [173.38.220.41]) by mail.tail-f.com (Postfix) with ESMTPSA id B2C8B1AE02A7; Tue, 19 Sep 2017 11:57:30 +0200 (CEST)
Date: Tue, 19 Sep 2017 11:55:59 +0200
Message-Id: <20170919.115559.1080249872764998055.mbj@tail-f.com>
To: rwilton@cisco.com
Cc: andy@yumaworks.com, j.schoenwaelder@jacobs-university.de, ietfc@btconnect.com, lberger@labn.net, netmod@ietf.org, netmod-chairs@ietf.org, draft-ietf-netmod-revised-datastores@ietf.org
From: Martin Bjorklund <mbj@tail-f.com>
In-Reply-To: <99b9a2c6-4bb4-121f-0cba-925cefe09712@cisco.com>
References: <20170918.200734.1805388289423863575.mbj@tail-f.com> <CABCOCHTD_6yQj1QFn0BsPg8hbkuUc9guEB6rhG46W1jnNRh=bA@mail.gmail.com> <99b9a2c6-4bb4-121f-0cba-925cefe09712@cisco.com>
X-Mailer: Mew version 6.7 on Emacs 24.5 / Mule 6.0 (HANACHIRUSATO)
Mime-Version: 1.0
Content-Type: Text/Plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/mF9GZcRvzGQ6NGBdP2NmYKdvJ-Y>
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: Tue, 19 Sep 2017 09:57:35 -0000
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? /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