diff options
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | cloudinit/CloudConfig/cc_apt_update_upgrade.py | 2 | ||||
-rw-r--r-- | cloudinit/util.py | 6 |
3 files changed, 8 insertions, 5 deletions
@@ -38,6 +38,11 @@ * boothooks will now run more than once as they were intended (and as bootcmd commands do) * cloud-config and user-scripts will be updated from user data every boot + - Fix issue where 'isatty' would return true for apt-add-repository. + apt-add-repository would get stdin which was attached to a terminal + (/dev/console) and would thus hang when running during boot. (LP: 831505) + This was done by changing all users of util.subp to have None input unless specified + 0.6.1: - fix bug in fixing permission on /var/log/cloud-init.log (LP: #704509) - improve comment strings in rsyslog file tools/21-cloudinit.conf diff --git a/cloudinit/CloudConfig/cc_apt_update_upgrade.py b/cloudinit/CloudConfig/cc_apt_update_upgrade.py index 41c34bc3..495b8522 100644 --- a/cloudinit/CloudConfig/cc_apt_update_upgrade.py +++ b/cloudinit/CloudConfig/cc_apt_update_upgrade.py @@ -127,7 +127,7 @@ def add_sources(srclist, searchList={ }): source=ent['source'] if source.startswith("ppa:"): - try: util.subp(["add-apt-repository",source], "/dev/null") + try: util.subp(["add-apt-repository",source]) except: elst.append([source, "add-apt-repository failed"]) continue diff --git a/cloudinit/util.py b/cloudinit/util.py index 5058e1d4..bdc1fce2 100644 --- a/cloudinit/util.py +++ b/cloudinit/util.py @@ -141,10 +141,8 @@ def runparts(dirp, skip_no_exist=True): return def subp(args, input=None): - s_in = None - if input is not None: - s_in = subprocess.PIPE - sp = subprocess.Popen(args, stdout=subprocess.PIPE, stderr=subprocess.PIPE, stdin=s_in) + sp = subprocess.Popen(args, stdout=subprocess.PIPE, + stderr=subprocess.PIPE, stdin=subprocess.PIPE) out,err = sp.communicate(input) if sp.returncode is not 0: raise subprocess.CalledProcessError(sp.returncode,args, (out,err)) |