summaryrefslogtreecommitdiff
path: root/cloudinit
diff options
context:
space:
mode:
Diffstat (limited to 'cloudinit')
-rw-r--r--cloudinit/ssh_util.py3
-rw-r--r--cloudinit/util.py9
2 files changed, 8 insertions, 4 deletions
diff --git a/cloudinit/ssh_util.py b/cloudinit/ssh_util.py
index fc8b9b3d..e0a2f0ca 100644
--- a/cloudinit/ssh_util.py
+++ b/cloudinit/ssh_util.py
@@ -197,7 +197,8 @@ def update_authorized_keys(fname, keys):
# Replace it with our better one
ent = k
# Don't add it later
- to_add.remove(k)
+ if k in to_add:
+ to_add.remove(k)
entries[i] = ent
# Now append any entries we did not match above
diff --git a/cloudinit/util.py b/cloudinit/util.py
index 3cf51e65..3ff3835a 100644
--- a/cloudinit/util.py
+++ b/cloudinit/util.py
@@ -1303,21 +1303,24 @@ def shellify(cmdlist, add_header=True):
if add_header:
content += "#!/bin/sh\n"
escaped = "%s%s%s%s" % ("'", '\\', "'", "'")
+ cmds_made = 0
for args in cmdlist:
- # if the item is a list, wrap all items in single tick
- # if its not, then just write it directly
+ # If the item is a list, wrap all items in single tick.
+ # If its not, then just write it directly.
if isinstance(args, list):
fixed = []
for f in args:
fixed.append("'%s'" % (str(f).replace("'", escaped)))
content = "%s%s\n" % (content, ' '.join(fixed))
+ cmds_made += 1
elif isinstance(args, (str, basestring)):
content = "%s%s\n" % (content, args)
+ cmds_made += 1
else:
raise RuntimeError(("Unable to shellify type %s"
" which is not a list or string")
% (obj_name(args)))
- LOG.debug("Shellified %s to %s", cmdlist, content)
+ LOG.debug("Shellified %s commands.", cmds_made)
return content