Hi, (catching back list after some off-line travelling) Just to clarify my point, I disagree with the idea that template mechanisms as introduced in Dublin could imply that the running data store contains the expanded data.
The core problem discussed in Dublin is the large size of the configuration datastore (i.e. the running DS) that is passed by the Client to the Server. The primary goal of method#1 is to reduce the size of the running DS. I believe that method #2 has a similar goal, (and likely method 3, although there is no draft detailing it). A method that would expand data in the running datastore does not address this core problem (actually a draft would help clarifying what problem such a method addresses). > I suppose that a theory could be defined: a template is valid if its > expansion is valid Thoughts? About running DS validation, regardless of whether or not templates are used, my understanding is that whatever a client puts in the running datastore should ideally be validated before being pushed to a server. This is important to allow trustable pre-provisioning, i.e. a client having reasonable confidence that the server would not break when receiving the running DS. If the running DS contains a template, there should be no difference: ideally, the client should not send a configuration that is so broken that the device server would be unable to process it. - Robert From: Kent Watsen <[email protected]> Sent: Monday, November 18, 2024 1:48 PM To: Deepak Rajaram <[email protected]> Cc: [email protected] Subject: [netmod] Re: Mandatory/default statements and templates (was: Yang Template Proposals) CAUTION: This is an external email. Please be very careful when clicking links or opening attachments. See the URL nok.it/ext for additional information. Hi Deepak, Probably, my example was a simplistic one where i wanted to highlight the default node , but i agree that a template consumer should be able to inherit data from a list of templates and at the same time, a single template could also contain data from different models. eg: one template could contain data nodes from interface as well as hardware models. Issues #1 and #2 speak to this: https://github.com/netmod-wg/template-reqs/issues/1 let's a template-consumer consume a *list* of templates. https://github.com/netmod-wg/template-reqs/issues/2<https://github.com/netmod-wg/template-reqs/issues/1> let's a template be a template-consumer too. Combined, these provide robust support. Is it accurate to say that you support these two requirements? If a template contains configuration data/data nodes of specific data models(instead of under anydata), the validation becomes relevant at definition. This is true statement (modulo s/relevant /possible). The question is if the tradeoff is worth it? Some thoughts: 1) the need to validate a template that is *not* consumed is low. 2) the need to validate a template that *is* consumed is high. Thankfully, with templates being expanded in <intended>, there should be a way for the expanded config to report which template (if any) values came from. Thus validation errors could helpfully point to issues in consumed templates. In this way, templates are still validated Albeit they are validated *implicitly*, after expansion (not explicitly before expansion). I suppose that a theory could be defined: a template is valid if its expansion is valid Thoughts? Assume, in the interfaces model, i want the value of the data-node "enabled" as false, and the template which contains this data node is configured accordingly(false).Now, I have multiple interfaces having the leaf "enabled"(which has a default value as true as per the yang model). If i make these interfaces to derive from the tempalate(henceforth becomes a template-consumer), then since we need to provide a priority to the data-node values in the template-consumer(overriding the template values: https://github.com/netmod-wg/template-reqs/issues/6) then the default value(True) takes precedence right? I continue to struggle with this example not being clear. Please provide xml/json snippets. It's potentially important to note that the "default" statement's value is used only when a 'leaf' node is not configured. When the leaf node is configured, even if the same value as the "default", an *explicit" mode server (RFC 6243) would no longer report that it is using the "default" value, whereas a "report-all" and "trim" mode servers don't know. This is why I asked before which "defaults" mode you were assuming... Kent // contributor
_______________________________________________ netmod mailing list -- [email protected] To unsubscribe send an email to [email protected]
