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

Bug #1333074 reported by Young
20
This bug affects 3 people
Affects Status Importance Assigned to Milestone
OpenStack Compute (nova)
Expired
Undecided
Unassigned

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)

Young (afe-young)
Changed in nova:
assignee: nobody → Young (afe-young)
summary: - 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: - 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: updated
description: updated
Young (afe-young)
Changed in nova:
status: New → In Progress
status: In Progress → New
Young (afe-young)
Changed in nova:
status: New → In Progress
Revision history for this message
Young (afe-young) wrote :
Revision history for this message
Pavel Stano (stano-u) wrote :

patch from review works ok with icehouse release like this:

pci_alias = { "name": "sriov_eth0", "vendor_id": "14e4", "product_id": "16af", "extra_info.phys_function": "0000:01:00.0" }
pci_alias = { "name": "sriov_eth1", "vendor_id": "14e4", "product_id": "16af", "extra_info.phys_function": "0000:01:00.1" }
pci_passthrough_whitelist = [{"vendor_id": "14e4", "product_id": "16af"}]

nova flavor-key sriovtest2 set "pci_passthrough:alias"="sriov_eth0:1,sriov_eth1:1"

Revision history for this message
Joe Gordon (jogo) wrote :

patch was abandoned, so not in progress.

Changed in nova:
status: In Progress → Confirmed
assignee: Young (afe-young) → nobody
importance: Undecided → Low
Revision history for this message
Markus Zoeller (markus_z) (mzoeller) wrote : Cleanup EOL bug report

This is an automated cleanup. This bug report has been closed because it
is older than 18 months and there is no open code change to fix this.
After this time it is unlikely that the circumstances which lead to
the observed issue can be reproduced.

If you can reproduce the bug, please:
* reopen the bug report (set to status "New")
* AND add the detailed steps to reproduce the issue (if applicable)
* AND leave a comment "CONFIRMED FOR: <RELEASE_NAME>"
  Only still supported release names are valid (LIBERTY, MITAKA, OCATA, NEWTON).
  Valid example: CONFIRMED FOR: LIBERTY

Changed in nova:
importance: Low → Undecided
status: Confirmed → Expired
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.