'Create a new HostPciSRIOVDevicesInfo object.
:param vf_product_id: (int) Product ID of the Virtual Functions
:param pf_product_id=1528: (int) Product ID of the Physical Functions
:param num_pfs: (int) The number of the Physical Functions
:param num_vfs: (int) The number of the Virtual Functions
:param group: (int) Initial group id
:param numa_node: (int) NUMA node of the device, if set all of the
device will be created in the provided node
:param total_numa_nodes: (int) total number of NUMA nodes'

def __init__(self, vf_product_id=1515, pf_product_id=1528, num_pfs=2, num_vfs=8, group=47, numa_node=None, total_numa_nodes=2):

    def _calc_numa_node(dev):
        return ((dev % total_numa_nodes) if (numa_node is None) else numa_node)
    self.devices = {}
    if (num_vfs and (not num_pfs)):
        raise ValueError('Cannot    create    VFs    without    PFs')
    vf_ratio = ((num_vfs // num_pfs) if num_pfs else 0)
    for dev in range(num_pfs):
        dev_group = ((group + dev) + 1)
        pci_dev_name = ('pci_0000_81_%(slot)s_%(dev)d' % {'slot': PF_SLOT, 'dev': dev})
        self.devices[pci_dev_name] = FakePciDevice('PF', vf_ratio, dev_group, dev, pf_product_id, _calc_numa_node(dev))
    for dev in range(num_vfs):
        dev_group = ((group + dev) + 1)
        pci_dev_name = ('pci_0000_81_%(slot)s_%(dev)d' % {'slot': VF_SLOT, 'dev': dev})
        self.devices[pci_dev_name] = FakePciDevice('VF', vf_ratio, dev_group, dev, vf_product_id, _calc_numa_node(dev))
