Fix bug in registered variables related to delegate_to changes

This commit is contained in:
James Cammarata 2015-07-08 12:38:24 -04:00
parent f5baad4fb2
commit 27fcf1a4b5
3 changed files with 10 additions and 2 deletions

View file

@ -107,7 +107,7 @@ class ResultProcess(multiprocessing.Process):
# if this task is registering a result, do it now
if result._task.register:
self._send_result(('set_host_var', result._host, result._task, None, result._task.register, result._result))
self._send_result(('register_host_var', result._host, result._task.register, result._result))
# send callbacks, execute other options based on the result status
# FIXME: this should all be cleaned up and probably moved to a sub-function.

View file

@ -223,6 +223,14 @@ class StrategyBase:
if host not in self._notified_handlers[handler_name]:
self._notified_handlers[handler_name].append(host)
elif result[0] == 'register_host_var':
# essentially the same as 'set_host_var' below, however we
# never follow the delegate_to value for registered vars
host = result[1]
var_name = result[2]
var_value = result[3]
self._variable_manager.set_host_variable(host, var_name, var_value)
elif result[0] in ('set_host_var', 'set_host_facts'):
host = result[1]
task = result[2]

View file

@ -44,7 +44,7 @@
- name: check what python version ansible is running on
command: python -c 'import distutils.sysconfig ; print(distutils.sysconfig.get_python_version())'
register: pyver
#delegate_to: localhost
delegate_to: localhost
- name: copy known good into place
copy: src=foo.txt dest={{output_dir}}/foo.txt