[As a contributor]

I find that the term "system" is a bit ambiguous in this context.  It is 
talking about the NMS, the server, or both together?

[KENT] I believe that we're talking about the NETCONF/RESTCONF/<foo> server, 
specifically in how it processes update requests.


Anyway, I've tried to define them relative to the configuration operations 
being performed.

[KENT] Perhaps these could be collapsed if we use the terms "a/synchronous 
server" ?


Synchronous configuration operation - A configuration request that the server 
applies synchronously with respect to the client request.  Before the server 
replies back to the client indicating the success or failure of the operation 
it MUST semantically validate the contents of the request and update the 
intended configuration of the target datastore.  If the request is to the 
running datastore then the configuration change MUST also be applied in the 
system before the server replies back to the client.  The reply to the client 
indicates whether there are any semantic errors or system errors from applying 
the configuration change.


[KENT]  This generally matches my understanding, but here are some thoughts to 
improve it:

1. I think the language "semantically validate" would exclude an ephemeral 
datastore.  We could put a qualifier on it, but I think it can be removed 
entirely as each datastore already has its own semantics around how it 
processes update requests.

2. I like how you call out the running datastore, but it is somewhat 
NETCONF-specific.  How about something like "If the request impacts the 
intended configuration (see term), then..."

3. "applied in the system" seems too open ended, how about this:  "...MUST also 
be propagated to and processed by the operational components of the server 
before..." ???



Asynchronous configuration operation - A configuration request that the server 
applies asynchronously with respect to the client request.  Before the server 
replies back to the client indicating the success or failure of the operation 
it MUST semantically validate the contents of the request and update the 
intended configuration of the target datastore.  If the request is to the 
running datastore then the configuration change is applied to the system after 
the server has replied back to the client.  The reply to the client only 
indicates whether there are any semantic errors in the configuration change.

[KENT] For the most part, my comments on this are the mirror image of the 
comments made above.   One additional comment though, when reading in the first 
sentence "with respect to the client" I was thinking that these terms are 
actually independent of the protocol.  For instance, they could equally well be 
defined for a system that only had CLI access.  So, in that sense, the word 
"client" in the first sentence, and client/server elsewhere generally, may be 
ground for some confusion.


Synchronous system - NETCONF/RESTCONF client/server interactions that processes 
all configuration operations as synchronous configuration operations.

Asynchronous system - NETCONF/RESTCONF client/server interactions that 
processes all configuration operations as asynchronous configuration operations.

[KENT] again, maybe we can collapse the number of terms from 4 to 2 by calling 
these "a/synchronous server" - what do you think?


Thanks again,
Kent



_______________________________________________
netmod mailing list
netmod@ietf.org
https://www.ietf.org/mailman/listinfo/netmod

Reply via email to