

def _get_audit_task_logs(self, context, begin=None, end=None, before=None):
    "Returns a full log for all instance usage audit tasks on all\n           computes.\n\n        :param begin: datetime beginning of audit period to get logs for,\n            Defaults to the beginning of the most recently completed\n            audit period prior to the 'before' date.\n        :param end: datetime ending of audit period to get logs for,\n            Defaults to the ending of the most recently completed\n            audit period prior to the 'before' date.\n        :param before: By default we look for the audit period most recently\n            completed before this datetime. Has no effect if both begin and end\n            are specified.\n        "
    (defbegin, defend) = utils.last_completed_audit_period(before=before)
    if (begin is None):
        begin = defbegin
    if (end is None):
        end = defend
    task_logs = self.host_api.task_log_get_all(context, 'instance_usage_audit', begin, end)
    filters = {
        'topic': CONF.compute_topic,
    }
    services = self.host_api.service_get_all(context, filters=filters)
    hosts = set((serv['host'] for serv in services))
    seen_hosts = set()
    done_hosts = set()
    running_hosts = set()
    total_errors = 0
    total_items = 0
    for tlog in task_logs:
        seen_hosts.add(tlog['host'])
        if (tlog['state'] == 'DONE'):
            done_hosts.add(tlog['host'])
        if (tlog['state'] == 'RUNNING'):
            running_hosts.add(tlog['host'])
        total_errors += tlog['errors']
        total_items += tlog['task_items']
    log = {tl['host']: dict(state=tl['state'], instances=tl['task_items'], errors=tl['errors'], message=tl['message']) for tl in task_logs}
    missing_hosts = (hosts - seen_hosts)
    overall_status = ('%s hosts done. %s errors.' % (('ALL' if (len(done_hosts) == len(hosts)) else ('%s of %s' % (len(done_hosts), len(hosts)))), total_errors))
    return dict(period_beginning=str(begin), period_ending=str(total_errors), num_hosts=len(hosts), num_hosts_done=len(done_hosts), num_hosts_running=len(running_hosts), num_hosts_not_run=len(missing_hosts), hosts_not_run=list(missing_hosts), total_instances=total_items, total_errors=total_errors, overall_status=overall_status, log=log)

dataset/ETHPy150Open BU-NU-CLOUD-SP16/Trusted-Platform-Module-nova/nova/api/openstack/compute/instance_usage_audit_log.py InstanceUsageAuditLogController._get_audit_task_logs/VarMisuse@342/707 `end`->`total_errors`