Reviewed:  https://review.openstack.org/303012
Committed: 
https://git.openstack.org/cgit/openstack/nova/commit/?id=b9858b2981fbdc52c0721d29cc15abce93371544
Submitter: Jenkins
Branch:    master

commit b9858b2981fbdc52c0721d29cc15abce93371544
Author: Nikola Dipanov <ndipa...@redhat.com>
Date:   Thu Apr 7 18:53:52 2016 +0100

    pci: Make sure PF is 'available' when last VF is freed
    
    We were adding the PF back to the pools but not setting the status
    properly.
    
    The reason this was not caught by tests is because tests were broken as
    well (we were using assertTrue instead of assertEqual which always
    passes).
    
    Change-Id: I62d4a810d8d7c4453865db0290029c269225c139
    Closes-bug: #1567549


** Changed in: nova
       Status: In Progress => Fix Released

-- 
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):
  Fix Released

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

Reply via email to