diff options
author | John Estabrook <jestabro@vyos.io> | 2025-06-24 07:11:41 -0500 |
---|---|---|
committer | John Estabrook <jestabro@vyos.io> | 2025-07-08 08:26:11 -0500 |
commit | 816834bcad0a536930dd1bc4a35ef6b8537f3522 (patch) | |
tree | 96dd6223551972b0048518154d26f5533b513f28 /src/helpers/vyos-merge-config.py | |
parent | 170244db88f76e42aeceb0b971246327fe079e19 (diff) | |
download | vyos-1x-816834bcad0a536930dd1bc4a35ef6b8537f3522.tar.gz vyos-1x-816834bcad0a536930dd1bc4a35ef6b8537f3522.zip |
T7499: use direct request to vyconfd to avoid re-validating
Diffstat (limited to 'src/helpers/vyos-merge-config.py')
-rwxr-xr-x | src/helpers/vyos-merge-config.py | 25 |
1 files changed, 12 insertions, 13 deletions
diff --git a/src/helpers/vyos-merge-config.py b/src/helpers/vyos-merge-config.py index 9ac4a1aed..4879b0e9c 100755 --- a/src/helpers/vyos-merge-config.py +++ b/src/helpers/vyos-merge-config.py @@ -14,7 +14,6 @@ import os import sys import shlex -import tempfile import argparse from vyos.defaults import directories @@ -52,8 +51,9 @@ if any(file_name.startswith(f'{x}://') for x in protocols): if not file_path: sys.exit(f'No such file {file_name}') else: - if os.path.isfile(file_name): - file_path = file_name + full_path = os.path.realpath(file_name) + if os.path.isfile(full_path): + file_path = full_path else: file_path = os.path.join(configdir, file_name) if not os.path.isfile(file_path): @@ -79,19 +79,18 @@ if paths: merge_ct = mask_inclusive(merge_ct, mask) config = Config() -session_ct = config.get_config_tree() - -merge_res = merge(session_ct, merge_ct, destructive=args.destructive) if config.vyconf_session is not None: - with tempfile.NamedTemporaryFile() as merged_cache: - merge_res.write_cache(merged_cache.name) - - out, err = config.vyconf_session.load_config(merged_cache.name, cached=True) - if err: - sys.exit(out) - print(out) + out, err = config.vyconf_session.merge_config( + file_path, destructive=args.destructive + ) + if err: + sys.exit(out) + print(out) else: + session_ct = config.get_config_tree() + merge_res = merge(session_ct, merge_ct, destructive=args.destructive) + load_explicit(merge_res) |