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 h...@intel.com

__________________________________________________________________________
OpenStack Development Mailing List (not for usage questions)
Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev

Reply via email to