diff options
| author | Scott Moser <smoser@brickies.net> | 2020-06-08 12:49:12 -0400 | 
|---|---|---|
| committer | GitHub <noreply@github.com> | 2020-06-08 10:49:12 -0600 | 
| commit | 3c551f6ebc12f7729a2755c89b19b9000e27cc88 (patch) | |
| tree | 0f7cd7ae6161791e7361e2bdffd38f414857f0c3 /cloudinit/config/cc_ssh.py | |
| parent | 30aa1197c4c4d35d4ccf77d5d8854a40aa21219f (diff) | |
| download | vyos-cloud-init-3c551f6ebc12f7729a2755c89b19b9000e27cc88.tar.gz vyos-cloud-init-3c551f6ebc12f7729a2755c89b19b9000e27cc88.zip | |
Move subp into its own module. (#416)
This was painful, but it finishes a TODO from cloudinit/subp.py.
It moves the following from util to subp:
  ProcessExecutionError
  subp
  which
  target_path
I moved subp_blob_in_tempfile into cc_chef, which is its only caller.
That saved us from having to deal with it using write_file
and temp_utils from subp (which does not import any cloudinit things now).
It is arguable that 'target_path' could be moved to a 'path_utils' or
something, but in order to use it from subp and also from utils,
we had to get it out of utils.
Diffstat (limited to 'cloudinit/config/cc_ssh.py')
| -rwxr-xr-x | cloudinit/config/cc_ssh.py | 7 | 
1 files changed, 4 insertions, 3 deletions
| diff --git a/cloudinit/config/cc_ssh.py b/cloudinit/config/cc_ssh.py index 163cce99..228e5e0d 100755 --- a/cloudinit/config/cc_ssh.py +++ b/cloudinit/config/cc_ssh.py @@ -116,6 +116,7 @@ import sys  from cloudinit.distros import ug_util  from cloudinit import ssh_util +from cloudinit import subp  from cloudinit import util @@ -164,7 +165,7 @@ def handle(_name, cfg, cloud, log, _args):              try:                  # TODO(harlowja): Is this guard needed?                  with util.SeLinuxGuard("/etc/ssh", recursive=True): -                    util.subp(cmd, capture=False) +                    subp.subp(cmd, capture=False)                  log.debug("Generated a key for %s from %s", pair[0], pair[1])              except Exception:                  util.logexc(log, "Failed generated a key for %s from %s", @@ -186,9 +187,9 @@ def handle(_name, cfg, cloud, log, _args):              # TODO(harlowja): Is this guard needed?              with util.SeLinuxGuard("/etc/ssh", recursive=True):                  try: -                    out, err = util.subp(cmd, capture=True, env=lang_c) +                    out, err = subp.subp(cmd, capture=True, env=lang_c)                      sys.stdout.write(util.decode_binary(out)) -                except util.ProcessExecutionError as e: +                except subp.ProcessExecutionError as e:                      err = util.decode_binary(e.stderr).lower()                      if (e.exit_code == 1 and                              err.lower().startswith("unknown key")): | 
