human
I wrote the below code

    admin_context = nova.context.get_admin_context(read_deleted='yes')
    def _get_nwinfo_old_skool():
        'Support    for    getting    network    info    without    objects.'
        if (instance_ref.get('info_cache') and (instance_ref['info_cache'].get('network_info') is not None)):
            cached_info = instance_ref['info_cache']['network_info']
            if isinstance(cached_info, network_model.NetworkInfo):
                return cached_info
            return network_model.NetworkInfo.hydrate(cached_info)
        try:
            return network.API().get_instance_nw_info(admin_context, instance_ref)
        except Exception:
            try:
                with excutils.save_and_reraise_exception():
                    LOG.exception(_LE('Failed    to    get    nw_info'), instance=instance_ref)
            except Exception:
                if ignore_missing_network_data:
                    return
                raise
    if isinstance(instance_ref, obj_base.NovaObject):
        nw_info = instance_ref.info_cache.network_info
        if (nw_info is None):
            nw_info = network_model.NetworkInfo()
    else:
        nw_info = _get_nwinfo_old_skool()
    macs = [vif['address'] for vif in nw_info]
    uuids = [instance_ref['uuid']]
    bw_usages = objects.BandwidthUsageList.get_by_uuids(admin_context, uuids, audit_start)
    bw = {}
    for b in bw_usages:
        if (b.mac in macs):
            label = ('net-name-not-found-%s' % b.mac)
            for vif in nw_info:
                if (vif['address'] == b.mac):
                    label = vif['network']['label']
                    break
            bw[label] = dict(bw_in=b.bw_in, bw_out=b.bw_out)
    return bw

What's a good function header?

Here's a good function header?
assistant
#Here's a good function header.

def bandwidth_usage(instance_ref, audit_start, ignore_missing_network_data=True):