diff options
author | Daniil Baturin <daniil@vyos.io> | 2025-04-10 15:06:31 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2025-04-10 15:06:31 +0100 |
commit | ca4810e5e1ab1e24f552dbcaf93d205b9cbf34c1 (patch) | |
tree | f7e87ca9f164c41ccf9f1af6f84d59dacec5d237 /python | |
parent | a8aa9843466511cf165a8ff8db6c8d2124c69364 (diff) | |
parent | e84d8bcb3affc501278ff7ccc55f210f7c6cdf54 (diff) | |
download | vyos-1x-ca4810e5e1ab1e24f552dbcaf93d205b9cbf34c1.tar.gz vyos-1x-ca4810e5e1ab1e24f552dbcaf93d205b9cbf34c1.zip |
Merge pull request #4435 from jestabro/commit-dry-run
T7302: add vyos-commitd support for commit dry-run
Diffstat (limited to 'python')
-rw-r--r-- | python/vyos/config.py | 12 | ||||
-rw-r--r-- | python/vyos/configdep.py | 9 |
2 files changed, 19 insertions, 2 deletions
diff --git a/python/vyos/config.py b/python/vyos/config.py index 1fab46761..546eeceab 100644 --- a/python/vyos/config.py +++ b/python/vyos/config.py @@ -149,6 +149,18 @@ class Config(object): return self._running_config return self._session_config + def get_bool_attr(self, attr) -> bool: + if not hasattr(self, attr): + return False + else: + tmp = getattr(self, attr) + if not isinstance(tmp, bool): + return False + return tmp + + def set_bool_attr(self, attr, val): + setattr(self, attr, val) + def _make_path(self, path): # Backwards-compatibility stuff: original implementation used string paths # libvyosconfig paths are lists, but since node names cannot contain whitespace, diff --git a/python/vyos/configdep.py b/python/vyos/configdep.py index cf7c9d543..747af8dbe 100644 --- a/python/vyos/configdep.py +++ b/python/vyos/configdep.py @@ -102,11 +102,16 @@ def run_config_mode_script(target: str, config: 'Config'): mod = load_as_module(name, path) config.set_level([]) + dry_run = config.get_bool_attr('dry_run') try: c = mod.get_config(config) mod.verify(c) - mod.generate(c) - mod.apply(c) + if not dry_run: + mod.generate(c) + mod.apply(c) + else: + if hasattr(mod, 'call_dependents'): + mod.call_dependents() except (VyOSError, ConfigError) as e: raise ConfigError(str(e)) from e |