... | ... | @@ -66,9 +66,9 @@ At the time of writing this design, the Stork server has no access to any of the |
|
|
## Modifying Source Configuration
|
|
|
|
|
|
We have to address an essential requirement to track the configuration changes and allow for reverting to one of the former configuration revisions. It implies that Stork has to follow the configuration changes tightly and ensure configuration data integrity between Kea and Stork. The following issues elevate the complexity of this task:
|
|
|
multiple users can modify a configuration, possibly applying conflicting changes,
|
|
|
there are different ways to modify source configurations, and depending on the one used, there are different ways to revert to a previous configuration,
|
|
|
settings in the configuration backend are not populated to Kea instantly - there is a time period between applying the new configuration settings (source configuration changes) and when Kea pulls them (runtime configuration changes).
|
|
|
- multiple users can modify a configuration, possibly applying conflicting changes,
|
|
|
- there are different ways to modify source configurations, and depending on the one used, there are different ways to revert to a previous configuration,
|
|
|
- settings in the configuration backend are not populated to Kea instantly - there is a time period between applying the new configuration settings (source configuration changes) and when Kea pulls them (runtime configuration changes).
|
|
|
|
|
|
To be able to revert to a previous configuration, Stork must maintain a trace of the applied configuration changes between the revisions. In the simplified scenario, the trace could comprise a series of the complete Kea configurations at all revisions. Reverting to a selected configuration could be achieved by sending the `config-set` command with that configuration. This solution is insufficient when `subnet_cmds` hook library is used for subnets and shared networks management. It is not applicable for the configuration backend case. We will analyze these scenarios further in this section.
|
|
|
|
... | ... | |