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

Mahesh Jethanandani <mjethanandani@gmail.com> Thu, 19 April 2018 16:03 UTC

Return-Path: <mjethanandani@gmail.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 24D30126BF3 for <netconf@ietfa.amsl.com>; Thu, 19 Apr 2018 09:03:37 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.999
X-Spam-Level:
X-Spam-Status: No, score=-1.999 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.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 hVEmJMPAIjsf for <netconf@ietfa.amsl.com>; Thu, 19 Apr 2018 09:03:34 -0700 (PDT)
Received: from mail-pl0-x236.google.com (mail-pl0-x236.google.com [IPv6:2607:f8b0:400e:c01::236]) (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 9F98F124E15 for <netconf@ietf.org>; Thu, 19 Apr 2018 09:03:34 -0700 (PDT)
Received: by mail-pl0-x236.google.com with SMTP id a39-v6so3498644pla.10 for <netconf@ietf.org>; Thu, 19 Apr 2018 09:03:34 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:subject:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to; bh=lPgaeLRO+BUUJRFdJ5r3yzxS5ykw55JJLSxd7zekHns=; b=kjXqouPJjYLNJiljpjecpT45goCJrMynXiai32TdgITB1Ry9TMkngJt6BG78nVJbNf ZBRYjnJDhGYi19hsHOSBkp5NYD6QTXRSoOSammZbKmHsFt+25Ezpv9Ma84Jmcn9E9nZz 3mWqJD6tx8NQnu29ctwcR4RM3aVbMbpCbL5/s9y0xGWyhHzsex8rBtMJ8FUKf3NR5TZh RqxzjszEJhb52oSULBMYTTHnmncarCH0tjnO53e8KiXvnI3JuwnIux4IQthWUagFmKtD hH9gDWnqguKSQlKbrY9fy4P6uopS0HXJBVIUWzlC3VoOJG++Pu/VNMsILRxjl/eOqscW l4jA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:subject:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to; bh=lPgaeLRO+BUUJRFdJ5r3yzxS5ykw55JJLSxd7zekHns=; b=CwPLbmgRaB5EDkCAc8Ho7LWY0eFZ+5IhFlOKe+GaGJ9RS3ZloOqmGJ20vV7e1++CCp hxvUKJRjqSMQcNryB2e/0GyfzKW4cbqaWYHBtKoSWQ7qJlcIHgicg+OnT2MTLj0yy13G zGjMG5hTTjFAH+Ff8wg2AxUlBzxdDgG1Qd9TH4MU/DtCmsuUbrk9OZAgoGdzwIiKNfgl K1Lfk5mG2Nte04xhR8DcQAKOwysSFvICJYhq3KfaWTmkx74MRwQHJa40r0TowARfAQ3P qc1rYDKszpzhT63+r990uyeEjMaGhjjE0Frg3TiawARDCMO4dZkQuB7sByeRyD3l5wVZ yDIQ==
X-Gm-Message-State: ALQs6tAXvSzb3AR/Rj4hBI+giOKsgaFf/BnAHqQ6CJ7BWP2J73T7uD3Z EBLkmWTYKs0IlnUuRmYeUCY=
X-Google-Smtp-Source: AIpwx4+q0VqPlPcIsYbEOOGqR9EYIgRDHHSMQ5vHb4SbCw35buRe33e6oh2N3KbkXQ3f15Sypc5JqQ==
X-Received: by 2002:a17:902:24c:: with SMTP id 70-v6mr6723411plc.384.1524153814136; Thu, 19 Apr 2018 09:03:34 -0700 (PDT)
Received: from ?IPv6:2601:647:4700:1280:dde1:aceb:94f7:e0c6? ([2601:647:4700:1280:dde1:aceb:94f7:e0c6]) by smtp.gmail.com with ESMTPSA id o13sm8269856pgn.54.2018.04.19.09.03.32 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 19 Apr 2018 09:03:33 -0700 (PDT)
Content-Type: text/plain; charset="utf-8"
Mime-Version: 1.0 (Mac OS X Mail 11.3 \(3445.6.18\))
From: Mahesh Jethanandani <mjethanandani@gmail.com>
In-Reply-To: <20180419.074100.1418639578713555717.mbj@tail-f.com>
Date: Thu, 19 Apr 2018 09:03:32 -0700
Cc: netconf@ietf.org
Content-Transfer-Encoding: quoted-printable
Message-Id: <33D122B4-76EA-42C9-BBA8-28E40B165626@gmail.com>
References: <12BD2BFD-A04E-44B4-AE70-EFBC6D7CB841@gmail.com> <20180412.125301.1466306532315626303.mbj@tail-f.com> <85846A8F-EF67-4947-B0A3-A487A09E4C41@gmail.com> <20180419.074100.1418639578713555717.mbj@tail-f.com>
To: Martin Bjorklund <mbj@tail-f.com>
X-Mailer: Apple Mail (2.3445.6.18)
Archived-At: <https://mailarchive.ietf.org/arch/msg/netconf/qmL3Bnq8DxJvtMpz69KZ5BMT9Dc>
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 16:03:37 -0000


> On Apr 18, 2018, at 10:41 PM, Martin Bjorklund <mbj@tail-f.com> wrote:
> 
> 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?

It does, and sorry I missed that the first time around.

I think that satisfies all my queries. If you could post an updated draft with the changes we agreed, I will do the write-up.

Thanks.

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

Mahesh Jethanandani
mjethanandani@gmail.com