Re: [netmod] [Netconf] LC of NDMA NETCONF/RESTCONF drafts
Andy Bierman <andy@yumaworks.com> Wed, 07 February 2018 02:33 UTC
Return-Path: <andy@yumaworks.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 33322127342 for <netmod@ietfa.amsl.com>; Tue, 6 Feb 2018 18:33:45 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.6
X-Spam-Level:
X-Spam-Status: No, score=-2.6 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-0.7, SPF_PASS=-0.001] autolearn=unavailable autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=yumaworks-com.20150623.gappssmtp.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 QLdBQhG5WLrB for <netmod@ietfa.amsl.com>; Tue, 6 Feb 2018 18:33:41 -0800 (PST)
Received: from mail-lf0-x22f.google.com (mail-lf0-x22f.google.com [IPv6:2a00:1450:4010:c07::22f]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 7DFA112421A for <netmod@ietf.org>; Tue, 6 Feb 2018 18:33:40 -0800 (PST)
Received: by mail-lf0-x22f.google.com with SMTP id v188so5618515lfa.11 for <netmod@ietf.org>; Tue, 06 Feb 2018 18:33:40 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yumaworks-com.20150623.gappssmtp.com; s=20150623; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=DMkQQfc3PeeEkWYFWT/43YKPmQYDCCwPG7SZbSi0WS0=; b=zFbJL7TsDwPz5MwDOuCVmAau3wicuhWOc+34eNPT9YoXSEBGABHWr69e/hxs6l0Bzv B9YQoA0XtE0JUpTCFA66tRfQCR8JFpfumS447MhqIKj4QqGFNwyDlR1HGP9Cdj0HTelA K15UlPX/AbUWl7efg4n2ufzRMFpta5aGAVUjiZ4U5CJx5I6Lvstr9fyZbgBZ+Tun6xp7 FWXiTApn9W4UnCrAKsVe7yzzfTfxJl33JzNcXgrZ4UUIWFKxFcg2ntF/oeCqF3vopYFL peJiPVhmVhpGyiQ0atHOzpstO17cv8SJx8yRalL6BVEL3i0tkPsycROSGZ9ZO+rJwTvI U1Ug==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=DMkQQfc3PeeEkWYFWT/43YKPmQYDCCwPG7SZbSi0WS0=; b=cW6jfGujiKMDxUVFbnNpUjbw6O/wcuYcOOVUj50HSEfFBe8jM/9XOcxq+VnnOKZjlN z41lgxJuDLA5iXnoMuhM1HGSF5y67abXAc9OYVui+z3IuoANmUpwNbYrdH8j6IUI/b8y BiyucXfT6JHsvXX/D9qC5oCgaPb5xTskJiGluAlOrk5HWuHimh+1kNqBN+3GTccNhows IZeHlF7CDvf7sxZ1N6Tzph5kuMQKVeH+TDEyOIQOCraf3x+Mt4qmY/rtcPv6w2UUKP8A 2CtxWQ/jACE+BVj9R+/J5jSwJXfBEoVNiAJDqDjfLcJb18pSdcwV4ges6akeu1xhYAPN ct9A==
X-Gm-Message-State: APf1xPA6DtajYM5GiHGcgRUKg6BgvuPjFkjKnKjct1oLZTSt3I+RCE/S cBk7hqoMB/LoMUM8mzpkPJ3uT0IUxthoFiZUuV9spQ==
X-Google-Smtp-Source: AH8x227+K1SJyAoqWFZ0QYTKdGixMgcyXI2TkR4x3HIHjFvEKpan5xuxkpdM6C/qWZJn8bPa1O7Fq3SU76Ng+CrHWwI=
X-Received: by 10.25.201.81 with SMTP id z78mr2834829lff.74.1517970818539; Tue, 06 Feb 2018 18:33:38 -0800 (PST)
MIME-Version: 1.0
Received: by 10.25.143.6 with HTTP; Tue, 6 Feb 2018 18:33:37 -0800 (PST)
In-Reply-To: <39203004-C003-4C07-A376-006B6F7969D6@gmail.com>
References: <29b8034ef2a94523944d53767e6789be@XCH-RTP-013.cisco.com> <20180131181619.ziqdv5peqdeeuhl4@elstar.local> <CF1EAD28-5535-4E5B-BD32-99BB5C46EEAD@gmail.com> <20180205.184312.338993520253253388.mbj@tail-f.com> <39203004-C003-4C07-A376-006B6F7969D6@gmail.com>
From: Andy Bierman <andy@yumaworks.com>
Date: Tue, 06 Feb 2018 18:33:37 -0800
Message-ID: <CABCOCHS_0zXj+EgDTi0aRygFZULvOCpdsK0C_40H6kbCMd3faQ@mail.gmail.com>
To: Mahesh Jethanandani <mjethanandani@gmail.com>
Cc: Martin Bjorklund <mbj@tail-f.com>, Netconf <netconf@ietf.org>, NetMod WG <netmod@ietf.org>
Content-Type: multipart/alternative; boundary="001a114b798c6b3c610564961fa4"
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/GJ9RGXY47KAdiZttmXvESEn1wVU>
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, 07 Feb 2018 02:33:45 -0000
On Mon, Feb 5, 2018 at 1:33 PM, Mahesh Jethanandani <mjethanandani@gmail.com > wrote: > For folks that provided comments as part of LC, please verify that your > comments have been adequately addressed by -03 version of the draft. > > Most comments have been addressed. The "with-defaults" parameter does not apply when interacting with an operational datastore. There is no explanation of why the with-defaults parameter does not apply to <operational>. This is confusing. The solution that has been a standard for years still applies to all datastores, except a completely different mechanism (origin-filter) is used instead for 1 datastore. If the server code can identify a default so it can be tagged origin=or:default, then it can also support with-defaults. I prefer the sentence above be changed, so that a server MAY implement with-defaults for <operational>. If the client sends <with-defaults> it should be OK to honor it instead of returning an error. Andy > Thanks > > Mahesh Jethanandani > mjethanandani@gmail.com > > > On Feb 5, 2018, at 9:43 AM, Martin Bjorklund <mbj@tail-f.com> wrote: > > > > Hi, > > > > Mahesh Jethanandani <mjethanandani@gmail.com> wrote: > >> This closes the LC for the two NDMA drafts for NETCONF and RESTCONF. > >> > >> As part of the LC, there were a couple of comments/questions > >> raised. In particular > >> > >> - Vladmir reported an error, which Martin said is fixed in his local > copy. > > > > Fixed. > > > >> - Robert suggested that “/yang-library/checksum” should be a > >> reference. Juergen supported that comment, so I am assuming that > >> that will be incorporated into the draft. > > > > Yes, fixed. > > > >> - Andy had questions around datastore set to “conventional” > > > > Fixed. > > > >> , about origin filter limited to 1 source > > > > Fixed. > > > >> and the behavior of with-defaults. > > > > There were no additional changes to the document from the discussion > > about this. > > > >> I see some discussion around it with the authors > >> agreeing that some of them need some text clarifying the > >> position. Can the authors please post the suggested text/additions > >> for the WG to review. > >> - Anything else?? > >> > >> Once an updated draft has been posted, I will do a writeup on the > >> drafts and send it to IESG. > > > > The issues above are now addressed, in > > draft-ietf-netconf-nmda-netconf-03. > > > > There were no additional comments on > > draft-ietf-netconf-nmda-restconf-02, so I believe this version is > > ready. > > > > > > /martin > > > > > >> > >> Thanks. > >> > >>> On Jan 31, 2018, at 10:16 AM, Juergen Schoenwaelder < > j.schoenwaelder@jacobs-university.de> wrote: > >>> > >>> On Wed, Jan 31, 2018 at 04:53:48PM +0000, Eric Voit (evoit) wrote: > >>>> > >>>> I do have one additional thought below on draft-ietf-netmod-revised-datastores > section 5.3 default handling process. See in-line... > >>>> > >>> > >>> Well, this document is with the RFC editor now. I do not think it needs > >>> clarification. It already has text in 5.3 such as: > >>> > >>> Requests to retrieve nodes from <operational> always return the value > >>> in use if the node exists, regardless of any default value specified > >>> in the YANG module. If no value is returned for a given node, then > >>> this implies that the node is not used by the device. > >>> > >>> /js > >>> > >>>> 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><mailto: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. > >>>> > >>>> 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). > >>>> > >>>> 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><mailto:netmod@ietf.org > <mailto:netmod@ietf.org>> > >>>> > >>>> https://www.ietf.org/mailman/listinfo/netmod < > https://www.ietf.org/mailman/listinfo/netmod> > >>>> > >>> > >>>> _______________________________________________ > >>>> netmod mailing list > >>>> netmod@ietf.org <mailto:netmod@ietf.org> > >>>> https://www.ietf.org/mailman/listinfo/netmod < > https://www.ietf.org/mailman/listinfo/netmod> > >>> > >>> > >>> -- > >>> 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/ < > https://www.jacobs-university.de/>> > >>> > >>> _______________________________________________ > >>> netmod mailing list > >>> netmod@ietf.org <mailto:netmod@ietf.org> > >>> https://www.ietf.org/mailman/listinfo/netmod < > https://www.ietf.org/mailman/listinfo/netmod> > >> Mahesh Jethanandani > >> mjethanandani@gmail.com > >> > > _______________________________________________ > Netconf mailing list > Netconf@ietf.org > https://www.ietf.org/mailman/listinfo/netconf >
- [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