Allow transport on tasks, and use it for local_action

This commit is contained in:
Daniel Hokka Zakrisson 2012-09-17 18:28:37 +02:00
parent 7df0e5259f
commit 5bb0f6908b
2 changed files with 5 additions and 4 deletions

View file

@ -223,7 +223,7 @@ class PlayBook(object):
setup_cache=self.SETUP_CACHE, basedir=task.play.basedir,
conditional=task.only_if, callbacks=self.runner_callbacks,
sudo=task.play.sudo, sudo_user=task.play.sudo_user,
transport=task.play.transport, sudo_pass=self.sudo_pass, is_playbook=True
transport=task.transport, sudo_pass=self.sudo_pass, is_playbook=True
)
if task.async_seconds == 0:

View file

@ -26,14 +26,14 @@ class Task(object):
'notify', 'module_name', 'module_args', 'module_vars',
'play', 'notified_by', 'tags', 'register', 'with_items',
'delegate_to', 'first_available_file', 'ignore_errors',
'local_action'
'local_action', 'transport'
]
# to prevent typos and such
VALID_KEYS = [
'name', 'action', 'only_if', 'async', 'poll', 'notify', 'with_items',
'first_available_file', 'include', 'tags', 'register', 'ignore_errors',
'delegate_to', 'local_action'
'delegate_to', 'local_action', 'transport'
]
def __init__(self, play, ds, module_vars=None):
@ -60,10 +60,11 @@ class Task(object):
# Only one of them is defined
elif 'local_action' in ds:
self.action = ds.get('local_action', '')
self.delegate_to = '127.0.0.1'
self.transport = 'local'
else:
self.action = ds.get('action', '')
self.delegate_to = ds.get('delegate_to', None)
self.transport = ds.get('transport', play.transport)
# notified by is used by Playbook code to flag which hosts
# need to run a notifier