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 <[email protected]>
> *Date: *Tuesday, September 15, 2020 at 7:31 PM
> *To: *"Reshad Rahman (rrahman)" <[email protected]>,
> "[email protected]" <[email protected]>
> *Cc: *"[email protected]" <[email protected]>, "[email protected]"
> <[email protected]>, "[email protected]"
> <[email protected]>
> *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" 
> <[email protected] on behalf of [email protected]> 
> <mailto:[email protected][email protected]> 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.
>
>      
>
>      
>
_______________________________________________
netmod mailing list
[email protected]
https://www.ietf.org/mailman/listinfo/netmod

Reply via email to