[netconf] Shepherd review of draft-ietf-netconf-notification-capabilities
Kent Watsen <kent+ietf@watsen.net> Tue, 14 April 2020 18:03 UTC
Return-Path: <0100017179dc6961-166c9a34-ed06-4e26-9240-83728a433691-000000@amazonses.watsen.net>
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 D45BA3A08A5 for <netconf@ietfa.amsl.com>; Tue, 14 Apr 2020 11:03:43 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.896
X-Spam-Level:
X-Spam-Status: No, score=-1.896 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, RCVD_IN_DNSWL_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_NONE=0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=amazonses.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 7AMBjPLYIaNt for <netconf@ietfa.amsl.com>; Tue, 14 Apr 2020 11:03:41 -0700 (PDT)
Received: from a8-88.smtp-out.amazonses.com (a8-88.smtp-out.amazonses.com [54.240.8.88]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id B0B933A08A2 for <netconf@ietf.org>; Tue, 14 Apr 2020 11:03:41 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/simple; s=224i4yxa5dv7c2xz3womw6peuasteono; d=amazonses.com; t=1586887420; h=From:Content-Type:Content-Transfer-Encoding:Mime-Version:Subject:Message-Id:Date:To:Feedback-ID; bh=9NisQmJMm0/UOIbkuYyusjbmRN+ckiCRCO8owlYPfV4=; b=KufuvaGwWIbEkUghUbrxYaKxYLCD/8YLqwJZxoA9OhdA6MvRGadGp8yAdHuXGys+ /IPJQHVq+TQE/e4f8quQ96b1/IeuTxN3jPni0OI7pzbrBNzibqiAL+x5xv9Q+eUikoH T9vKs/wgWttZr6Vemh11mVFZ1OR3Neu1wZtr0WsM=
From: Kent Watsen <kent+ietf@watsen.net>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: quoted-printable
Mime-Version: 1.0 (Mac OS X Mail 12.4 \(3445.104.11\))
Message-ID: <0100017179dc6961-166c9a34-ed06-4e26-9240-83728a433691-000000@email.amazonses.com>
Date: Tue, 14 Apr 2020 18:03:40 +0000
To: "netconf@ietf.org" <netconf@ietf.org>
X-Mailer: Apple Mail (2.3445.104.11)
X-SES-Outgoing: 2020.04.14-54.240.8.88
Feedback-ID: 1.us-east-1.DKmIRZFhhsBhtmFMNikgwZUWVrODEw9qVcPhqJEI2DA=:AmazonSES
Archived-At: <https://mailarchive.ietf.org/arch/msg/netconf/Jk_6GKJQdUTKHBbbrjuPuBWCB2Y>
Subject: [netconf] Shepherd 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: Tue, 14 Apr 2020 18:03:44 -0000
[WG/Authors: this draft passed WGLC, what happened?!] Authors, please find my shepherd review below. Title: - it would be best for the title to not use the “YANG-Push” term before it’s been imported. How about this? OLD: YANG Modules for describing System Capabilities and Yang-Push Notification Capabilities NEW: YANG Modules describing Capabilities for Systems and Notifications for Datastore Updates NEW2: YANG Modules describing Capabilities for Systems and Datastore Updates Notifications Be sure to update any change in the title in the YANG modules as well! Note: https://en.wikipedia.org/wiki/YANG#Standards-track_data_models has a preference for "Data Models” over “Modules”, but I left that part alone since it’s not unheard of either... Abbreviated title: - "YANG-Push Notification Capabilities” is not an accurate description... Abstract: - module names should be in quotes when introduced - s/This document defines two YANG modules:/This document defines two YANG modules,"ietf-system-capabilities” and "ietf-notification-capabilities”. - s/YANG Instance Data/YANG Instance Data (I-D.ietf-netmod-yang-instance-file-format)/ - s/"Subscription to YANG Datastores" (YANG-Push)/Subscription to YANG Notifications for Datastore Updates (RFC 8641)/ - Actually (in ref to the above two comments), the sentence structure in p2 seems backwards. Better would be to say "The module can be used to report capability information from the server at run-time or implementation-time, per I-D.ietf-netmod-yang-instance-file-format.” Section 1: - Why isn’t the “Introduction” Section ‘1’ as is common in RFCs? - Each term should be in double-quotes when first introduced, or use hanging text like other RFCs do. - don’t capitalize terms unless they appear at the beginning of a sentence, unless they’re capitalized throughout the entire document consistently! Which they’re not here.v Personally, I can never capitalize them consistently, so I just normal sentence-capitalization rules… - Neither "Run-time information” nor "Implementation-time information” constitute terms. Seriously, no one is going to care this document for those terms. Also not that "Run-time information” is only used once, as "Implementation-time information” would be as well if the text in the two back-to-back paragraphs were rearranged slightly. - "On-change notification capability” is not a term and it’s not used anywhere in the document Section 2: - The first sentence uses the word “capabilities” without explanation (and it’s not a term). Given that this document defines the “capabilities”, I’m expecting a term to be defined for it. S3 provides examples, but it seems too far away…thoughts? Maybe S1 and S2 could be collapsed: OLD: Systems implementing a server and/or a publisher often have capabilities that are not defined by the YANG model itself. There is a need to publish this capability information as it is part of the contract between the server and client. NEW: 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. <blank line> - the bullet list should be indented (i.e., put inside another list with symbols="empty”) Section 2.1: - remove all instances of “we” throughout the document. s/we/this document/? - why is there a “2.1” if there isn’t at least a “2.2”? (Is this meant to actually be a section 3?) - the bullet lists should be indented (i.e., put inside another list with symbols="empty”) - P4 (the paragraph beginning "Publishers have limitations”) doesn’t seem to say anything concrete (i.e., relavent to the draft). Actually, the same can be said for P5. - P6 and P7 appear to be (unnecessary) elaborations of bullet-point #2 above. - s/Clients of a server, subscribers to a publisher/Clients of a server/ (note: that subscribers are clients) - the last 2-3 paragraphs seem to go into the weeds wrt the focus of this draft…and the whole Implementation-time vs Runtime tradeoff is repeated in Section 3. Honestly, I don’t think this draft needs to discuss this at all but, if you must, factor it out into a separate section and keep it short, e.g., as in Section 3. Section 3: - why doesn’t this section come before Section 2.1 (which maybe should actually be a Section 3)? - System-level capabilities is the “base” model, in hence should be introduced first… - actually, after reading the entirely of Section 3, I no understand the purpose of Section 2.1 - recommend 1) extracting the middle part out into a new “providing data” section where the Implementation-time vs Runtime options are discussed and 2) moving the remainder to End of the Introduction section… - s/The module ietf-system-capabilities/The module "ietf-system-capabilities"/ - s/is defined to provide a structure/provides a structure/ - s/any YANG related system capability/YANG-defined capabilities/ - s/The module ietf-notification-capabilities/The module "ietf-notification-capabilities”/ - s/"Subscription to YANG Datastores" (YANG-Push)/Subscription to YANG Notifications for Datastore Updates [RFC8641]/ - Re: "on system/publisher level” - why is “publisher” mentioned in Section 4 at all? Section 4: - s/The module ietf-system-capabilities/The module "ietf-system-capabilities"/ - s/is defined to provide a structure/provides a structure/ - s/that can be used to specify/that can be used to discover (as read-only operational state)/ - s/any YANG related system capability/YANG-defined capabilities/ - P3 should be P2 (like they are in the YANG module) - the presence of P2 is confusing, if “this module itself does not contain any capabilities” - I think you want to say something like the “structure” provides augmentation points for capabilities to be defined at different levels: a) system, when foo, b) datastore, when bar, and c) specific data nodes, the baz. (where foo/bar/baz describe the augmentation points used) - right? - s/config=false/“config false”/ Section 4.2: (ietf-system-capabilities@2020-03-23.yang) - should the “description” statement for "import ietf-yang-library” 1) s/a revision/a backwards-compatable revision/ and 2) state that the module must be implemented? (Better, see my other comment regarding the YANG Doctor;s comment) - s/RFC RFC8525/RFC 8525/ - OLD: This module specifies a module intended to contain system capabilities. System capabilities may include capabilities of a NETCONF or RESTCONF server or a notification publisher. NEW: This module specifies a structure to specify system capabilities for s server or a publisher. - s/capabilities it only/capabilities, it only/ - s/should be augmented in/are augmented in/ - be sure there is a blank line between paragraphs and numbered list items, and/or list items are indented (this comment applies to *all* “description” statements) - list item (4) is missing punctuation and the first “sentence” doesn’t form a sentence. - "RFC XXX: YANG-Push Notification Capabilities” has both an incorrect number of X’s as well as incorrect document title. - rather than have the “description” statement "// augmentation point for system level capabilities”, why not have an empty “choice” statement with the same description statement? - re: "Only individual datastores”, is “individual” the right word? Would “specific” or “leaf” be better? - rather than have the “description” statement "// augmentation augmentation point for datastore or data node level capabilities”, why not have an empty “choice” statement with the same description statement? - is the comment "The special value '/' denotes all data nodes in the datastore.” should state if it’s a CLR or simply consistent with XPath 1.0 expressions. - this command detected an issue: pyang --ietf ietf-system-capabilities\@2020-03-23.yang. (I’m unsure why, exactly, as I see the keywords block in the module…suggest copying text directly from `pyang --ietf-help`. Section 5 - s/The YANG module ietf-notification-capabilities is defined to provide/The YANG module "ietf-notification-capabilities” provides/ Section 5.2: (ietf-notification-capabilities@2020-03-23.yang) - P1 doesn’t specify all the normative imports - be sure there is a blank line between paragraphs and numbered list items, and/or list items are indented (this comment applies to *all* “description” statements) - s/If, different/If different/ - "RFC XXX: YANG-Push Notification Capabilities” has both an incorrect number of X’s as well as incorrect document title. - s/config=true/‘config true’/ - s/config=false/‘config false’/ - "supported for none” - nonsensical, rephrase. - s/ or all data nodes/, or all data nodes/ (also try to fix the sentence so it makes sense) - s/ or a set of/, or a set of/ - s/update-too-big/'update-too-big’/ - many of the “reference” statements are being misused. Move content information into the “description” and only set the reference per https://tools.ietf.org/html/rfc7950#section-7.21.4 - s/and the subtree below them/including any subtrees that may exist below them/ - s/on-change notifications/'on-change' notifications/ - this command detected a number of issues: pyang -f yang --keep-comments --yang-line-length 69 ietf-notification-capabilities\@2020-03-23.yang > tmp; diff ietf-notification-capabilities\@2020-03-23.yang tmp. (whitespace at end of lines) Section 7.2 (really 5.2, but I didn’t catch it until here) - the “inc” prefix seems odd, perhaps wrong, how about “notc” (to match “sysc”)? Appendix A - the example is wrapped in the <CODE BEGINS>/<CODE ENDS>, but now that `rfcstrip` has the “-a” parameter, these are no longer needed - agreed? Please move the filename augment to the “name” attribute in the <artwork> element for both examples. - ideally there are subsections (i.e., A.1 and A.2) delineating each example - s/config=false/“config false”/ - please reorder the examples so that the system-capability examples precedes the notification-capability example - in both examples: - s/following instance-data/following instance data/ (or "instance data set”?) ^-- also add a reference to I-D.ietf-netmod-yang-instance-file-format - please remove the "<!-- revision date, contact, etc. —>” comment - s/config=false/“config false”/ - s/config=true/"config true”/ - consider putting quotes around words like “on-change” and “periodic” - s/only 2/only two/ Other: - nowhere in the document is there a request to the RFC Editor to set the “XXXX”, “YYYY”, and “YYY" strings. Perhaps other strings need to be converted as well... - through draft (in both body and YANG modules>, bracket datastore names with angle brackets (e.g., s/running/<running>/) wherever the datastore name is NOT followed by word “datastore”. When the datastore name is NOT followed by the word “datastore", the datastore name should be in quotes, where it makes sense to do so. BTW, I note the none of the datastore names are imported as terms or otherwise introduced where first used... - the YANG Doctor review suggested adding comments regarding if imports needed to be implemented. I see such comments were added in -06 but they’ve subsequently been removed. I strongly second Lada’s suggestion to include a minimal YANG Library instance somewhere, not only to document which modules need to be implemented, but also to document to totality of them, as I was unpleasantly surprised by how many there were (12 in total!) Kent // shepherd
- [netconf] Shepherd review of draft-ietf-netconf-n… Kent Watsen
- Re: [netconf] Shepherd review of draft-ietf-netco… Benoit
- Re: [netconf] Shepherd review of draft-ietf-netco… Kent Watsen
- Re: [netconf] Shepherd review of draft-ietf-netco… Benoit
- Re: [netconf] Shepherd review of draft-ietf-netco… Kent Watsen
- Re: [netconf] Shepherd review of draft-ietf-netco… Benoit Claise