Merge pull request #1798 from dagwieers/raw-executable

Allow to change executable (shell/interpreter) when using raw
reviewable/pr18780/r1
Daniel Hokka Zakrisson 12 years ago
commit ca042dd719

@ -149,9 +149,11 @@ def command(data):
return dict(failed=True, msg='internal error: cmd is required') return dict(failed=True, msg='internal error: cmd is required')
if 'tmp_path' not in data: if 'tmp_path' not in data:
return dict(failed=True, msg='internal error: tmp_path is required') return dict(failed=True, msg='internal error: tmp_path is required')
if 'executable' not in data:
return dict(failed=True, msg='internal error: executable is required')
log("executing: %s" % data['cmd']) log("executing: %s" % data['cmd'])
p = subprocess.Popen(data['cmd'], shell=True, stdout=subprocess.PIPE, close_fds=True) p = subprocess.Popen(data['cmd'], executable=data['executable'], shell=True, stdout=subprocess.PIPE, close_fds=True)
(stdout, stderr) = p.communicate() (stdout, stderr) = p.communicate()
if stdout is None: if stdout is None:
stdout = '' stdout = ''

11
raw

@ -4,7 +4,16 @@ DOCUMENTATION = '''
--- ---
module: raw module: raw
short_description: Executes a low-down and dirty SSH command short_description: Executes a low-down and dirty SSH command
options: {} options:
free_form:
description:
- the raw module takes a free form command to run
required: true
executable:
description:
- change the shell used to execute the command. Should be an absolute path to the executable.
required: false
version_added: "1.0"
description: description:
- Executes a low-down and dirty SSH command, not going through the module - Executes a low-down and dirty SSH command, not going through the module
subsystem. This is useful and should only be done in two cases. The subsystem. This is useful and should only be done in two cases. The

Loading…
Cancel
Save