Page MenuHomeVyOS Platform

Simplify marshalling of section and config data for config-sync
Closed, ResolvedPublicENHANCEMENT

Description

This adds a further simplification in packaging of section and config data for a config-sync request, motivated (and made possible) by the extensions in T6121. In order to invoke priority ordering on the target host, these commands were batched in a single request in a subsequent task. However, continuing the extensions of T6121, it is inconvenient to use the method get_config_dict for individual section bodies when the section indicates a leaf node, suggesting the idea of packaging all section paths, respectively, section bodies as (config)tree structures represented as dicts: consider the section paths as a mask, and the section bodies as the config subtree under the mask; a simple configtree function mask_inclusive supports the needed marshalling. This allows a single command that avoids get_config_dict and the need for batching. As a test case, the section ['system', 'timezone'] is added.

Details

Difficulty level
Normal (likely a few hours)
Version
-
Why the issue appeared?
Will be filled on close
Is it a breaking change?
Perfectly compatible
Issue type
Internal change (not visible to end users)

Event Timeline

Viacheslav changed the task status from Open to In progress.Mar 31 2024, 10:58 AM
Viacheslav triaged this task as Normal priority.
jestabro changed the task status from In progress to Backport candidate.Mar 31 2024, 3:52 PM
jestabro changed the status of subtask T6180: Add application of mask to configtree from Open to Backport candidate.
jestabro moved this task from Need Triage to Finished on the VyOS 1.5 Circinus board.
dmbaturin changed Is it a breaking change? from Unspecified (possibly destroys the router) to Perfectly compatible.
dmbaturin changed Issue type from Improvement (missing useful functionality) to Internal change (not visible to end users).