Fix some more handler issues
* Only notify handlers when the task is changed * Don't run handlers on hosts which have failed
This commit is contained in:
parent
2576f480fd
commit
ec4d1b11df
2 changed files with 2 additions and 2 deletions
|
@ -123,7 +123,7 @@ class ResultProcess(multiprocessing.Process):
|
||||||
self._send_result(('host_task_skipped', result))
|
self._send_result(('host_task_skipped', result))
|
||||||
else:
|
else:
|
||||||
# if this task is notifying a handler, do it now
|
# if this task is notifying a handler, do it now
|
||||||
if result._task.notify:
|
if result._task.notify and result._result.get('changed', False):
|
||||||
# The shared dictionary for notified handlers is a proxy, which
|
# The shared dictionary for notified handlers is a proxy, which
|
||||||
# does not detect when sub-objects within the proxy are modified.
|
# does not detect when sub-objects within the proxy are modified.
|
||||||
# So, per the docs, we reassign the list so the proxy picks up and
|
# So, per the docs, we reassign the list so the proxy picks up and
|
||||||
|
|
|
@ -380,7 +380,7 @@ class StrategyBase:
|
||||||
break
|
break
|
||||||
self._tqm.send_callback('v2_playbook_on_handler_task_start', handler)
|
self._tqm.send_callback('v2_playbook_on_handler_task_start', handler)
|
||||||
for host in self._notified_handlers[handler_name]:
|
for host in self._notified_handlers[handler_name]:
|
||||||
if not handler.has_triggered(host):
|
if not handler.has_triggered(host) and host.name not in self._tqm._failed_hosts:
|
||||||
task_vars = self._variable_manager.get_vars(loader=self._loader, play=iterator._play, host=host, task=handler)
|
task_vars = self._variable_manager.get_vars(loader=self._loader, play=iterator._play, host=host, task=handler)
|
||||||
task_vars = self.add_tqm_variables(task_vars, play=iterator._play)
|
task_vars = self.add_tqm_variables(task_vars, play=iterator._play)
|
||||||
self._queue_task(host, handler, task_vars, connection_info)
|
self._queue_task(host, handler, task_vars, connection_info)
|
||||||
|
|
Loading…
Reference in a new issue