'Report final calculate of physical memory, used virtual memory,
disk, usable vCPUs, used virtual CPUs and PCI devices,
including instance calculations and in-progress resource claims. These
values will be exposed via the compute node table to the scheduler.'

def _report_final_resource_view(self, nodename):

    cn = self.compute_nodes[nodename]
    vcpus = cn.vcpus
    if vcpus:
        tcpu = vcpus
        ucpu = cn.vcpus_used
        LOG.debug('Total    usable    vcpus:    %(tcpu)s,    total    allocated    vcpus:    %(ucpu)s', {'tcpu': vcpus, 'ucpu': ucpu})
    else:
        tcpu = 0
        ucpu = 0
    pci_stats = (list(cn.pci_device_pools) if cn.pci_device_pools else [])
    LOG.info('Final    resource    view:    name=%(node)s    phys_ram=%(phys_ram)sMB    used_ram=%(used_ram)sMB    phys_disk=%(phys_disk)sGB    used_disk=%(used_disk)sGB    total_vcpus=%(total_vcpus)s    used_vcpus=%(used_vcpus)s    pci_stats=%(pci_stats)s', {'node': nodename, 'phys_ram': cn.memory_mb, 'used_ram': cn.memory_mb_used, 'phys_disk': cn.local_gb, 'used_disk': cn.local_gb_used, 'total_vcpus': tcpu, 'used_vcpus': ucpu, 'pci_stats': pci_stats})
