Add support for new ansible stats

This commit is contained in:
Jim Ladd 2019-02-13 17:25:35 -08:00
parent ca043d9bfd
commit 8c9544e5ed
5 changed files with 32 additions and 2 deletions

View File

@ -4038,7 +4038,8 @@ class JobHostSummarySerializer(BaseSerializer):
class Meta:
model = JobHostSummary
fields = ('*', '-name', '-description', 'job', 'host', 'host_name', 'changed',
'dark', 'failures', 'ok', 'processed', 'skipped', 'failed')
'dark', 'failures', 'ok', 'processed', 'skipped', 'failed',
'ignored', 'rescued')
def get_related(self, obj):
res = super(JobHostSummarySerializer, self).get_related(obj)

View File

@ -308,8 +308,10 @@ class BaseCallbackModule(CallbackBase):
changed=stats.changed,
dark=stats.dark,
failures=stats.failures,
ignored=stats.ignored,
ok=stats.ok,
processed=stats.processed,
rescued=stats.rescued,
skipped=stats.skipped
)

View File

@ -0,0 +1,25 @@
# -*- coding: utf-8 -*-
# Generated by Django 1.11.16 on 2019-02-14 00:44
from __future__ import unicode_literals
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('main', '0061_v350_track_native_credentialtype_source'),
]
operations = [
migrations.AddField(
model_name='jobhostsummary',
name='ignored',
field=models.PositiveIntegerField(default=0, editable=False),
),
migrations.AddField(
model_name='jobhostsummary',
name='rescued',
field=models.PositiveIntegerField(default=0, editable=False),
),
]

View File

@ -483,7 +483,7 @@ class JobEvent(BasePlaybookEvent):
job = self.job
for host in hostnames:
host_stats = {}
for stat in ('changed', 'dark', 'failures', 'ok', 'processed', 'skipped'):
for stat in ('changed', 'dark', 'failures', 'ignored', 'ok', 'processed', 'rescued', 'skipped'):
try:
host_stats[stat] = self.event_data.get(stat, {}).get(host, 0)
except AttributeError: # in case event_data[stat] isn't a dict.

View File

@ -1123,8 +1123,10 @@ class JobHostSummary(CreatedModifiedModel):
changed = models.PositiveIntegerField(default=0, editable=False)
dark = models.PositiveIntegerField(default=0, editable=False)
failures = models.PositiveIntegerField(default=0, editable=False)
ignored = models.PositiveIntegerField(default=0, editable=False)
ok = models.PositiveIntegerField(default=0, editable=False)
processed = models.PositiveIntegerField(default=0, editable=False)
rescued = models.PositiveIntegerField(default=0, editable=False)
skipped = models.PositiveIntegerField(default=0, editable=False)
failed = models.BooleanField(default=False, editable=False)