Implement PCI passthrough for xenapi driver.

Registered by guillaume thouvenin

We will add the support for updating the status of the host by adding a plugin which uses the "pciback" driver in dom0 to list the PCI devices we can pass through.

We will add the mechanism to attach a pci device to a VM when booting. The attachement of PCI devices will be one of the steps in creating the VM. We won't support hot-plugging of PCI devices.

To list the devices, we will need an additional xenapi plugin, as xenapi does not allow us to list all PCI devices yet, it only lets us attach them.

This will simply piggy-back the support that the libvirt driver currently has, so we don't expect and changes above the driver level as part of this blueprint, and we don't expect any new configuration settings.

Blueprint information

Status:
Complete
Approver:
John Garbutt
Priority:
Low
Drafter:
guillaume thouvenin
Direction:
Approved
Assignee:
guillaume thouvenin
Definition:
Approved
Series goal:
Accepted for icehouse
Implementation:
Implemented
Milestone target:
milestone icon 2014.1
Started by
guillaume thouvenin
Completed by
guillaume thouvenin

Related branches

Sprints

Whiteboard

Sponsors: johnthetubaguy

Gerrit topic: https://review.openstack.org/#q,topic:bp/pci-passthrough-xenapi,n,z

Addressed by: https://review.openstack.org/63816
    Add the support for updating the status of the host. We added a function into the workarounds plugin to get information about PCI devices that are passed on the pciback.hide dom0 command line. Then we check if devices that are hidden from dom0 are availab

Gerrit topic: https://review.openstack.org/#q,topic:bp/pci-passthrough-xenapi-patch1,n,z

Addressed by: https://review.openstack.org/67125
    Add the mechanism to attach a pci device to a VM.

(?)

Work Items

Work items:
[guillaume-thouvenin] add the support for updating the status of the hypervisor's PCI devices: INPROGRESS
[guillaume-thouvenin] add the mechanism to attach a pci device to a VM: INPROGRESS

Dependency tree

* Blueprints in grey have been implemented.

This blueprint contains Public information 
Everyone can see this information.