Hi,

On 05/02/2016 17:34, Juergen Schoenwaelder wrote:
On Fri, Feb 05, 2016 at 05:22:03PM +0000, Robert Wilton wrote:
2. Personally, for a datastore solution, I would prefer if the new
datastore was for the intended configuration, and that the applied
configuration was stored in the same datastore (running?) as all the
rest of the operational state.
The running datastore is a configuration datastore, it does not hold
operational state.
OK. Thanks for the clarification. I hadn't realised that the definition of datastores only applies to configuration and not to state!

So, am I right in saying that this draft is effectively reclassifying that definition somewhat - given that applied configuration is being defined as operational state (at least in the diagram in section 3. Conceptual model) and datastores don't store state data?


If the logical flows of system information is as follows:
  [candidate] -> intended cfg -> applied cfg -> derived state

Then it seems strange to bundle intended cfg & derived state together in
one datastore, and to have applied-cfg separate (a bit like an unwanted
step child).
This is not what is being proposed. We always had

[candidate] -> [running] -> operational state

(and I mark configuration data stores in []). Both [candidate] and
[running] have the same configuration data model. Now we are asked
to expose that [running] may not be applied synchronously and hence

[candidate] -> [running] -> [applied] -> derived state

seems to make sense.
5. Am I correct to presume that this draft doesn't provide any support
to return intended config, applied config & derived state all in a
single request?  I appreciate that this isn't included as a formal
requirement - but part of me wonders whether this might have been an
oversight in the requirements.
Can be defines easily as another RPC. That said, I heard that some big
vendors even refuse to implement today's get operation that returns
the combination of [running] and operational state.
OK, but the key question is what does that returned data look like: Are the intended and applied config nodes going to be co-located in the same structure or is the response going to be two separate trees and for it to be up to the client to merge them together?

6. I can understand the decision of get-diff to reuse edit-config or
YANG patch,  but I'm not sure that this makes it particularly easy for
clients to then process that data.  I might be wrong, but I suspect that
a solution that returns the values of the intended and applied config
nodes in an easier to relate way may be preferable (perhaps something
along the lines of the encoding proposed in
draft-wilton-netmod-opstate-yang).
A diff is a way to make delta's efficient.
Yes, but often diffs include both the old and the new values to make it easier to see what the change is (or certainly they do whenever I review code diffs).

I don't think that the YANG patch/edit-config encoding is significantly more efficient that the encoding that I suggested, so I don't think that efficiency of encoding is a strong argument here.

The strongest argument for edit-config and YANG patch is that it is reusing an existing solution rather than inventing a new way of doing this. But I still think that my observation that this doesn't make it particularly easy for clients is valid, and other ways of encoding the data could make it easier and more useful.

Rob


/js


_______________________________________________
netmod mailing list
[email protected]
https://www.ietf.org/mailman/listinfo/netmod

Reply via email to