[openstack-dev] [nova][qa][pci] Intel PCI CI , testing method/env and test cases
yongli he
yongli.he at intel.com
Fri Jan 16 06:47:53 UTC 2015
Hi, all
Intel PCI CI use hardware machine to testing PCI, there are some
change to devstack, tempest
use Jerkins dispatch task.
basic information:
* the topology:
log server <---> Jenkins server <----> node pool
* use devstack deploy testing env.
PCI CI 's main problem is how to know pci information and how configure
nova/tempest:
1) the test cases should know the machine's pci device
information ( to checking the allocated pci does passed to vm)
2) how Jerkins deliver these pci information to
nova/devstack/tempest
how Intel CI solve these problem:
1) Q:how the test cases know the allocated machine's pci device
information :
A: each node might have different HW for PCI, different
number of PCI devices so there is a configure file
for each node storing the node's pci information.
* test node local config file:
pci.conf
pci_info=name:PCI_network_card,vendor_id:8086,product_id:1520,count:20; ...
2) Q: how Jekins deliver pci information to nova/devstack/tempest
A: Jekins allocated a node for a pach set, then sent a
scripts to :
* configure the devstack
then, devstack configure the nova pci
pci_passthrough_whitelist and alias
* exporting a env var storing the pci_info for tempest pci
test cases ( this need improve, of course)
now the test case know everything to create VM with PCI
devices.
What changed to devstack/tempest:
* devstack
adding "insert_pci" to devstack/functions-common
* tempest
adding linux utils to get pci device information from vm
adding routines to create pci flavor
https://github.com/intel-hw-ci/Intel-Openstack-Hardware-CI/blob/master/pci_tempest_patch/0001-Add-Intel-PCI-functions.patch
* test cases
https://github.com/intel-hw-ci/Intel-Openstack-Hardware-CI/tree/master/pci_testcases
What can be improvement and what is common( maybe into devstack/tempest)?
* tempest use env variable deliver information to tempest cases
need improve, may be a config option
* the pci information could be simplify by use interface name
instead of vendor_id/product_id
* "init_pci" might be valuable to devstack
* test cases:
landing the test cases to nova function testing (pending):
https://review.openstack.org/#/c/141270/
trying put some improved test case to tempest(rejected):
https://review.openstack.org/#/c/139000/
Regards
Yongli He at intel.com
More information about the OpenStack-dev
mailing list