Merge pull request #3606 from stoned/fix-3521-2

Quote pathnames of roles' tasks and handlers files so that _load_tasks()...
pull/3607/merge
Michael DeHaan 12 years ago
commit 1c21fc48b9

@ -21,6 +21,7 @@ from ansible.utils.template import template
from ansible import utils from ansible import utils
from ansible import errors from ansible import errors
from ansible.playbook.task import Task from ansible.playbook.task import Task
import pipes
import shlex import shlex
import os import os
@ -185,13 +186,13 @@ class Play(object):
if not os.path.isfile(task) and not os.path.isfile(handler) and not os.path.isfile(vars_file) and not os.path.isdir(library): if not os.path.isfile(task) and not os.path.isfile(handler) and not os.path.isfile(vars_file) and not os.path.isdir(library):
raise errors.AnsibleError("found role at %s, but cannot find %s or %s or %s or %s" % (path, task, handler, vars_file, library)) raise errors.AnsibleError("found role at %s, but cannot find %s or %s or %s or %s" % (path, task, handler, vars_file, library))
if os.path.isfile(task): if os.path.isfile(task):
nt = dict(include=task, vars=has_dict) nt = dict(include=pipes.quote(task), vars=has_dict)
for k in special_keys: for k in special_keys:
if k in special_vars: if k in special_vars:
nt[k] = special_vars[k] nt[k] = special_vars[k]
new_tasks.append(nt) new_tasks.append(nt)
if os.path.isfile(handler): if os.path.isfile(handler):
nt = dict(include=handler, vars=has_dict) nt = dict(include=pipes.quote(handler), vars=has_dict)
for k in special_keys: for k in special_keys:
if k in special_vars: if k in special_vars:
nt[k] = special_vars[k] nt[k] = special_vars[k]

Loading…
Cancel
Save