Re: [yang-doctors] [netmod] Yangdoctors last call review of draft-ietf-netmod-nmda-diff-04

Alexander L Clemm <ludwig@clemm.org> Fri, 18 September 2020 19:49 UTC

Return-Path: <ludwig@clemm.org>
X-Original-To: yang-doctors@ietfa.amsl.com
Delivered-To: yang-doctors@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 9127D3A0D46; Fri, 18 Sep 2020 12:49:08 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.918
X-Spam-Level:
X-Spam-Status: No, score=-1.918 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, NICE_REPLY_A=-0.001, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, SPF_NONE=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 Eke5LVb63RQv; Fri, 18 Sep 2020 12:49:05 -0700 (PDT)
Received: from mout.perfora.net (mout.perfora.net [74.208.4.194]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 7DC233A0EFE; Fri, 18 Sep 2020 12:48:53 -0700 (PDT)
Received: from [172.16.0.44] ([73.189.160.186]) by mrelay.perfora.net (mreueus003 [74.208.5.2]) with ESMTPSA (Nemesis) id 0LllQs-1kshBu2X8S-00ZQyW; Fri, 18 Sep 2020 21:48:46 +0200
To: "Reshad Rahman (rrahman)" <rrahman@cisco.com>, "yang-doctors@ietf.org" <yang-doctors@ietf.org>
Cc: "last-call@ietf.org" <last-call@ietf.org>, "netmod@ietf.org" <netmod@ietf.org>, "draft-ietf-netmod-nmda-diff.all@ietf.org" <draft-ietf-netmod-nmda-diff.all@ietf.org>
References: <159942490640.25028.10946254095755778899@ietfa.amsl.com> <EF21460A-8689-491C-AE19-942C6FA84FFC@cisco.com> <e801c95e-078e-8438-b1a0-18aaf4be3a82@clemm.org> <8759A9BF-300C-46F7-B39F-9EF4CFA2D726@cisco.com> <22126972-0920-1bb3-a73f-f4a219a59bf6@clemm.org> <0E3A16A2-6ABA-4868-936F-AA6C9AAF3A8E@cisco.com> <7cf5120e-28c9-383a-5238-0d6749e93854@clemm.org> <100F7855-CFE2-4E04-927F-A25089D3B2BA@cisco.com>
From: Alexander L Clemm <ludwig@clemm.org>
Message-ID: <1b722d38-af72-a96b-9368-49d678a1151a@clemm.org>
Date: Fri, 18 Sep 2020 12:48:45 -0700
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:68.0) Gecko/20100101 Thunderbird/68.12.0
MIME-Version: 1.0
In-Reply-To: <100F7855-CFE2-4E04-927F-A25089D3B2BA@cisco.com>
Content-Type: multipart/alternative; boundary="------------D992E9D467B376B1C134AD82"
Content-Language: en-US
X-Provags-ID: V03:K1:usPx5/C2sGtATM+IYfJ+vjhXzv2vIy/r7GrVDFMxtM4co1gDvWm dmd6n+qH1dBTGEQHCSTTFrIpVVHs4u1LGitKAR0gxHdVEs/MgQMo1LZS0r4jqDOxQ9ki+jt 6J3Z7WK3iXkKyfEdRfdVfVrdNGHo9gO0mMxn3B5BjSU4fGVWE6HiuY8Ru/wJatNpSvLiSUi vO1JzNWv7TkZ4DTyg1DyQ==
X-UI-Out-Filterresults: notjunk:1;V03:K0:KhR5+OTUd74=:lmakACQsUoBStNyBA6wPid KCJdcsKg33jRccfOKqU50kzj4AYD2hxY+E1qFUGrvHFV7KM9j/2hDbfod5XeWGC6l60nNEm+N HktDI6sqtaFnQlJVJ+lIWzdi/7bHyzucjHwK7ffrPRfgGJyZpbc9+PRP6b57/ARFXHL3VWYAJ oG5cIS1VmfqFWd9eUgUBQWSKv+pHNBPG0Kp5EtoYZu3s8bQ82dCY7sesJjBytoQgPus+ImIfU FpmyxbWMgQXSgQ72ws6MWNUoGS3IVMI7rGTJySNMoUEa050TPZT7EN2poZiiBCdjmVeo4iGbN cgSPyg0c0iWYwZ5Zajd9B+sg7V7RE5tnDriGYSGcBcPEQb4ZWzQxwFfc+AvOgGyQYzVO7az5n c7MoBSeipwmOi/PbJ6WG26AZ4oD8ZKkHVSaNi4I1iAZ4bjZBcDh+UEjUD53PpCVzTAkIIR+lT ptpz9q18UGMZfGvCS+4ftAKd9eFvVZjz7zLerhFa+8fiuG3CW8K37rGpCUPume88Q67lv/d9Q HwKpnH4Fpnt2AUO9uvLhIofPiJomN6wmTkjs4VdFAkbBNNfTLBsz2DXcF4cEr6Qxb6HKGaZB2 UVpSmAuX1HBAYgg282G81AdnriYcW+d8nSTSzAfoisGsSsiBefieopCVLCkRdH4ZpJPzcl1vU tKYaTbKr3ZwyPELvUaST+fcHUmBxzEH8U5JxjxodcRVb4qPKvjKuBgLkRfS5aM+JD8EbFqQ4F +R2GGxi65AuZKLhtVnh+9MXyRLIgGo6h60SCuPVfxrsAfnBB3bA6AkLo1lralPgQI0HD15oeu k5cxEUxs4QDbOeCaiwg5VJNzROVgDWkmBojxPDwYcKFkLsBIJPEJSL9JcZo12kJrDGP6tih
Archived-At: <https://mailarchive.ietf.org/arch/msg/yang-doctors/9TDqg_7yNamIlsB-W7ASKjT4bXY>
Subject: Re: [yang-doctors] [netmod] Yangdoctors last call review of draft-ietf-netmod-nmda-diff-04
X-BeenThere: yang-doctors@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Email list of the yang-doctors directorate <yang-doctors.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/yang-doctors>, <mailto:yang-doctors-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/yang-doctors/>
List-Post: <mailto:yang-doctors@ietf.org>
List-Help: <mailto:yang-doctors-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/yang-doctors>, <mailto:yang-doctors-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 18 Sep 2020 19:49:15 -0000

Thank you! 

I just uploaded rev -06.

--- Alex

On 9/18/2020 12:47 PM, Reshad Rahman (rrahman) wrote:
>
> Hi Alex,
>
>  
>
> This addresses my comment/concern.
>
>  
>
> Regards,
>
> Reshad.
>
>  
>
> *From: *Alexander L Clemm <ludwig@clemm.org>
> *Date: *Friday, September 18, 2020 at 3:43 PM
> *To: *"Reshad Rahman (rrahman)" <rrahman@cisco.com>,
> "yang-doctors@ietf.org" <yang-doctors@ietf.org>
> *Cc: *"last-call@ietf.org" <last-call@ietf.org>, "netmod@ietf.org"
> <netmod@ietf.org>, "draft-ietf-netmod-nmda-diff.all@ietf.org"
> <draft-ietf-netmod-nmda-diff.all@ietf.org>
> *Subject: *Re: [yang-doctors] [netmod] Yangdoctors last call review of
> draft-ietf-netmod-nmda-diff-04
>
>  
>
> Hi Reshad,
>
> okay, so let's add the following then to section 4, in the explanation
> of the "differences" output parameter:
>
> "When a datastore node in the source of the comparison is not present
> in the target of the comparison, this can be indicated either as a
> "delete" or as a "remove" in the patch as there is no differentiation
> between those operations for the purposes of the comparison.  "
>
> And update the description as follows:
>
>          container differences {
>           description
>            "The list of differences, encoded per RFC8072 with an
>              augmentation to include source values where
>              applicable.  When a datastore node in the source is
>              not present in the target, this can be indicated either
>              as a 'delete' or as a 'remove' as there is no difference
>              between them for the purposes of the comparison.";
> ...
>
> I will post this in a -06 shortly.  Please let us know if this
> addresses your concerns or if there is anything else.
>
> Thanks!
>
> --- Alex
>
>  
>
> On 9/18/2020 5:57 AM, Reshad Rahman (rrahman) wrote:
>
>     Hi Alex,
>
>      
>
>     I think the only “problem” with using both “remove” and “delete”
>     is that it could be confusing (when should one be used and not the
>     other). Adding some text to say they’re the same for the diff
>     operation is good enough for me.
>
>      
>
>     Regards,
>
>     Reshad.
>
>      
>
>     *From: *Alexander L Clemm <ludwig@clemm.org> <mailto:ludwig@clemm.org>
>     *Date: *Tuesday, September 15, 2020 at 7:31 PM
>     *To: *"Reshad Rahman (rrahman)" <rrahman@cisco.com>
>     <mailto:rrahman@cisco.com>, "yang-doctors@ietf.org"
>     <mailto:yang-doctors@ietf.org> <yang-doctors@ietf.org>
>     <mailto:yang-doctors@ietf.org>
>     *Cc: *"last-call@ietf.org" <mailto:last-call@ietf.org>
>     <last-call@ietf.org> <mailto:last-call@ietf.org>,
>     "netmod@ietf.org" <mailto:netmod@ietf.org> <netmod@ietf.org>
>     <mailto:netmod@ietf.org>,
>     "draft-ietf-netmod-nmda-diff.all@ietf.org"
>     <mailto:draft-ietf-netmod-nmda-diff.all@ietf.org>
>     <draft-ietf-netmod-nmda-diff.all@ietf.org>
>     <mailto:draft-ietf-netmod-nmda-diff.all@ietf.org>
>     *Subject: *Re: [yang-doctors] [netmod] Yangdoctors last call
>     review of draft-ietf-netmod-nmda-diff-04
>
>      
>
>     Hi Reshad,
>
>     re: question 1: As you indicate, there may be no distinction
>     between indicating a "remove" or a "delete" in the patch.  Right
>     now it would be acceptable to return either.  If we want to
>     eliminate this freedom, which one would you prefer be used?  Shall
>     we remove the possibility for "delete" and just cover it using
>     "remove"? 
>
>     Note that the place where this is specified in the model is as
>     part of a condition that specifies when the source value should be
>     included.   If we want to rule out that diff can return either
>     "remove" or "delete" (indeed they are synonymous), we would need
>     to add text to the container description that when a data object
>     is present in the target of the comparison but not the source,
>     that "remove" should be used to indicate that.
>
>     The model would be changed follows.  Please confirm if this looks
>     good to you & we'll incorporate it. 
>
>     OLD
>
>                container differences {
>
>                  description
>
>                    "The list of differences, encoded per RFC8072
>     <https://tools.ietf.org/html/rfc8072> with an
>
>                     augmentation to include source values where
>
>                     applicable.";
>
>                  uses ypatch:yang-patch {
>
>                    augment "yang-patch/edit" {
>
>                      description
>
>                        "Provide the value of the source of the patch,
>
>                         respectively of the comparison, in addition to
>
>                         the target value, where applicable.";
>
>                      anydata source-value {
>
>                        when "../operation = 'delete'"
>
>                          + "or ../operation = 'merge'"
>
>                          + "or ../operation = 'move'"
>
>                          + "or ../operation = 'replace'"
>
>                          + "or ../operation = 'remove'";
>
>                        description
>
>                          "The anydata 'value' is only used for 'delete',
>
>                           'move', 'merge', 'replace', and 'remove'
>
>                           operations.";
>
>                      }
>
>                      reference "RFC 8072
>     <https://tools.ietf.org/html/rfc8072>: YANG Patch Media Type";
>
>                    }
>
>                  }
>
>                }
>
>      
>
>      
>
>     NEW:
>
>                container differences {
>
>                  description
>
>                    "The list of differences, encoded per RFC8072
>     <https://tools.ietf.org/html/rfc8072> with an
>
>                     augmentation to include source values where
>
>                     applicable.  Where a difference include a data object
>
>                     in the target that is not present in the source,
>
>                     this shall be indicated as a 'remove' operation
>
>                     in the patch, not as a 'delete' operation.";
>
>                  uses ypatch:yang-patch {
>
>                    augment "yang-patch/edit" {
>
>                      description
>
>                        "Provide the value of the source of the patch,
>
>                         respectively of the comparison, in addition to
>
>                         the target value, where applicable.";
>
>                      anydata source-value {
>
>                        when "../operation = 'merge'"
>
>                          + "or ../operation = 'move'"
>
>                          + "or ../operation = 'replace'"
>
>                          + "or ../operation = 'remove'";
>
>                        description
>
>                          "The anydata 'value' is only used for 'merge',
>
>                           'move','replace', and 'remove' operations.";
>
>                      }
>
>                      reference "RFC 8072
>     <https://tools.ietf.org/html/rfc8072>: YANG Patch Media Type";
>
>                    }
>
>                  }
>
>                }
>
>      
>
>     Thanks
>
>     --- Alex
>
>      
>
>     On 9/15/2020 4:04 PM, Reshad Rahman (rrahman) wrote:
>
>         Hi Alex,
>
>          
>
>         I will review the latest version.
>
>          
>
>         See below for questions/responses.
>
>          
>
>         On 2020-09-15, 5:19 PM, "yang-doctors on behalf of Alexander L Clemm" <yang-doctors-bounces@ietf.org on behalf of ludwig@clemm.org> <mailto:yang-doctors-bounces@ietf.orgonbehalfofludwig@clemm.org> wrote:
>
>          
>
>             Hello Reshad, hello YANG Doctors,
>
>          
>
>             thank you for your review!  Please find my replies inline, <ALEX>.  We
>
>             have also just posted -05 (thanks, Yingzhen, for doublechecking my
>
>             updates).   
>
>          
>
>             --- Alex on behalf of coauthors
>
>          
>
>             On 9/7/2020 7:06 AM, Reshad Rahman (rrahman) wrote:
>
>             > <Here's the same message with hopefully more readable formatting>
>
>             >
>
>             > Review of rev -04 by Reshad Rahman
>
>             >
>
>             > The document is clear and well-written. While some issues have been identified, they can be resolved quickly.
>
>             >
>
>         <snip>
>
>          
>
>             > Questions
>
>             >    1.      YANG model: does the operation “delete” make sense for a diff operation? If it is kept, it’d be good to have some text explaining that for a diff operation, “delete” and “replace” are the same? If they’re not the same, please also add some text….
>
>         <RR> I actually meant "delete" and "remove".
>
>             <ALEX> Here we are simply referring to the basic YANG-patch edit
>
>             operations per https://tools.ietf.org/html/rfc8072#page-11.  Those are
>
>             in turn derived from <edit-config> operations per
>
>             https://tools.ietf.org/html/rfc6241#page-37.  I am not sure we need add
>
>             to explain those, as we are directly referring to YANG-patch. 
>
>          
>
>             </ALEX>
>
>         <RR> The operations are indeed well defined in RFC8072 (copied below), but they are defined from the perspective of YANG-Patch. So for YANG-Patch "delete" and "remove" are different operations, but from a diff comparison I believe they are the same (the resource must exist since it's being returned in a diff)
>
>          
>
>            +-----------+-----------------------------------------------------------------+
>
>            | delete    | delete a data resource if it already exists; if it    |
>
>            |                | does not exist, return an error                               |
>
>            |                |                                                                                      |
>
>            | remove | remove a data resource if it already exists           |
>
>            +-----------+-----------------------------------------------------------------+
>
>          
>
>             >    3.      YANG model P9, for the “uses path:yang-patch”, why not have a  reference to RFC8072 (is it because the description above mentions RFC8072)?
>
>             <ALEX> We are clearly referencing RFC 8072; are you suggesting to put a
>
>             reference substatement below the uses statement?   It looks a little
>
>             strange to me but sure, we will add it.   
>
>         <RR> Not needed. 
>
>          
>
>             >    4.      Section 7 mentions rate limiting requests per client. Should there be a “global” rate-limiting too, i.e not client-specific?
>
>          
>
>             <ALEX> I am not sure this is really needed as I think the number of
>
>             management clients will in general be fairly limited to begin with, but
>
>             we can certainly add it.  How about the following text:
>
>          
>
>             OLD:
>
>          
>
>             One possibility for an implementation to mitigate against such a
>
>             possibility is to limit the number of requests that is served to a
>
>             client in any one time interval, rejecting requests made at a higher
>
>             frequency than the implementation can reasonably sustain.
>
>          
>
>             NEW:
>
>          
>
>             One possibility for an implementation to mitigate against such a
>
>             possibility is to limit the number of requests that is served to a
>
>             client, or to any number of clients, in any one time interval, rejecting
>
>             requests made at a higher frequency than the implementation can
>
>             reasonably sustain.
>
>         <RR> Good with me.
>
>          
>
>             </ALEX>
>
>          
>
>             >    5.      Wondering if section 8 should be in an Appendix (or even removed)? Also, the method suggested doesn’t seem to guarantee that the difference persisted for the “dampening” time.
>
>          
>
>             <ALEX> Personally, I do think it makes sense to include a brief
>
>             discussion of possible further extensions.  I suggest to keep the
>
>             section if it's okay with you, or perhaps leave it to the chair whether
>
>             they have a preference to remove it.  
>
>          
>
>             </ALEX>
>
>         <RR>Whatever the WG/chairs decide is fine with me.
>
>          
>
>         Regards,
>
>         Reshad.
>
>          
>
>          
>