|
|
@ -26,6 +26,7 @@ from ansible.playbook.included_file import IncludedFile
|
|
|
|
from ansible.plugins import action_loader
|
|
|
|
from ansible.plugins import action_loader
|
|
|
|
from ansible.plugins.strategy import StrategyBase
|
|
|
|
from ansible.plugins.strategy import StrategyBase
|
|
|
|
from ansible.template import Templar
|
|
|
|
from ansible.template import Templar
|
|
|
|
|
|
|
|
from ansible.compat.six import text_type
|
|
|
|
|
|
|
|
|
|
|
|
try:
|
|
|
|
try:
|
|
|
|
from __main__ import display
|
|
|
|
from __main__ import display
|
|
|
@ -107,6 +108,15 @@ class StrategyModule(StrategyBase):
|
|
|
|
templar = Templar(loader=self._loader, variables=task_vars)
|
|
|
|
templar = Templar(loader=self._loader, variables=task_vars)
|
|
|
|
display.debug("done getting variables")
|
|
|
|
display.debug("done getting variables")
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
try:
|
|
|
|
|
|
|
|
task.name = text_type(templar.template(task.name, fail_on_undefined=False))
|
|
|
|
|
|
|
|
display.debug("done templating")
|
|
|
|
|
|
|
|
except:
|
|
|
|
|
|
|
|
# just ignore any errors during task name templating,
|
|
|
|
|
|
|
|
# we don't care if it just shows the raw name
|
|
|
|
|
|
|
|
display.debug("templating failed for some reason")
|
|
|
|
|
|
|
|
pass
|
|
|
|
|
|
|
|
|
|
|
|
run_once = templar.template(task.run_once) or action and getattr(action, 'BYPASS_HOST_LOOP', False)
|
|
|
|
run_once = templar.template(task.run_once) or action and getattr(action, 'BYPASS_HOST_LOOP', False)
|
|
|
|
if run_once:
|
|
|
|
if run_once:
|
|
|
|
if action and getattr(action, 'BYPASS_HOST_LOOP', False):
|
|
|
|
if action and getattr(action, 'BYPASS_HOST_LOOP', False):
|
|
|
|