[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