summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--cloudinit/CloudConfig/cc_apt_update_upgrade.py2
-rw-r--r--cloudinit/util.py6
3 files changed, 8 insertions, 5 deletions
diff --git a/ChangeLog b/ChangeLog
index d494221c..75a19aba 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -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))