Public bug reported: in pci utils the is_physical_function function check it based on existing virtfn* symbolic link. The check is incorrect because if the PF doen't enable SR-IOV meaning sriov_numvfs is set to zero there are no virtfn* ljnks and the nova-compute recognize it as VF.
see: root@r-ufm160:/opt/stack/logs# ls /sys/bus/pci/devices/0000\:03\:00.0/ broken_parity_status d3cold_allowed enable iommu_group modalias pools reset sriov_numvfs uevent class device infiniband irq msi_bus power resource sriov_totalvfs vendor commands_cache dma_mask_bits infiniband_cm local_cpulist msi_irqs real_miss resource0 subsystem vpd config driver infiniband_mad local_cpus net remove resource0_wc subsystem_device consistent_dma_mask_bits driver_override infiniband_verbs mlx5_num_vfs numa_node rescan sriov subsystem_vendor root@r-ufm160:/opt/stack/logs# cat /sys/bus/pci/devices/0000\:03\:00.0/sriov_numvfs 0 root@r-ufm160:/opt/stack/logs# echo 4 > /sys/bus/pci/devices/0000\:03\:00.0/sriov_numvfs root@r-ufm160:/opt/stack/logs# ls /sys/bus/pci/devices/0000\:03\:00.0/ broken_parity_status d3cold_allowed enable iommu_group modalias pools reset sriov_numvfs uevent virtfn3 class device infiniband irq msi_bus power resource sriov_totalvfs vendor vpd commands_cache dma_mask_bits infiniband_cm local_cpulist msi_irqs real_miss resource0 subsystem virtfn0 config driver infiniband_mad local_cpus net remove resource0_wc subsystem_device virtfn1 consistent_dma_mask_bits driver_override infiniband_verbs mlx5_num_vfs numa_node rescan sriov subsystem_vendor virtfn2 ** Affects: nova Importance: Undecided Assignee: Moshe Levi (moshele) Status: In Progress ** Tags: passthrough pci ** Tags added: pci-passthogth ** Tags removed: pci-passthogth ** Tags added: passthrough pci -- You received this bug notification because you are a member of Yahoo! Engineering Team, which is subscribed to OpenStack Compute (nova). https://bugs.launchpad.net/bugs/1499204 Title: wrong check for physical function in pci utils Status in OpenStack Compute (nova): In Progress Bug description: in pci utils the is_physical_function function check it based on existing virtfn* symbolic link. The check is incorrect because if the PF doen't enable SR-IOV meaning sriov_numvfs is set to zero there are no virtfn* ljnks and the nova-compute recognize it as VF. see: root@r-ufm160:/opt/stack/logs# ls /sys/bus/pci/devices/0000\:03\:00.0/ broken_parity_status d3cold_allowed enable iommu_group modalias pools reset sriov_numvfs uevent class device infiniband irq msi_bus power resource sriov_totalvfs vendor commands_cache dma_mask_bits infiniband_cm local_cpulist msi_irqs real_miss resource0 subsystem vpd config driver infiniband_mad local_cpus net remove resource0_wc subsystem_device consistent_dma_mask_bits driver_override infiniband_verbs mlx5_num_vfs numa_node rescan sriov subsystem_vendor root@r-ufm160:/opt/stack/logs# cat /sys/bus/pci/devices/0000\:03\:00.0/sriov_numvfs 0 root@r-ufm160:/opt/stack/logs# echo 4 > /sys/bus/pci/devices/0000\:03\:00.0/sriov_numvfs root@r-ufm160:/opt/stack/logs# ls /sys/bus/pci/devices/0000\:03\:00.0/ broken_parity_status d3cold_allowed enable iommu_group modalias pools reset sriov_numvfs uevent virtfn3 class device infiniband irq msi_bus power resource sriov_totalvfs vendor vpd commands_cache dma_mask_bits infiniband_cm local_cpulist msi_irqs real_miss resource0 subsystem virtfn0 config driver infiniband_mad local_cpus net remove resource0_wc subsystem_device virtfn1 consistent_dma_mask_bits driver_override infiniband_verbs mlx5_num_vfs numa_node rescan sriov subsystem_vendor virtfn2 To manage notifications about this bug go to: https://bugs.launchpad.net/nova/+bug/1499204/+subscriptions -- Mailing list: https://launchpad.net/~yahoo-eng-team Post to : yahoo-eng-team@lists.launchpad.net Unsubscribe : https://launchpad.net/~yahoo-eng-team More help : https://help.launchpad.net/ListHelp