summaryrefslogtreecommitdiff
path: root/cloudinit/handlers
diff options
context:
space:
mode:
authorScott Moser <smoser@brickies.net>2020-06-08 12:49:12 -0400
committerGitHub <noreply@github.com>2020-06-08 10:49:12 -0600
commit3c551f6ebc12f7729a2755c89b19b9000e27cc88 (patch)
tree0f7cd7ae6161791e7361e2bdffd38f414857f0c3 /cloudinit/handlers
parent30aa1197c4c4d35d4ccf77d5d8854a40aa21219f (diff)
downloadcloud-init-git-3c551f6ebc12f7729a2755c89b19b9000e27cc88.tar.gz
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/handlers')
-rw-r--r--cloudinit/handlers/boot_hook.py5
-rw-r--r--cloudinit/handlers/upstart_job.py11
2 files changed, 9 insertions, 7 deletions
diff --git a/cloudinit/handlers/boot_hook.py b/cloudinit/handlers/boot_hook.py
index dca50a49..c6205097 100644
--- a/cloudinit/handlers/boot_hook.py
+++ b/cloudinit/handlers/boot_hook.py
@@ -12,6 +12,7 @@ import os
from cloudinit import handlers
from cloudinit import log as logging
+from cloudinit import subp
from cloudinit import util
from cloudinit.settings import (PER_ALWAYS)
@@ -48,8 +49,8 @@ class BootHookPartHandler(handlers.Handler):
env = os.environ.copy()
if self.instance_id is not None:
env['INSTANCE_ID'] = str(self.instance_id)
- util.subp([filepath], env=env)
- except util.ProcessExecutionError:
+ subp.subp([filepath], env=env)
+ except subp.ProcessExecutionError:
util.logexc(LOG, "Boothooks script %s execution error", filepath)
except Exception:
util.logexc(LOG, "Boothooks unknown error when running %s",
diff --git a/cloudinit/handlers/upstart_job.py b/cloudinit/handlers/upstart_job.py
index 003cad60..a9d29537 100644
--- a/cloudinit/handlers/upstart_job.py
+++ b/cloudinit/handlers/upstart_job.py
@@ -13,6 +13,7 @@ import re
from cloudinit import handlers
from cloudinit import log as logging
+from cloudinit import subp
from cloudinit import util
from cloudinit.settings import (PER_INSTANCE)
@@ -52,7 +53,7 @@ class UpstartJobPartHandler(handlers.Handler):
util.write_file(path, payload, 0o644)
if SUITABLE_UPSTART:
- util.subp(["initctl", "reload-configuration"], capture=False)
+ subp.subp(["initctl", "reload-configuration"], capture=False)
def _has_suitable_upstart():
@@ -63,7 +64,7 @@ def _has_suitable_upstart():
if not os.path.exists("/sbin/initctl"):
return False
try:
- (version_out, _err) = util.subp(["initctl", "version"])
+ (version_out, _err) = subp.subp(["initctl", "version"])
except Exception:
util.logexc(LOG, "initctl version failed")
return False
@@ -77,7 +78,7 @@ def _has_suitable_upstart():
if not os.path.exists("/usr/bin/dpkg-query"):
return False
try:
- (dpkg_ver, _err) = util.subp(["dpkg-query",
+ (dpkg_ver, _err) = subp.subp(["dpkg-query",
"--showformat=${Version}",
"--show", "upstart"], rcs=[0, 1])
except Exception:
@@ -86,9 +87,9 @@ def _has_suitable_upstart():
try:
good = "1.8-0ubuntu1.2"
- util.subp(["dpkg", "--compare-versions", dpkg_ver, "ge", good])
+ subp.subp(["dpkg", "--compare-versions", dpkg_ver, "ge", good])
return True
- except util.ProcessExecutionError as e:
+ except subp.ProcessExecutionError as e:
if e.exit_code == 1:
pass
else: