Quote -e arg in ansible-playbook-command.sh
When ansible-playbook-command.sh is generated, the argument to -e is an inlined JSON dict. In order for the script to parse this a s ginle argument, it needs to be single quoted. Change-Id: I750d780a8b091804fbde77db3d275c081d13bdf8 Signed-off-by: James Slagle <jslagle@redhat.com>
This commit is contained in:
parent
b4baeb062b
commit
9d9d2c6fba
|
@ -696,7 +696,10 @@ def run_ansible_playbook(playbook, inventory, workdir, playbook_dir=None,
|
|||
for key, value in r_opts['envvars'].items():
|
||||
f.write('export {}="{}"\n'.format(key, value))
|
||||
f.write('echo -e "Running Ansible command"\n')
|
||||
f.write('{} "$@"\n'.format(' '.join(runner_config.command)))
|
||||
args = '{} "$@"\n'.format(' '.join(runner_config.command))
|
||||
# Single quote the dict passed to -e
|
||||
args = re.sub('({.*})', '\'\\1\'', args)
|
||||
f.write(args)
|
||||
os.chmod(command_path, 0o750)
|
||||
|
||||
try:
|
||||
|
|
Loading…
Reference in New Issue