Public bug reported: Assigning an SR-IOV VF device to an instance when PFs are whitelisted too correctly marks the PF as unavailable if one of it's VFs got assigned. However when we delete the instance, the PF is not makred as available.
Steps to reproduce: 1) Whitelist PFs and VFs in nova.conf (as explained in the docs) for example pci_passthrough_whitelist = [{"product_id":"1520", "vendor_id":"8086", "physical_network":"phynet"}, {"product_id":"1521", "vendor_id":"8086", "physical_network":"phynet"}] # Both pfs and vfs are whitelisted 2) Add an alias to assign a VF pci_alias = {"name": "vf", "device_type": "type-VF"} 3) Set up a flavor with an alias extra_spec $ nova flavor-key 2 set "pci_passthrough:alias"="vf:1" 4) Boot an instance with the said flavor and observe a VF being set to 'allocated' and a PF being set to 'unavailable' select * from pci_devices where deleted=0; 5) Delete the instance from step 4 and observe that the VF has been made available but the PF is still 'unavailable'. Both should be back to available if this was the only VF used. ** Affects: nova Importance: High Status: New ** Changed in: nova Importance: Undecided => Medium ** Changed in: nova Importance: Medium => High -- 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/1567549 Title: SR-IOV VF passthrough does not properly update status of parent PF upon freeing VF Status in OpenStack Compute (nova): New Bug description: Assigning an SR-IOV VF device to an instance when PFs are whitelisted too correctly marks the PF as unavailable if one of it's VFs got assigned. However when we delete the instance, the PF is not makred as available. Steps to reproduce: 1) Whitelist PFs and VFs in nova.conf (as explained in the docs) for example pci_passthrough_whitelist = [{"product_id":"1520", "vendor_id":"8086", "physical_network":"phynet"}, {"product_id":"1521", "vendor_id":"8086", "physical_network":"phynet"}] # Both pfs and vfs are whitelisted 2) Add an alias to assign a VF pci_alias = {"name": "vf", "device_type": "type-VF"} 3) Set up a flavor with an alias extra_spec $ nova flavor-key 2 set "pci_passthrough:alias"="vf:1" 4) Boot an instance with the said flavor and observe a VF being set to 'allocated' and a PF being set to 'unavailable' select * from pci_devices where deleted=0; 5) Delete the instance from step 4 and observe that the VF has been made available but the PF is still 'unavailable'. Both should be back to available if this was the only VF used. To manage notifications about this bug go to: https://bugs.launchpad.net/nova/+bug/1567549/+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