Passthrough of SR-IOV physical functions (partial)
Nova has supported passthrough of PCI devices with it's libvirt driver for a
few releases already, during which time the code has seen some stabilization
and a few minor feature additions.
In the case of SR-IOV enabled cards, it is possible to treat the card either as
a number of virtual devices (called VFs - virtual functions) or as a full
device (PF - physical function).
Nova's current handling exposes only virtual functions as resources that can
be requested by instances - and this is the most common use case by far.
However with the rise of the requirements to virtualize network applications,
it can be necessary to give instances full control over hardware and not just a
single virtual function.
OpenStack is seen as one of the central bits of technology for the NFV
use-cases, and a lot of the work has already gone into making OpenStack and
Nova NFV enabled, so we want to make sure that we close these small remaining
gaps.
Blueprint information
- Status:
- Complete
- Approver:
- John Garbutt
- Priority:
- Low
- Drafter:
- Nikola Đipanov
- Direction:
- Approved
- Assignee:
- Nikola Đipanov
- Definition:
- Approved
- Series goal:
- Accepted for mitaka
- Implementation:
-
Implemented
- Milestone target:
-
mitaka-3
- Started by
- John Garbutt
- Completed by
- John Garbutt
Related branches
Related bugs
Sprints
Whiteboard
Gerrit topic: https:/
Addressed by: https:/
spec document for sriov-physical-
Addressed by: https:/
tests: Allow for code block lines to be longer
Gerrit topic: https:/
Addressed by: https:/
db: adding columns to PciDevice table
Addressed by: https:/
db: querry to retrieve all pci device by parent address
Addressed by: https:/
objects: adding a parent_addr field to the PciDevice object
Addressed by: https:/
pci: filter out any unavailable SRIOV Physical Functions
Addressed by: https:/
pci: adding support to specify a dev_type in pci requests
Addressed by: https:/
pci: changing the claiming and allocation logic for PF/VF assignment
Addressed by: https:/
Make pci_alias parsing logic not assume device_type is set
Addressed by: https:/
pci: adding support to specify a device_type in pci requests
Gerrit topic: https:/
Addressed by: https:/
Add caching of service_
Addressed by: https:/
objects: update the old location parent_addr only if it has value
Addressed by: https:/
pci: use context when performing oprations of pci devices
Work Items
Dependency tree

* Blueprints in grey have been implemented.