convert runner to use an args file rather than just arguments passed

on the command line
pull/70/head
Seth Vidal 13 years ago committed by Michael DeHaan
parent f681425453
commit a9948f97c6

@ -34,6 +34,7 @@ import random
import jinja2 import jinja2
import time import time
import traceback import traceback
import tempfile
# FIXME: stop importing *, use as utils/errors # FIXME: stop importing *, use as utils/errors
from ansible.utils import * from ansible.utils import *
@ -267,8 +268,17 @@ class Runner(object):
template = jinja2.Template(args) template = jinja2.Template(args)
args = template.render(inject_vars) args = template.render(inject_vars)
# make a tempfile for the args and stuff the args into the file
cmd = "%s %s" % (remote_module_path, args) argsfd,argsfile = tempfile.mkstemp()
argsfo = os.fdopen(argsfd, 'w')
argsfo.write(args)
argsfo.flush()
argsfo.close()
args_rem = tmp + 'argsfile'
self.remote_log(conn, "args: %s" % args)
self._transfer_file(conn,argsfile, args_rem)
os.unlink(argsfile)
cmd = "%s %s" % (remote_module_path, args_rem)
result = self._exec_command(conn, cmd) result = self._exec_command(conn, cmd)
return result return result

Loading…
Cancel
Save