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

@ -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 = []