diff options
author | sarthurdev <965089+sarthurdev@users.noreply.github.com> | 2022-01-26 16:25:03 +0100 |
---|---|---|
committer | sarthurdev <965089+sarthurdev@users.noreply.github.com> | 2022-01-26 16:52:23 +0100 |
commit | 3523da8e4c87c96ae6fede6a5bc0fd2e96dcabc9 (patch) | |
tree | 06e9b7f260f82051ba8a6bb00000c9ab199fb2f8 /python | |
parent | 3b7629eaa4c8b0e4561cdef4b6947f3cf1d4e880 (diff) | |
download | vyos-1x-3523da8e4c87c96ae6fede6a5bc0fd2e96dcabc9.tar.gz vyos-1x-3523da8e4c87c96ae6fede6a5bc0fd2e96dcabc9.zip |
pki: T4212: Catch `install_into_config` errors and output for manual command entry
Diffstat (limited to 'python')
-rw-r--r-- | python/vyos/util.py | 13 |
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.') |