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 | |
| 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
| -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.')  | 
