API: Add PCI API support for PCI device management

Registered by jiang, yunhong

Currently we have PCI support in nova, so that user can assign a PCI device to a VM.

We need provide API interface so that cloud admin can manage the PCI devices in the system, and also can check if a VM has PCI devices assigned or not.


Blueprint information

John Garbutt
Needs approval
Shuangtai Tian
Series goal:
Milestone target:
milestone icon next
Started by
Shuangtai Tian
Completed by
Shuangtai Tian

Related branches



Thanks for the extra detail
-- johnthetubaguy

At the design summit we agreed:
* need some use cases to describe what problem this is trying to solve
* go through how the API requests work for those use cases
* discuss the neutron case, so we having things in place for that
* don't add config values for associating the groups, we probably want admin apis, we might want to use host aggregates for describing the setup
I think we need to look carefully at the design before accepting this. I would love to see the use cases described (from both the admin and user point of view), and the interaction between Nova and Neutron described, so we know how this all fits together. -- johnthetubaguy

Hi, John
at summit, we talk about the grouping and device allocation tracking and we agree to design new API for whitelist or group configration, that should be cover by following bp, not this API bp, this api is the base pci support.
here is the link:

etherpad link in summit:

by Yongli He(Pauli)

Hi, johnthetubaguy
I updated the blueprint and added the user case. Move the detail to wiki. BTW, the neutron case is another blueprint. this blueprint just add information to server api, hypervisor api and list devices information on the nodes.
-- shuangtai Tian

It should include 3 API interface, a) list PCI device information, b) extend hypervisor API to add PCI stats information, c) extend server API to add PCI assignment information. -- yjiang5


Gerrit topic: https://review.openstack.org/#/q/status:open+project:openstack/nova+branch:master+topic:bp/pci-api-support,n,z

Draft change:

Addressed by: https://review.openstack.org/62570
    Extends V3 os-hypervisor api for pci support


Addressed by: https://review.openstack.org/51135
    Extends V3 servers api for pci support

Addressed by: https://review.openstack.org/52376
    Extends V3 os-hypervisor api for pci support

Addressed by: https://review.openstack.org/52377
    Add V3 api for pci support

Addressed by: https://review.openstack.org/53785
    Cache compute node info in Hypervisor api

the V2 api will be removed, so don't need merge. -- shuangtai

Apologies, this missed the deadline for Feature Freeze. Please rebase patches as soon as Juno opens, and we will try to get this in during that period. --johnthetubaguy (5th March 2014)

While things have merged in icehouse, there is not enough to bother splitting this blueprint. --johnthetubaugy

Unapproved - please re-submit via nova-spec --johnthetubagy (20th March 2014)


Work Items

This blueprint contains Public information 
Everyone can see this information.