PCI passthrough testing frame work considration

PCI passthrough testing frame work considration

Currently pci passthrough had no testing cover all logic cuase need special test machine setup. we try to add some test case into temptest to cover the pci passthrough module.

fake libvirt call
this solution tying create a special things for pci alias and white list wihch contain 'debug' in the extra info, pci logic code trate such request and device as a fake one.

1) no change in testing infrastructure 2) don't need the special setup for testing machine
 * pro:

can not cover the libvirt driver.
 * cons:

fake pci device or bus
a faked device or bus develeping is time consuming, it also face some tough situation: 1) kernel won’t accept it  2) vendor won’t need it

modify testing frame work allow schedule testcase on demand
1) setup compute node which the pci passthrough is ready to use  2) modify the testing schedule logic allow the pci testing case be scheduled to that machine (already supported?? fix me)

QEMU IOMMU emulator
QEMU provide the emulation of pci devices. problem: iommu emulation is on the way.

Third Party Testing as temprary workaroud
Gerrit has an event stream which can be subscribed to, using this it is possible to test commits against testing systems beyond those supplied by OpenStack’s Jenkins setup. It is also possible for these systems to feed information back into Gerrit and they can also leave non-gating votes on Gerrit review requests. . http://ci.openstack.org/third_party.html

triple-O baremetal testing
TripleO has bare-metal test plan, this a straightforward testing method for PCI gate/check testing.

https://wiki.openstack.org/wiki/TripleO/TripleOCloud