summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorsarthurdev <965089+sarthurdev@users.noreply.github.com>2022-01-26 16:25:03 +0100
committersarthurdev <965089+sarthurdev@users.noreply.github.com>2022-01-26 16:52:23 +0100
commit3523da8e4c87c96ae6fede6a5bc0fd2e96dcabc9 (patch)
tree06e9b7f260f82051ba8a6bb00000c9ab199fb2f8
parent3b7629eaa4c8b0e4561cdef4b6947f3cf1d4e880 (diff)
downloadvyos-1x-3523da8e4c87c96ae6fede6a5bc0fd2e96dcabc9.tar.gz
vyos-1x-3523da8e4c87c96ae6fede6a5bc0fd2e96dcabc9.zip
pki: T4212: Catch `install_into_config` errors and output for manual command entry
-rw-r--r--python/vyos/util.py13
1 files changed, 11 insertions, 2 deletions
diff --git a/python/vyos/util.py b/python/vyos/util.py
index 954c6670d..571d43754 100644
--- a/python/vyos/util.py
+++ b/python/vyos/util.py
@@ -952,14 +952,23 @@ def install_into_config(conf, config_paths, override_prompt=True):
return None
count = 0
+ failed = []
for path in config_paths:
if override_prompt and conf.exists(path) and not conf.is_multi(path):
if not ask_yes_no(f'Config node "{node}" already exists. Do you want to overwrite it?'):
continue
- cmd(f'/opt/vyatta/sbin/my_set {path}')
- count += 1
+ try:
+ cmd(f'/opt/vyatta/sbin/my_set {path}')
+ count += 1
+ except:
+ failed.append(path)
+
+ if failed:
+ print(f'Failed to install {len(failed)} value(s). Commands to manually install:')
+ for path in failed:
+ print(f'set {path}')
if count > 0:
print(f'{count} value(s) installed. Use "compare" to see the pending changes, and "commit" to apply.')