Subject: [netmod] netmod-revised-datastores: templates, interactions with RFC6243 'report-all'

From: "Sterne, Jason (Nokia - CA)" <[email-masked]>
Date: Thu, 16 Feb 2017 19:36:41 +0000

Hi all,

draft-nmdsdt-netmod-revised-datastores-00 mentions that "Templates are expanded when copied into <intended>".

That means the non-expanded template (i.e. the single copy of template data itself) is in the running.

Is that original non-expanded template data (which is presumably part of the schema) also present in the <intended> DS (along with the expanded copies of the data) ?

What would an RFC6243 <get-config> response from the <running> DS with 'report-all' be expected to return for a leaf that is deleted in the 'main' part of the config but has been overridden by a value for that leaf in a template ?

Example -> some leaf-a with a default value of 50, that is not present in the config, but is present in a template that sets leaf-a to 55.   A 'report-all' response could show a value for leaf-a in the template and in the main part of the config.  What value would be returned for leaf-a in the main part of the config ?  50 (since 'running' doesn't have expanded templates) or 55 (i.e. the result of the value of leaf-a due to the template expansion) ?

The spirit of report-all seems to be to reflect what values the router is using, even when they aren't explicitly configured.  So 55 is the actual value being used in the system.  But returning 55 would mean we are returning the 'expanded' view (which the running isn't supposed to have).

Regards,
Jason

---

From: Juergen Schoenwaelder <[email-masked]>
Date: Thu, 16 Feb 2017 23:32:53 +0100

> draft-nmdsdt-netmod-revised-datastores-00 mentions that "Templates are expanded when copied into <intended>".

Before I answer, here is a disclaimer: I have never implemented nor
used one of the proprietary template mechanisms. I do not know what
running code actually does....
 
> Is that original non-expanded template data (which is presumably part of the schema) also present in the <intended> DS (along with the expanded copies of the data) ?

Most likely yes.

> Example -> some leaf-a with a default value of 50, that is not present in the config, but is present in a template that sets leaf-a to 55.   A 'report-all' response could show a value for leaf-a in…

I think reading <running/> with report-all would give you 50 and
reading <intended/> with report-all would give you 55.

> The spirit of report-all seems to be to reflect what values the router is using, even when they aren't explicitly configured.  So 55 is the actual value being used in the system.  But returning 55…

Right. But note: Whether the router is actually _using_ 55 is a very
different question; if you want to know what the router is _using_,
you better read the operational state datastore.

/js

-- 
Juergen Schoenwaelder           Jacobs University Bremen gGmbH
Phone: +49 421 200 3587         Campus Ring 1 | 28759 Bremen | Germany
Fax:   +49 421 200 3103         <http://www.jacobs-university.de/>