summaryrefslogtreecommitdiff
path: root/cloudinit
diff options
context:
space:
mode:
Diffstat (limited to 'cloudinit')
-rw-r--r--cloudinit/CloudConfig/cc_apt_update_upgrade.py2
-rw-r--r--cloudinit/util.py7
2 files changed, 5 insertions, 4 deletions
diff --git a/cloudinit/CloudConfig/cc_apt_update_upgrade.py b/cloudinit/CloudConfig/cc_apt_update_upgrade.py
index e1226c85..396c5e09 100644
--- a/cloudinit/CloudConfig/cc_apt_update_upgrade.py
+++ b/cloudinit/CloudConfig/cc_apt_update_upgrade.py
@@ -142,7 +142,7 @@ def add_sources(srclist):
except:
elst.append([source, "failed add key"])
- try: util.write_file(ent['filename'], source + "\n")
+ try: util.write_file(ent['filename'], source + "\n", omode="ab")
except:
elst.append([source, "failed write to file %s" % ent['filename']])
diff --git a/cloudinit/util.py b/cloudinit/util.py
index be84bfdc..c1b4fd2d 100644
--- a/cloudinit/util.py
+++ b/cloudinit/util.py
@@ -76,15 +76,16 @@ def mergedict(src,cand):
src[k] = mergedict(src[k],v)
return src
-def write_file(file,content,mode=0644):
+def write_file(file,content,mode=0644,omode="wb"):
try:
os.makedirs(os.path.dirname(file))
except OSError as e:
if e.errno != errno.EEXIST:
raise e
- f=open(file,"wb")
- os.chmod(file,mode)
+ f=open(file,omode)
+ if mode != None:
+ os.chmod(file,mode)
f.write(content)
f.close()