summaryrefslogtreecommitdiff
path: root/cloudinit/util.py
diff options
context:
space:
mode:
authorScott Moser <smoser@brickies.net>2016-09-23 16:51:03 -0400
committerScott Moser <smoser@brickies.net>2016-09-23 16:51:03 -0400
commitf13a89a1592d0445d93ea42809eba2363454488b (patch)
treea254dd95a9f45ab55af92402e8c7789e28e2ae80 /cloudinit/util.py
parent0e4eaef9640b6aaf09063124959717e05ed52b06 (diff)
parent0439d8a17d181a2546f2f7cb2d71a04bbb13b186 (diff)
downloadvyos-cloud-init-f13a89a1592d0445d93ea42809eba2363454488b.tar.gz
vyos-cloud-init-f13a89a1592d0445d93ea42809eba2363454488b.zip
merge from master at 0.7.8-8-g0439d8a
Diffstat (limited to 'cloudinit/util.py')
-rw-r--r--cloudinit/util.py11
1 files changed, 9 insertions, 2 deletions
diff --git a/cloudinit/util.py b/cloudinit/util.py
index 6c5cf741..eb3e5899 100644
--- a/cloudinit/util.py
+++ b/cloudinit/util.py
@@ -154,7 +154,7 @@ def target_path(target, path=None):
def decode_binary(blob, encoding='utf-8'):
# Converts a binary type into a text type using given encoding.
- if isinstance(blob, six.text_type):
+ if isinstance(blob, six.string_types):
return blob
return blob.decode(encoding)
@@ -1762,7 +1762,7 @@ def delete_dir_contents(dirname):
def subp(args, data=None, rcs=None, env=None, capture=True, shell=False,
- logstring=False, decode="replace", target=None):
+ logstring=False, decode="replace", target=None, update_env=None):
# not supported in cloud-init (yet), for now kept in the call signature
# to ease maintaining code shared between cloud-init and curtin
@@ -1773,6 +1773,13 @@ def subp(args, data=None, rcs=None, env=None, capture=True, shell=False,
rcs = [0]
devnull_fp = None
+
+ if update_env:
+ if env is None:
+ env = os.environ
+ env = env.copy()
+ env.update(update_env)
+
try:
if target_path(target) != "/":
args = ['chroot', target] + list(args)