Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

The <intended> datastore contains the expanded template #13

Open
kwatsen opened this issue Dec 1, 2024 · 9 comments
Open

The <intended> datastore contains the expanded template #13

kwatsen opened this issue Dec 1, 2024 · 9 comments

Comments

@kwatsen
Copy link

kwatsen commented Dec 1, 2024

The datastore is subject to validation, which means that all the templates need to be expanded/flattened.

Whist templates are expanded in , it may be that the system consumes the unexpanded configuration internally, in order to have a memory-efficient implementation.

@RobertPeschi
Copy link

Note that templates are also usable in non-NMDA devices: in a non-NMDA device, the device application software would expand the template in its private memory. This expanded data could be made visible to a YANG client by defining a state tree reflecting it.

@jgcumming
Copy link

I would propose that the expanded version of the template be visible in intended only, this would not include the template itself (which would not be shown). This view appears to reflect that given during the discussion session at IETF121 from other speakers.

@RobertPeschi
Copy link

Just to be sure, you mean "I would propose that the expanded version of the template be visible in intended but not in the running", right ?
Yes, this is exactly my point.
We just have to keep in mind that this statement is specific to NMDA deployments. For non-NMDA deployments (and my take is that many of these will remain so in any foreseeable future), my point is that the expanded version would then be visible in a dedicated R/O state YANG tree (and, again, NOT in the running anyway). IETF would not standardize a template mechanism only for NMDA deployments, would it ?

About your statement "this would not include the template itself (which would not be shown)". I don't see why templates would not be part of the intended, too (as an exact copy of templates in the running). My understanding is that anything in the running that remains unchanged should be visible in the intended as well.

@kwatsen
Copy link
Author

kwatsen commented Dec 4, 2024

About your statement "this would not include the template itself (which would not be shown)". I don't see why templates would not be part of the intended, too (as an exact copy of templates in the running). My understanding is that anything in the running that remains unchanged should be visible in the intended as well.

I disagree. Just like how "inactive" nodes are removed in <intended>, so should template definitions be removed in <intended>, as they have served their purpose.

See #15

@RobertPeschi
Copy link

RobertPeschi commented Dec 4, 2024

I disagree. Just like how "inactive" nodes are removed in <intended>, so should template definitions be removed in <intended>, as they have served their purpose.

Except otherwise decided, the data nodes constituting the template are just "normal" data nodes (e.g. not containing any specific YANG statements - still tbd in case - indicating that their are to be used as template), right ?
Just asking, but then on which basis would a client or a server know which data nodes should be included in the intended and which ones should not ? Any clue ?

@QiufangMa
Copy link

I would propose that the expanded version of the template be visible in intended only

intended only? maybe also operational!

@QiufangMa
Copy link

This expanded data could be made visible to a YANG client by defining a state tree reflecting it.

I thought another alternative is to define an RPC for the expanded data. But I am unsure template solution should include non-NMDA or not.

@RobertPeschi
Copy link

(...). But I am unsure template solution should include non-NMDA or not.

A template solution valid only for NMDA would be too limitative in my view

@derajara
Copy link

derajara commented Jan 2, 2025

About your statement "this would not include the template itself (which would not be shown)". I don't see why templates would not be part of the intended, too (as an exact copy of templates in the running). My understanding is that anything in the running that remains unchanged should be visible in the intended as well.

I disagree. Just like how "inactive" nodes are removed in <intended>, so should template definitions be removed in <intended>, as they have served their purpose.

See #15

Yes, that's right, inactive nodes can be removed in intended(but then we need to mark such nodes/configuration as inactive, not sure if today we have a standard way to mark certain nodes/configuration as inactive), but here, the templates are not inactive, but active configuration (meaning, there is an active edit-config from a client to create a template irrespective of whether they are referred by any consumers or not), so I don't see a reason why this should not be in the intended.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants