module.run_command is intended to bypass the shell here, so can't do ">>"

This commit is contained in:
Michael DeHaan 2014-03-12 10:55:54 -04:00
parent 7f38cff989
commit cfabc2e28a
2 changed files with 9 additions and 1 deletions

View file

@ -1089,6 +1089,12 @@ class AnsibleModule(object):
self.fail_json(cmd=clean_args, rc=rc, stdout=out, stderr=err, msg=msg)
return (rc, out, err)
def append_to_file(self, filename, str):
filename = os.path.expandvars(os.path.expanduser(filename))
fh = open(filename, 'a')
fh.write(str)
fh.close()
def pretty_bytes(self,size):
ranges = (
(1<<70L, 'ZB'),

View file

@ -91,8 +91,10 @@ def add_host_key(module, fqdn, key_type="rsa"):
if not os.path.exists(os.path.expanduser("~/.ssh/")):
module.fail_json(msg="%s does not exist" % os.path.expanduser("~/.ssh/"))
this_cmd = "%s -t %s %s >> ~/.ssh/known_hosts" % (keyscan_cmd, key_type, fqdn)
this_cmd = "%s -t %s %s" % (keyscan_cmd, key_type, fqdn)
rc, out, err = module.run_command(this_cmd)
module.append_to_file("~/.ssh/known_hosts", out)
return rc, out, err