Re: [netmod] [Netconf] LC of NDMA NETCONF/RESTCONF drafts
Robert Wilton <rwilton@cisco.com> Wed, 31 January 2018 17:24 UTC
Return-Path: <rwilton@cisco.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 2FC7012EBC5; Wed, 31 Jan 2018 09:24:20 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -14.499
X-Spam-Level:
X-Spam-Status: No, score=-14.499 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_HI=-5, SPF_PASS=-0.001, T_KAM_HTML_FONT_INVALID=0.01, T_RP_MATCHES_RCVD=-0.01, URIBL_BLOCKED=0.001, USER_IN_DEF_DKIM_WL=-7.5] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=cisco.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 gUvxOYleO_Jf; Wed, 31 Jan 2018 09:24:16 -0800 (PST)
Received: from aer-iport-4.cisco.com (aer-iport-4.cisco.com [173.38.203.54]) (using TLSv1.2 with cipher DHE-RSA-SEED-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 9929212EC24; Wed, 31 Jan 2018 09:24:14 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=cisco.com; i=@cisco.com; l=33705; q=dns/txt; s=iport; t=1517419454; x=1518629054; h=subject:to:references:from:message-id:date:mime-version: in-reply-to; bh=oZC6SsARx4ALbNS/E2eN5zloffouil5vIdMSqlFclpw=; b=SR1d6aVNBiBcJjzd/AxSWtwHUvbvSf3calJCTPbFuaQFFvppXVnKSRIT isBgrl5zFvN030cNZq1LGzK9DZO33zZQwm/OZ+fnBg7K81ktBM5yvI/rM W0jh+Y0KI6cy9X+x5xfubOzR/DPHN9qBl2oMfjUCv3I77H9v/oaqdg2I1 U=;
X-IronPort-AV: E=Sophos;i="5.46,440,1511827200"; d="scan'208,217";a="1722140"
Received: from aer-iport-nat.cisco.com (HELO aer-core-1.cisco.com) ([173.38.203.22]) by aer-iport-4.cisco.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 31 Jan 2018 17:24:12 +0000
Received: from [10.63.23.78] (dhcp-ensft1-uk-vla370-10-63-23-78.cisco.com [10.63.23.78]) by aer-core-1.cisco.com (8.14.5/8.14.5) with ESMTP id w0VHOCsL032654; Wed, 31 Jan 2018 17:24:12 GMT
To: "Eric Voit (evoit)" <evoit@cisco.com>, Andy Bierman <andy@yumaworks.com>, netconf <netconf@ietf.org>, NETMOD Working Group <netmod@ietf.org>
References: <CF60B198-564B-499A-9B17-E992569074CB@gmail.com> <D3BBAA02-AA28-4E13-A8CF-9B7925DEE2FF@gmail.com> <CABCOCHTgYWgFNZNi-x5V5uErgd331=y9j-mW=xvFnEArLdykzw@mail.gmail.com> <20180131081118.uqxivaxbkbbzzmji@elstar.local> <CABCOCHRWZPO=d4gXTEXRL4vY3MNEwMGJi3+Ug3q_GVwJcNFYWw@mail.gmail.com> <7634f6d2-2bac-cacb-10af-474b7ced5db4@cisco.com> <29b8034ef2a94523944d53767e6789be@XCH-RTP-013.cisco.com>
From: Robert Wilton <rwilton@cisco.com>
Message-ID: <0b096694-d5e2-4406-b5b2-0813814ddd73@cisco.com>
Date: Wed, 31 Jan 2018 17:24:11 +0000
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101 Thunderbird/52.5.2
MIME-Version: 1.0
In-Reply-To: <29b8034ef2a94523944d53767e6789be@XCH-RTP-013.cisco.com>
Content-Type: multipart/alternative; boundary="------------96FD3EDFC584BFC458676B1C"
Content-Language: en-US
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/AgYFYgBfBROT7EuWANZ_B50pJFA>
Subject: Re: [netmod] [Netconf] LC of NDMA NETCONF/RESTCONF drafts
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, 31 Jan 2018 17:24:20 -0000
Hi Eric,
On 31/01/2018 16:53, Eric Voit (evoit) wrote:
>
> I have read and support these two drafts going forward.
>
> I do have one additional thought below on
> draft-ietf-netmod-revised-datastores section 5.3 default handling
> process. See in-line...
>
> *From:*Robert Wilton -X, January 31, 2018 6:31 AM
>
> Hi Andy,
>
> On 31/01/2018 09:22, Andy Bierman wrote:
>
> On Wed, Jan 31, 2018 at 12:11 AM, Juergen Schoenwaelder
> <j.schoenwaelder@jacobs-university.de
> <mailto:j.schoenwaelder@jacobs-university.de>> wrote:
>
> On Tue, Jan 30, 2018 at 12:35:33PM -0800, Andy Bierman wrote:
> > Hi,
> >
> > I have some questions about these drafts.
> >
> > 1) what if datastore set to "conventional"?
> > There are many places where a datastore-ref type is used.
> > However, "conventional" is valid for base "datastore",
> even though
> > it is ambiguous as a datastore selector.
>
> We can add explicit text that an identity that does not
> resolve to a
> datastore implemented by the server results in an invalid
> value error.
>
> OK
>
> > 2) origin filter is limited to 1 source
> > This filtering seems rather limited. A client must retrieve
> > <with-origin> and check
> > all the values in use, then make repeated requests for
> each source as a
> > different
> > <origin-filter> leaf
>
> If the client does <with-origin>, then it has all origin
> information
> and it can filter locally. That said, we could make
> origin-filter a
> leaf-list which is logically ORed so that one can retrieve
> origin-filter=or:system or origin-filter=or:learned in one
> request.
>
> OK
>
> > 3) with-defaults broken
> > The operational datastore does not support with-defaults.
> > Instead, the client must use origin-filter=or:default
> or with-origin
> > and check all the origin attributes. Since a client
> needs to use
> > with-defaults for other datastores, this special
> handling of
> > <operational>
> > seems unhelpful.
>
> I think the with-defaults semantics for conventional configuration
> datastores are much more complicated than necessary for the
> operational state datastore. Note that that the operational state
> datastore reports in-use values not really defaults:
>
> <leaf or:origin='default'>foo</leaf>
>
> This reports that the value 'foo' is in use and that it originates
> from a default value. Note that this could also be
>
> <leaf or:origin='intended'>foo</leaf>
>
> in case the intended configuration datastore configured the value
> 'foo' (despite this value matching the default). The with-defaults
> solution is pretty complex because it tries to handle how
> different
> systems deal with configuration defaults. The idea is to not carry
> this complexity over to in-use values in the operational state
> datastore.
>
> Before NMDA, the client could decide if it wanted to retrieve
> default nodes or not.
>
> This client-choice has been removed from NMDA, which is a problem.
>
> We tried to reach a sensible compromise on the data returned from
> operational (defined in section 5.3 of the NMDA architecture):
> - it should return explicit values for everything that is affecting
> the actual running state of the device (regardless of whether the
> operational value matches a schema default value).
> - it does not need to, and should not, return operational values for
> stuff that isn't actually in use, i.e. don't return needless and
> unwanted data.
>
> In particular, if no value is returned from a particular data node in
> <operational> then, barring mgmt protocol errors, a client can assume
> that any functionality associated with that data node is off (i.e. not
> in use).
>
> Some examples to illustrate the behavior:
>
> (i) If a protocol, e.g. OSPF, is not enabled/running then
> <operational> does not need to return any data for it. It would be
> reasonable to return a flag to indicate that OSPF is not enabled/running.
>
> (ii) If you have some funky widget on an interface that defaults to
> being off and isn't being used then <operational> don't need to return
> any data for it.
>
> (iii) But, if you have some funky widget on an interface that defaults
> to being on, then the server should return data for it. If it is
> actually enabled, then it would indicate that it is on and return any
> associated values with its operational state, or if it is disabled
> then it should explicitly report that it is off.
>
> (iv) I would regard that all applied configuration is "in use" by the
> system, even if it matches the default value, and hence it should be
> reported.
>
>
> This behavior for <operational> is obviously slightly different from
> the existing with-default handling that is supported for configuration
> datastores. As I recall, there were a couple of reasons that we
> decided to have a different behavior for <operational>:
> (a) to have consistent semantics for all servers, rather than
> different servers supporting different with-defaults behaviors (which
> makes life harder for clients because they must cope with all variants).
> (b) to remove any potential ambiguity if data isn't returned. I.e.
> with the existing with-defaults semantics it is not clear to me that
> servers will always return an explicit value to indicate that a
> particular widget is off if the schema defines that the default it
> that is enabled. If the server doesn't support a given widget at all,
> it is quite plausible that it will just return no data for it. In
> theory features/deviations should handle this, but those don't work so
> well if different linecards have different capabilities. Hence being
> explicit about stuff that is in use seems more robust.
>
> <eric> These are good examples. It would be great if section 5.3
> could be tweaked to make clearer the relationship between running
> datastore defaults and other operational datastore defaults for the
> same tree.
>
I think that the boat has probably sailed on changing 5.3 in the NMDA
architecture, unless it is done as an erratum. I'm not sure that this
is required. I actually think that FAQs are a good place for these
sorts of examples, and extra explanatory text.
> For example, let’s say I create a configured subscription, and the
> default transport protocol is NETCONF. NETCONF will be used for that
> subscription even though the node might not be populated. In this
> case, the object would not appear in the running datastore, but MUST*
> appear in the operational datastore with the default origin (as it is
> in-use).
>
Yes, that is the intended interpretation, although I think that we say
SHOULD rather than MUST, and give the implementation a bit of leeway in
choosing what is "in use".
Also, the NMDA definition of the "default" origin is wider than the YANG
default statement, or "with-defaults" definition. The NMDA definition
of the "default" origin is:
"Denotes configuration that does not have an configured or
learned value, but has a default value in use. Covers both
values defined in a 'default' statement, and values defined
via an explanation in a 'description' statement.";
The aim of this text is to allow more complex defaults, such as a
hierarchical default behavior that cannot be expressed using a simple
"default" statement.
Thanks,
Rob
> This to me is the desired behavior as it doesn’t incorrectly add
> information to the running datastore, but shows what is in-use within
> operational. I suspect other such relationships for other
> operational tree defaults could be asserted, perhaps based on the origin.
>
> (* Maybe ‘MUST eventually’, as obviously there is a temporal
> relationship between the two datastores.)
>
> Eric
>
> Thanks,
> Rob
>
>
>
> /js
>
> Andy
>
> --
> Juergen Schoenwaelder Jacobs University Bremen gGmbH
> Phone: +49 421 200 3587 Campus Ring 1 | 28759 Bremen |
> Germany
> Fax: +49 421 200 3103 <https://www.jacobs-university.de/>
>
>
>
>
> _______________________________________________
>
> netmod mailing list
>
> netmod@ietf.org <mailto:netmod@ietf.org>
>
> https://www.ietf.org/mailman/listinfo/netmod
>
- [netmod] LC of NDMA NETCONF/RESTCONF drafts Mahesh Jethanandani
- Re: [netmod] [Netconf] LC of NDMA NETCONF/RESTCON… Kent Watsen
- Re: [netmod] [Netconf] LC of NDMA NETCONF/RESTCON… Robert Wilton
- Re: [netmod] [Netconf] LC of NDMA NETCONF/RESTCON… Vladimir Vassilev
- [netmod] WG LC comment on draft-ietf-netconf-nmda… Robert Wilton
- Re: [netmod] [Netconf] WG LC comment on draft-iet… Juergen Schoenwaelder
- Re: [netmod] LC of NDMA NETCONF/RESTCONF drafts Mahesh Jethanandani
- Re: [netmod] [Netconf] LC of NDMA NETCONF/RESTCON… Kent Watsen
- Re: [netmod] [Netconf] LC of NDMA NETCONF/RESTCON… Juergen Schoenwaelder
- Re: [netmod] LC of NDMA NETCONF/RESTCONF drafts Andy Bierman
- Re: [netmod] [Netconf] LC of NDMA NETCONF/RESTCON… Martin Bjorklund
- Re: [netmod] [Netconf] LC of NDMA NETCONF/RESTCON… Juergen Schoenwaelder
- Re: [netmod] [Netconf] LC of NDMA NETCONF/RESTCON… Martin Bjorklund
- Re: [netmod] [Netconf] LC of NDMA NETCONF/RESTCON… Andy Bierman
- Re: [netmod] [Netconf] LC of NDMA NETCONF/RESTCON… Robert Wilton
- Re: [netmod] [Netconf] LC of NDMA NETCONF/RESTCON… Robert Wilton
- Re: [netmod] [Netconf] LC of NDMA NETCONF/RESTCON… Ladislav Lhotka
- Re: [netmod] [Netconf] LC of NDMA NETCONF/RESTCON… Eric Voit (evoit)
- Re: [netmod] [Netconf] LC of NDMA NETCONF/RESTCON… Robert Wilton
- Re: [netmod] [Netconf] LC of NDMA NETCONF/RESTCON… Juergen Schoenwaelder
- Re: [netmod] [Netconf] LC of NDMA NETCONF/RESTCON… Eric Voit (evoit)
- Re: [netmod] [Netconf] LC of NDMA NETCONF/RESTCON… Mahesh Jethanandani
- Re: [netmod] [Netconf] LC of NDMA NETCONF/RESTCON… Martin Bjorklund
- Re: [netmod] [Netconf] LC of NDMA NETCONF/RESTCON… Mahesh Jethanandani
- Re: [netmod] [Netconf] LC of NDMA NETCONF/RESTCON… Robert Wilton
- Re: [netmod] [Netconf] LC of NDMA NETCONF/RESTCON… Andy Bierman
- Re: [netmod] [Netconf] LC of NDMA NETCONF/RESTCON… Robert Wilton
- Re: [netmod] [Netconf] LC of NDMA NETCONF/RESTCON… Andy Bierman
- Re: [netmod] [Netconf] LC of NDMA NETCONF/RESTCON… Robert Wilton
- Re: [netmod] [Netconf] LC of NDMA NETCONF/RESTCON… Andy Bierman
- Re: [netmod] [Netconf] LC of NDMA NETCONF/RESTCON… Martin Bjorklund
- Re: [netmod] [Netconf] LC of NDMA NETCONF/RESTCON… Andy Bierman
- Re: [netmod] [Netconf] LC of NDMA NETCONF/RESTCON… Mahesh Jethanandani
- Re: [netmod] [Netconf] LC of NDMA NETCONF/RESTCON… Andy Bierman
- Re: [netmod] [Netconf] LC of NDMA NETCONF/RESTCON… Juergen Schoenwaelder
- Re: [netmod] [Netconf] LC of NDMA NETCONF/RESTCON… Andy Bierman
- Re: [netmod] [Netconf] LC of NDMA NETCONF/RESTCON… Andy Bierman
- Re: [netmod] [Netconf] LC of NDMA NETCONF/RESTCON… Phil Shafer
- Re: [netmod] [Netconf] LC of NDMA NETCONF/RESTCON… Martin Bjorklund
- Re: [netmod] [Netconf] LC of NDMA NETCONF/RESTCON… Martin Bjorklund
- Re: [netmod] [Netconf] LC of NDMA NETCONF/RESTCON… Juergen Schoenwaelder
- Re: [netmod] [Netconf] LC of NDMA NETCONF/RESTCON… Andy Bierman
- Re: [netmod] [Netconf] LC of NDMA NETCONF/RESTCON… Juergen Schoenwaelder
- Re: [netmod] [Netconf] LC of NDMA NETCONF/RESTCON… Martin Bjorklund
- Re: [netmod] [Netconf] LC of NDMA NETCONF/RESTCON… Andy Bierman