diff --git a/awx/api/views.py b/awx/api/views.py index dfc7685aa0..85ad006ed3 100644 --- a/awx/api/views.py +++ b/awx/api/views.py @@ -1,4 +1,3 @@ - # Copyright (c) 2015 Ansible, Inc. # All Rights Reserved. @@ -2987,7 +2986,7 @@ class JobJobTasksList(BaseJobEventsList): # need stats on grandchildren, sorted by child. queryset = (JobEvent.objects.filter(parent__parent=parent_task, parent__event__in=STARTING_EVENTS) - .values('parent__id', 'event', 'changed') + .values('parent__id', 'event', 'changed', 'failed') .annotate(num=Count('event')) .order_by('parent__id')) @@ -3048,10 +3047,13 @@ class JobJobTasksList(BaseJobEventsList): # make appropriate changes to the task data. for child_data in data.get(task_start_event.id, []): if child_data['event'] == 'runner_on_failed': - task_data['failed'] = True task_data['host_count'] += child_data['num'] task_data['reported_hosts'] += child_data['num'] - task_data['failed_count'] += child_data['num'] + if child_data['failed']: + task_data['failed'] = True + task_data['failed_count'] += child_data['num'] + else: + task_data['skipped_count'] += child_data['num'] elif child_data['event'] == 'runner_on_ok': task_data['host_count'] += child_data['num'] task_data['reported_hosts'] += child_data['num']