Update for AC-291, playbook_on_stats (aka Playbook Complete) event now sets changed and failed flags when any host has changes/failures.

This commit is contained in:
Chris Church 2013-07-27 20:18:58 -04:00
parent 8f379b2397
commit de2cd7b0fc

View File

@ -1156,6 +1156,14 @@ class JobEvent(models.Model):
res = self.event_data.get('res', None)
if isinstance(res, dict) and res.get('changed', False):
self.changed = True
if self.event == 'playbook_on_stats':
try:
failures_dict = self.event_data.get('failures', {})
self.failed = bool(sum(failures_dict.values()))
changed_dict = self.event_data.get('changed', {})
self.changed = bool(sum(changed_dict.values()))
except (AttributeError, TypeError):
pass
try:
if not self.host and self.event_data.get('host', ''):
self.host = self.job.inventory.hosts.get(name=self.event_data['host'])