Re: [netconf] [netmod] AD review of draft-ietf-netconf-notification-capabilities

Benoit Claise <benoit.claise@huawei.com> Mon, 05 July 2021 20:48 UTC

Return-Path: <benoit.claise@huawei.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 6359F3A1847; Mon, 5 Jul 2021 13:48:29 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.233
X-Spam-Level:
X-Spam-Status: No, score=-2.233 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, NICE_REPLY_A=-0.338, RCVD_IN_DNSWL_BLOCKED=0.001, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, 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 owyXccAKdqGz; Mon, 5 Jul 2021 13:48:24 -0700 (PDT)
Received: from frasgout.his.huawei.com (frasgout.his.huawei.com [185.176.79.56]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 0DFBD3A1845; Mon, 5 Jul 2021 13:48:24 -0700 (PDT)
Received: from fraeml736-chm.china.huawei.com (unknown [172.18.147.226]) by frasgout.his.huawei.com (SkyGuard) with ESMTP id 4GJcqB569xz6H6hj; Tue, 6 Jul 2021 04:34:14 +0800 (CST)
Received: from [10.47.29.143] (10.47.29.143) by fraeml736-chm.china.huawei.com (10.206.15.217) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2176.2; Mon, 5 Jul 2021 22:48:13 +0200
From: Benoit Claise <benoit.claise@huawei.com>
To: "Rob Wilton (rwilton)" <rwilton@cisco.com>, "draft-ietf-netconf-notification-capabilities@ietf.org" <draft-ietf-netconf-notification-capabilities@ietf.org>, "netconf@ietf.org" <netconf@ietf.org>
CC: netconf-chairs@ietf.org
References: <DM4PR11MB54380D220515D83AF8F84DE8B50A9@DM4PR11MB5438.namprd11.prod.outlook.com> <f7606bd3-d38b-3497-3c5d-93490a7c92b1@huawei.com>
Message-ID: <5c680eac-0622-b863-22e8-01b9e987f99c@huawei.com>
Date: Mon, 05 Jul 2021 22:47:55 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101 Thunderbird/78.11.0
MIME-Version: 1.0
In-Reply-To: <f7606bd3-d38b-3497-3c5d-93490a7c92b1@huawei.com>
Content-Type: multipart/alternative; boundary="------------59D143793CE352E461DD6345"
Content-Language: en-GB
X-Originating-IP: [10.47.29.143]
X-ClientProxiedBy: dggems702-chm.china.huawei.com (10.3.19.179) To fraeml736-chm.china.huawei.com (10.206.15.217)
X-CFilter-Loop: Reflected
Archived-At: <https://mailarchive.ietf.org/arch/msg/netconf/arpEsfVm-vAMgV3ZNUEqskpC3wc>
Subject: Re: [netconf] [netmod] AD review of draft-ietf-netconf-notification-capabilities
X-BeenThere: netconf@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: NETCONF WG 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: Mon, 05 Jul 2021 20:48:30 -0000

Dear all,

I realized that the NETMOD WG was copied on this email thread, instead 
of NETFCONF.
Now corrected, for archiving purposes.

Regards, Benoit

On 7/5/2021 12:53 PM, Benoit Claise wrote:
> Hi Rob,
>
> Thanks for your detailed review.
> A new draft version has been posted.
> URL:https://www.ietf.org/archive/id/draft-ietf-netconf-notification-capabilities-17.txt
> Status:https://datatracker.ietf.org/doc/draft-ietf-netconf-notification-capabilities/
> Htmlized:https://datatracker.ietf.org/doc/html/draft-ietf-netconf-notification-capabilities
> Diff:https://www.ietf.org/rfcdiff?url2=draft-ietf-netconf-notification-capabilities-17
>
> See the justifications below.
>
> On 6/21/2021 10:45 AM, Rob Wilton (rwilton) wrote:
>> Hi,
>>
>> Here is my AD review of draft-ietf-netconf-notification-capabiltiies-16
>>
>> Thanks for this draft, sorry for the delay in reviewing.  It looks like it is in good shape.
>>
>> I think that most of my comments are minor or cosmetic suggestions to potentially improve the phrasing of the text.
>>
>>
>> 1.
>> Abstract:
>>
>>     The module "ietf-system-capabilities" provides a placeholder
>>     structure that can be used to discover YANG related system
>>     capabilities for servers.  The module can be used to report
>>     capability information from the server at run-time or implementation-
>>     time, per the YANG Instance Data File Format.
>>
>> Suggest "by making use of" rather than "per".
> DONE.
>> 2.
>>     1.  Introduction
>>
>>     There is a need to publish this capability information as it is part
>>     of the contract between the server and client.
>>
>> Suggest "contract" -> "API contract".
> DONE
>> 3.
>>     There is a need to publish this capability information as it is part
>>     of the contract between the server and client.  Examples include
>>     maximum size of data that can be stored or transferred, information
>>     about counters (whether a node supports "on-change" telemetry), etc.
>>     Such capabilities are often dependent on a vendor's implementation or
>>     the available resources at deployment.  Many such capabilities are
>>     specific to either the complete system, individual YANG datastores
>>     [RFC8342] or specific parts of the YANG schema, or even individual
>>     data nodes.  It is a goal of this document to provide a common way of
>>     representing such capabilities in a format that is:
>>
>> Suggest: maximum -> the maximum
>>           "or specific" -> ", specific"
> DONE
>> 4.
>>     o  available in identical format both at implementation-time and run-
>>        time
>> 	
>> Suggest: "in an identical", and a period at the end.
> DONE
>> 5.
>>     If the information is
>>     not documented in a way available to the NMS designer, but only as
>>     instance data from the network node once it is deployed, the NMS
>>     implementation will be delayed
>>
>> Suggest: "way available" => "way that is readily available"
> DONE
>> 6.
>>     The network operator needs to plan his
>>     management practices and NMS implementation before he even decides to
>>     buy the specific network node type.
>>
>> Suggest: "him" -> "their", "he even decides" -> "they decide"
> DONE
>> 7.
>>     Run-time information is needed:
>>     
>> Suggest: Run-time capability information is needed:
> DONE.
>> 8.
>>     o  to check that capability information provided earlier, at
>>        implementation-time is what the publisher has implemented.
>>
>> Suggest: "at implementation-time, is"
> DONE
>> 9.
>>       To find a capability value for a specific data node in a
>>       specific datastore the user SHALL:
>> 	
>> Please clarify that the capability value is selected by the relative path
>> to the datanode defining the capability.  i.e., the same name/path must be
>> used both under the system level and per datastore level capabilties.
> NEW SENTENCE.
> "When stating a specific capability, the relative path for any specific
> capability must be the same under the system-capabilities container and
> under the per-node-capabilities list: the same grouping for defining the
> capabilities MUST be used. "
>> 10.
>> 2) If the datastore entry is found within that entry, process all
>>       per-node-capabilities entries in the order they appear in the list.
>>       The first entry that specifies the specific capability and has a
>>       node-selector selecting the specific data node defines the
>>       capability value.
>>
>> I'm not sure this is required, but perhaps consider adding text to make it clear
>> that longest path matching can be achieved by ordering more specific
>> matches before less specific matches.
> ADDED "Note that longest path matching can be achieved by ordering 
> more specific matches before less specific ones"
> under
>      list per-node-capabilities {
>          description
>            "Each list entry specifies capabilities for the selected
>             data nodes. The same capabilities apply for the data nodes
>             in the subtree below the selected nodes.
>
>             The system SHALL order the entries according to their
>             precedence. The order of the entries MUST NOT change unless
>             the underlying capabilities also change.";
> We did NOT add next to "2) If the datastore entry is found within that 
> entry ..." because that section focuses on the user (as opposed to the 
> implementer on the server), as mentioned in "To find a capability 
> value for a specific data node in a
>       specific datastore the user SHALL:"
>> 11.
>>      // augmentation point for system level capabilities
>> Suggest: "Augmentation ... capabilities."  I would also suggest using a block style
>> comment so this doesn't get lost.	
> DONE.
>> 12.
>>             Only one specific datastore can be specified
>>             e.g., ds:conventional is not allowed.";
>> 		
>> Suggest changing to:
>>
>>             Only specific datastores can be specified.
>> 		   E.g., ds:conventional, which represents a
>> 		   set of configuration datastores, must not be
>> 		   used";
> DONE
>> 13.
>>            description
>>              "A method to select all or some nodes within a datastore.";
>>
>> "some or all" would flow better.
> DONE
>> 14.
>>          // augmentation point for datastore or data node level
>>          // capabilities
>>
>> Suggest: "Augmentation ... capabilities."  I would also suggest using a block style
>> comment so this doesn't get lost.
> DONE.
>> 15.
>> 5.2.  YANG Module (ietf-notification-capabilities)
>>
>>        - capabilities related to the throughput of notification data
>>        the publisher can support. (Note that for a specific
>>        subscription the publisher MAY still allow only longer periods
>>        or smaller updates depending on e.g., actual load conditions.)
>> 	
>> Suggest: "data that the publisher"
>>           "specific subscription, the"
>> 		 "still allow" -> "allow"
>>           "e.g., -> ", e.g., "		
> DONE.
>>   
>>
>>
>> 16.
>>             bit config-changes {
>>               description
>>                 "The publisher is capable of sending
>>                  notifications for 'config false' nodes for the
>>                  relevant scope and subscription type.";
>> 				
>> I presume that this should this be 'config true' nodes?
> GOOD CATCH+
>
>> 17.
>>           description
>>             "Type for defining whether 'on-change' or
>>              'periodic' notifications are supported 'config false'
>>              data nodes, 'config true' date nodes, no data nodes,
>>              or all data nodes.
>> 			
>> Suggest: "supported for 'config false'",
>>           "date" -> "data
>> As an optional minor nit, it might be worth putting 'all' at the beginning
>> of the list rather than the end.
> DONE.
>> 18.
>>               "Indicates the minimal update period that is
>>                supported for a 'periodic' subscription.
>>
>>                A subscription request to the selected data
>>                nodes with a smaller period than what this leaf
>>                specifies will result in a 'period-unsupported' error.";
>>
>> Is "will result" right here, or should it be "MAY result" or "is likely to result"?
>> I.e., is the server guaranteeing that it won't handle a smaller update for the
>> given capability under any circumstance?  The same question also applies
>> to the "supported-update-period".
> DONE. "is likely to result"
>> 19.
>>             "The change types that can be excluded in
>>              YANG-Push subscriptions.";
>> 			
>> Suggest adding something like "for the selected data nodes."
> DONE
>> 20.
>> 7.2.  The YANG Module Names Registry
>>
>>     This document registers two YANG modules in the YANG Module Names
>>     registry.  Following the format in [RFC7950], the the following
>>     registrations are requested:
>>     
>> This should be (along with a normative reference to RFC 6020):
>>
>>     This document registers two YANG modules in the YANG Module Names
>>     registry [RFC6020].  Following the format in [RFC6020], the the following
>>     registrations are requested:
> DONE.
>> 21.
>> 9.2.  Informative References
>>
>>     [RFC3688]  Mealling, M., "The IETF XML Registry", BCP 81, RFC 3688,
>>                DOI 10.17487/RFC3688, January 2004,
>>                <https://www.rfc-editor.org/info/rfc3688>.
>> 			
>> This needs to be a normative reference (for the IANA registry) definition.
> DONE
>> 22.
>> Appendix A.  Instance data example #1
>>
>> Suggest changing:
>> "the running, and operational datastores" => "the running and operational datastores".
>> '"on-change" only' -> '"on-change", only'
>> 'reported "on-change" as they' -> 'reported "on-change", as they'
> DONE
>> 23.
>> ========== NOTE: '\' line wrapping per BCP YYY (RFC YYYY) ===========
>>
>> This can be updated to "NOTE: '\' line wrapping per RFC 8792".
> DONE
>> 24.
>> "only has running, and operational" -> "only has running and operational"
> DONE.
>> 25.
>>      false" data from the operational datastore. Statistics are
>>      not reported on-change only two important counters, for these
>>      a smaller dampening period is possible.
>> 	
>> Suggest:
>> 	false" data from the operational datastore. Statistics are
>>      not reported on-change except for two important counters, where
>>      a small dampening period is mandated.
> DONE.
>> 	
>>
>> Spelling/grammar warnings (generated by tool):
>>
>> Potentially incorrect spellings: sheperds, getconfig
>>
>> Grammar Warnings:
>> Section: 1, draft text:
>>   Servers and/or a publishers often have capabilities, values describing operational behavior, that need to be conveyed to clients, which is enabled by the YANG modules described in this document.
>> Warning:  The plural noun "publishers" cannot be used with the article "a". Did you mean a publisher or publishers?
>> Suggested change:  "a publisher"
> DONE
>> Section: 1, draft text:
>> It is a goal of this document to provide a common way of representing such capabilities in a format that is:
>> - vendor independent
>> - machine readable
>> - available in identical format both at implementation-time and run-time
>>
>> Warning:  This word is normally spelled with hyphen.
>> Suggested change:  "machine-readable"
> DONE
>> Section: 1, draft text:
>> It is a goal of this document to provide a common way of representing such capabilities in a format that is:
>> - vendor independent
>> - machine readable
>> - available in identical format both at implementation-time and run-time
>>
>> Warning:  Please add a punctuation mark at the end of paragraph.
>> Suggested change:  "run-time."
> DONE
>> Section: 1, draft text:
>> Moreover the decision to buy the node type sometimes depends on these management possibilities.
>> Warning:  Did you forget a comma after a conjunctive/linking adverb?
>> Suggested change:  "Moreover,"
> DONE.
>> Section: 1.1, draft text:
>>   "Implementation-time information": Information about the server's behavior that is made available during the implementation of the server, available from a source other then a running server.
>> Warning:  Did you mean other than?
>> Suggested change:  "other than"
> DONE.
>> Section: 3, draft text:
>> These include:
>> - Supported (reporting) periods for "periodic" subscriptions
>> - Maximum number of objects that can be sent in an update
>> - The set of datastores or data nodes for which "periodic" notification is supported
>>
>> Warning:  Please add a punctuation mark at the end of paragraph.
>> Suggested change:  "supported."
> DONE
>> Section: 7.2, draft text:
>> Following the format in [RFC7950], the the following registrations are requested:
>> Warning:  Maybe you need to remove one determiner so that only the or the is left.
>> Suggested change:  "the"
> DONE
>> Section: Appendix C, draft text:
>> In this latter case it is really the server functionality that is discussed
>>
>> Warning:  Please add a punctuation mark at the end of paragraph.
>> Suggested change:  "discussed."
> DONE
>> Thanks,
>> Rob
>> .
>
>
> _______________________________________________
> netmod mailing list
> netmod@ietf.org
> https://www.ietf.org/mailman/listinfo/netmod