1
0
Fork 0
mirror of https://github.com/ansible-collections/community.general.git synced 2024-09-14 20:13:21 +02:00

allow vars in delegate_to

This commit is contained in:
Jonathan Palley 2012-09-26 03:47:17 +08:00
parent 620accf117
commit faed650bb1

View file

@ -50,7 +50,7 @@ class Task(object):
self.name = ds.get('name', None)
self.tags = [ 'all' ]
self.register = ds.get('register', None)
# Both are defined
if ('action' in ds) and ('local_action' in ds):
raise errors.AnsibleError("the 'action' and 'local_action' attributes can not be used together")
@ -61,17 +61,18 @@ class Task(object):
elif 'local_action' in ds:
self.action = ds.get('local_action', '')
self.delegate_to = '127.0.0.1'
self.transport = 'local'
# delegate_to: localhost should use local transport
elif (ds.get('delegate_to', None) in ['127.0.0.1', 'localhost']):
self.action = ds.get('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)
# delegate_to can use variables
if not (self.delegate_to is None):
self.delegate_to = utils.template(None, self.delegate_to, self.module_vars)
# delegate_to: localhost should use local transport
if self.delegate_to in ['127.0.0.1', 'localhost']:
self.transport = 'local'
# notified by is used by Playbook code to flag which hosts
# need to run a notifier
self.notified_by = []