[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 
      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 

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_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 

   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

         * test cases

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):
            trying put  some improved test case to tempest(rejected):

Yongli He at intel.com

More information about the OpenStack-dev mailing list