Re: [Netconf] Shepherd review of draft-ietf-netconf-nmda-restconf

Martin Bjorklund <mbj@tail-f.com> Thu, 19 April 2018 05:41 UTC

Return-Path: <mbj@tail-f.com>
X-Original-To: netconf@ietfa.amsl.com
Delivered-To: netconf@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 0C193128961 for <netconf@ietfa.amsl.com>; Wed, 18 Apr 2018 22:41:06 -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 fx07EuCYzWgi for <netconf@ietfa.amsl.com>; Wed, 18 Apr 2018 22:41:03 -0700 (PDT)
Received: from mail.tail-f.com (mail.tail-f.com [46.21.102.45]) by ietfa.amsl.com (Postfix) with ESMTP id 37BBF120724 for <netconf@ietf.org>; Wed, 18 Apr 2018 22:41:03 -0700 (PDT)
Received: from localhost (h-80-27.A165.priv.bahnhof.se [212.85.80.27]) by mail.tail-f.com (Postfix) with ESMTPSA id 3B74B1AE00A0; Thu, 19 Apr 2018 07:41:01 +0200 (CEST)
Date: Thu, 19 Apr 2018 07:41:00 +0200
Message-Id: <20180419.074100.1418639578713555717.mbj@tail-f.com>
To: mjethanandani@gmail.com
Cc: netconf@ietf.org
From: Martin Bjorklund <mbj@tail-f.com>
In-Reply-To: <85846A8F-EF67-4947-B0A3-A487A09E4C41@gmail.com>
References: <12BD2BFD-A04E-44B4-AE70-EFBC6D7CB841@gmail.com> <20180412.125301.1466306532315626303.mbj@tail-f.com> <85846A8F-EF67-4947-B0A3-A487A09E4C41@gmail.com>
X-Mailer: Mew version 6.7 on Emacs 24.5 / Mule 6.0 (HANACHIRUSATO)
Mime-Version: 1.0
Content-Type: Text/Plain; charset="utf-8"
Content-Transfer-Encoding: base64
Archived-At: <https://mailarchive.ietf.org/arch/msg/netconf/Fv2xR08MCX5KZiqiM5EckLLCp_Y>
Subject: Re: [Netconf] Shepherd review of draft-ietf-netconf-nmda-restconf
X-BeenThere: netconf@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: Network Configuration WG mailing list <netconf.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netconf>, <mailto:netconf-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netconf/>
List-Post: <mailto:netconf@ietf.org>
List-Help: <mailto:netconf-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netconf>, <mailto:netconf-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 19 Apr 2018 05:41:06 -0000

Mahesh Jethanandani <mjethanandani@gmail.com> wrote:
> 
> 
> > On Apr 12, 2018, at 3:53 AM, Martin Bjorklund <mbj@tail-f.com> wrote:
> > 
> > Hi,
> > 
> > 
> > Mahesh Jethanandani <mjethanandani@gmail.com> wrote:
> >> I have reviewed -03 version of draft-ietf-netconf-nmda-restconf. 
> >> 
> >> The document is well written, and is easy to read, but has issues
> >> which should be addressed before the document is sent to IESG.
> >> 
> >> Nits.
> >> 
> >> Abstract:
> >> 
> >> s/REF Editor/RFC Editor/
> > 
> > Fixed.
> > 
> >> 1.0 Introduction:
> >> 
> >> The first comma in this sentence seems to be misplaced. 
> >> 
> >> “supported in each datastore and, finally,” ??
> > 
> > I removed the "finally,".
> > 
> >> 2. Datastore and YANG Library Requirements
> >> 
> >> Can we consolidate the RFC Editor instructions in one place, instead
> >> of splitting them between here and Abstract.
> > 
> > I don't think this matters; these are just instructions to the RFC
> > editor that will be removed.  If the RFC editor has a preference for
> > either style I'd be happy to follow that.
> 
> The RFC editors have indicated that they would prefer RFC instructions
> for the entire draft appear in one place.
> 
> > 
> >> Detailed comments:
> >> 
> >> Introduction:
> >> 
> >> The document states:
> >> 
> >> "This document updates [RFC8040 <https://tools.ietf.org/html/rfc8040>]
> >> in order to enable RESTCONF clients to discover which datastores are
> >> supported by the RESTCONF server, as well as determine which modules
> >> are supported in each datastore and, finally, to interact with all the
> >> datastores supported by the NMDA. Specifically, the update introduces
> >> new datastore resources, adds a new query parameter, and requires the
> >> usage of [I-D.ietf-netconf-rfc7895bis
> >> <https://tools.ietf.org/html/draft-ietf-netconf-nmda-restconf-03.html#ref-I-D.ietf-netconf-rfc7895bis>]
> >> by RESTCONF servers implementing the NMDA."
> >> 
> >> 
> >> Questions:
> >> 
> >> 1) How does this draft enable RESTCONF clients to discover which
> >> datastores are supported?
> >> 
> >> Is it the definition of the new datastores resource? If so, can that
> >> be made explicit, by saying something like this in Section 3.1
> > 
> > No, it is the inclusion of the new YANG library that makes this
> > possible.  I suggest we add a paragraph at the end of section 2:
> > 
> >  A RESTCONF client can discover which datastores and YANG modules the
> >  server supports by reading the YANG library information from the
> >  operational state datastore.
> 
> Ok.
> 
> > 
> > 
> >> OLD:
> >> This document defines a set of new resources representing datastores
> >> as defined in [I-D.ietf-netmod-revised-datastores
> >> <https://tools.ietf.org/html/draft-ietf-netconf-nmda-restconf-03.html#ref-I-D.ietf-netmod-revised-datastores>].
> >> 
> >> NEW:
> >> This document defines a set of new resources representing datastores
> >> as defined in [I-D.ietf-netmod-revised-datastores
> >> <https://tools.ietf.org/html/draft-ietf-netconf-nmda-restconf-03.html#ref-I-D.ietf-netmod-revised-datastores>]. This
> >> resource
> >> can be used to discover the datastores that are supported by the
> >> server.
> >> 
> >> On the question of discovery of datastores itself, would the clients
> >> use the HEAD or GET methods to query what datastores are supported? If
> >> so, an example would be nice. Specifically, something that explains
> >> what response and errors to expect if the datastore is supported, and
> >> what response and errors to expect if the queried datastore is not
> >> supported.
> >> 
> >> 2) How does the draft help determine which modules are supported by
> >> each datastore?
> > 
> > See above, this is also covered by my proposed text.
> > 
> >> I went looking for text in the draft that talks about module discovery
> >> under each datastore, but did not find any. Am I missing something?
> 
> I do not see this issue addressed. The document states in the
> Introduction that:
> 
> "as well as determine which modules are supported in each datastore"
> 
> Where in the draft are we talking about module discovery in each
> datastore? If this is covered somewhere else, we should either remove
> this sentence or refer to the draft that covers it.

The text I proposed was:

  A RESTCONF client can discover which datastores and YANG modules the
  server supports by reading the YANG library information from the
  operational state datastore.

Do you think this answers the question which modules are supported?


/martin


> 
> Thanks.
> 
> >> 
> >> 3) The part of the sentence “to interact with all the datastores
> >> supported by the NMDA” seems incomplete.
> > 
> >> What interaction are we referring to? Is it the protocol operations on
> >> the datastore? Is it the query parameters on the datastores?
> > 
> > Yes, both.  A client can interact by reading or writing the
> > datastores.
> > 
> >> Section 3.2.1
> >> 
> >> What happens if the capability is not announced, but a “with-defaults”
> >> query is issued?
> > 
> > If the server doesn't understand the query, it will reply as defined
> > by RFC 8040, section 4.8.  This document doesn't change that behavior.
> > 
> >> Finally, what are the implications of explicit discovery of datastores
> >> supported by a RESTCONF server? For example, if the above
> >> “with-defaults” query is issued with the “content” query parameter set
> >> to “nonconfig", default values from which datastore are returned?
> > 
> > I don't understand this question.  Neither of these query parameter
> > controls from which datastore data is returned.
> > 
> >> Also, if the query parameter “content” is not present, RFC 8040 says
> >> that the default value is “all”. Does “all” include operational
> >> datastore data nodes, with or without the new capability? In other
> >> words, do we need to redefine “all”?
> > 
> > No, RFC 8040 says that "all" means: "Return all descendant data
> > nodes".  This document doesn't change that.
> > 
> > 
> > /martin
> 
> Mahesh Jethanandani
> mjethanandani@gmail.com
>