← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1333074] [NEW] pci_passthrough_whitelist in nova.conf can only filter PCI devices by product_id and vender_id

 

Public bug reported:

I want to use SR-IOV in Openstack.
I have one NIC with two slots.  Only one slot is plugged in. So the NIC has two Physical Function.  I enabled sr-iov on this machine. So I got 32 virtual functions(16 virtual function for each physical function).
Now I want to make openstack only use the 16 virtual functions for the physical functions which is plugged in.   However, I found that only  product_id and vender_id can be the filter criteria when I looked up the code in  pci/pci_whitelist.py(Line 40,  _WHITELIST_SCHEMA).
I hope I could filter PCI devices by physical functions like this  pci_passthrough_whitelist=[{ "vendor_id":"8086","product_id":"1515", "phys_function.0.3": "0x0"}].

There is a same problem for the pci_alias.  I can't use extra_info to
define  the pci_alias filter(The physical function info is in
extra_info)

** Affects: nova
     Importance: Undecided
     Assignee: Young (afe-young)
         Status: New

** Changed in: nova
     Assignee: (unassigned) => Young (afe-young)

** Summary changed:

- pci_passthrough_whitelist in nova.conf  can  only filter by  product_id and vender_id
+ pci_passthrough_whitelist in nova.conf  can  only PCI devices  filter by  product_id and vender_id

** Summary changed:

- pci_passthrough_whitelist in nova.conf  can  only PCI devices  filter by  product_id and vender_id
+ pci_passthrough_whitelist in nova.conf  can  only  filter  PCI devices by  product_id and vender_id

** Description changed:

- 
- I'mw working on using SR-IOV in Openstack.
+ I want to use SR-IOV in Openstack.
  I have one NIC with two slots.  Only one slot is plugged in. So the NIC has two Physical Function.  I enabled sr-iov on this machine. So I got 32 virtual functions(16 virtual function for each physical function).
- Now I want to make openstack only uses the 16 virtual functions for the physical functions which is plugged in.   However, I found that only  product_id and vender_id is enabled when I looked up the code in  pci/pci_whitelist.py(Line 40,  _WHITELIST_SCHEMA).   
+ Now I want to make openstack only uses the 16 virtual functions for the physical functions which is plugged in.   However, I found that only  product_id and vender_id is enabled when I looked up the code in  pci/pci_whitelist.py(Line 40,  _WHITELIST_SCHEMA).
  I hope I could filter by physical functions like this  pci_passthrough_whitelist=[{ "vendor_id":"8086","product_id":"1515", "phys_function.0.3": "0x0"}].
  
- 
- There is a same problem for the pci_alias.  I can't use extra_info to  define  the pci_alias  filter(The physical function info is in extra_info)
+ There is a same problem for the pci_alias.  I can't use extra_info to
+ define  the pci_alias  filter(The physical function info is in
+ extra_info)

** Description changed:

  I want to use SR-IOV in Openstack.
  I have one NIC with two slots.  Only one slot is plugged in. So the NIC has two Physical Function.  I enabled sr-iov on this machine. So I got 32 virtual functions(16 virtual function for each physical function).
- Now I want to make openstack only uses the 16 virtual functions for the physical functions which is plugged in.   However, I found that only  product_id and vender_id is enabled when I looked up the code in  pci/pci_whitelist.py(Line 40,  _WHITELIST_SCHEMA).
- I hope I could filter by physical functions like this  pci_passthrough_whitelist=[{ "vendor_id":"8086","product_id":"1515", "phys_function.0.3": "0x0"}].
+ Now I want to make openstack only use the 16 virtual functions for the physical functions which is plugged in.   However, I found that only  product_id and vender_id can be the filter criteria when I looked up the code in  pci/pci_whitelist.py(Line 40,  _WHITELIST_SCHEMA).
+ I hope I could filter PCI devices by physical functions like this  pci_passthrough_whitelist=[{ "vendor_id":"8086","product_id":"1515", "phys_function.0.3": "0x0"}].
  
  There is a same problem for the pci_alias.  I can't use extra_info to
- define  the pci_alias  filter(The physical function info is in
+ define  the pci_alias filter(The physical function info is in
  extra_info)

-- 
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/1333074

Title:
  pci_passthrough_whitelist in nova.conf  can  only  filter  PCI devices
  by  product_id and vender_id

Status in OpenStack Compute (Nova):
  New

Bug description:
  I want to use SR-IOV in Openstack.
  I have one NIC with two slots.  Only one slot is plugged in. So the NIC has two Physical Function.  I enabled sr-iov on this machine. So I got 32 virtual functions(16 virtual function for each physical function).
  Now I want to make openstack only use the 16 virtual functions for the physical functions which is plugged in.   However, I found that only  product_id and vender_id can be the filter criteria when I looked up the code in  pci/pci_whitelist.py(Line 40,  _WHITELIST_SCHEMA).
  I hope I could filter PCI devices by physical functions like this  pci_passthrough_whitelist=[{ "vendor_id":"8086","product_id":"1515", "phys_function.0.3": "0x0"}].

  There is a same problem for the pci_alias.  I can't use extra_info to
  define  the pci_alias filter(The physical function info is in
  extra_info)

To manage notifications about this bug go to:
https://bugs.launchpad.net/nova/+bug/1333074/+subscriptions


Follow ups

References