Quote pathnames of roles' tasks and handlers files so that _load_tasks() can tokenize them properly

With the help of AlejandroTrev's eagle eyes. Thanks !
This commit is contained in:
Stoned Elipot 2013-07-20 23:25:46 +02:00
parent 0f26439234
commit e7a733a6be

View file

@ -21,6 +21,7 @@ from ansible.utils.template import template
from ansible import utils
from ansible import errors
from ansible.playbook.task import Task
import pipes
import shlex
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):
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):
nt = dict(include=task, vars=has_dict)
nt = dict(include=pipes.quote(task), vars=has_dict)
for k in special_keys:
if k in special_vars:
nt[k] = special_vars[k]
new_tasks.append(nt)
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:
if k in special_vars:
nt[k] = special_vars[k]