-
Notifications
You must be signed in to change notification settings - Fork 89
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
Clarify gNMI expectation for persisting configuration #192
Comments
@dplore are you referring to a behavior when a set request leads to saving dynamic configuration to a persistent storage -- e.g. making current running config saved to a file that is used when the device boots? |
couple of comments on this issue:
|
@hellt yes, saving dynamic configuration to a persistent storage which is used to load the configuration when the device reboots.
This is correct of course. I'll use
This is a good point! The question you point out here is if the "persist" of the configuration should be part of the Operationally we want the configuration to take effect and we want it persisted. If we allow a
Option 1 keeps things simple and synchronous, but as you said, has tradeoffs. IMO, Maybe there are other options. My thoughts are to proceed with 1 now and add 2 or 3 based on OC Operator feedback. (Resulting in option 4, assuming something is added). |
I find the use of w.r.t your options... I would like to see data as to: a. implementations conformance to each option and consideration of backwards compatibility. we have expected I don't think relying on telemetry is a bad thing, which you assume above, I believe. Today, if we look at the consistency model we have we are saying:
thus, I'd argue that architecturally we've already said that telemetry is something that is required to understand the state of a configuration on a device. Equally, we've said that the We also see cases where we'd like faster |
There are applications that might require quite some number of consecutive sets (e.g. atomic-based configuration management systems that manage "small" configuration regions and thus responsible for sending changes to these regions). To add to the bucket of vendor's implementations, in SR Linux we have a configurable knob under the grpc server stanza (set to false by default) that when set will persist each successful Set. |
Based on the comments here, @dplore - I suggest we write a short document that describes the constraints on the design space, the existing guidance, and the potential solutions and review this with the various gNMI stakeholders. |
I am happy to do this. But this task has now grown to something that has to be scheduled in a future sprint. |
Thanks. |
@robshakir you mentioned
Since this was not expressed in the spec I fear it might not be the case with implementations in the wild |
Currently there is no explicit requirement in gNMI regarding if a successful SetRequest should be saved to persistent storage on a device. gNMI intentionally doesn't define a method to make a configuration change that isn't persisted.
The gNMI reference should be clarified to require that a device must persist the configuration before sending a successful SetResponse.
The text was updated successfully, but these errors were encountered: