From FedoraProject

Revision as of 06:11, 25 April 2012 by Markmc (talk | contribs) (remove from cloud SIG category)

Description

Run Tempest test cases.

Setup

Assumes keystone, nova and glance are already configured and running.

Ensure nova is configured to allow resizing of instances on a single host:

$> sudo openstack-config-set /etc/nova/nova.conf DEFAULT allow_resize_to_same_host True
$> for svc in api compute scheduler; do sudo systemctl restart openstack-nova-$svc.service; done

Install test dependencies:

$> sudo yum install -y python-nose python-unittest2

Create a temporary directory to work from:

$> mkdir /tmp/tempest
$> cd /tmp/tempest

Upload some test images:

$> wget http://launchpad.net/cirros/trunk/0.3.0/+download/cirros-0.3.0-x86_64-uec.tar.gz
$> tar xvzf cirros-0.3.0-x86_64-uec.tar.gz
$> glance add name=cirros-0.3.0-x86_64-kernel is_public=true container_format=aki disk_format=aki < cirros-0.3.0-x86_64-vmlinuz
$> glance add name=cirros-0.3.0-x86_64-ramdisk is_public=true container_format=ari disk_format=ari < cirros-0.3.0-x86_64-initrd
$> glance add name=cirros-0.3.0-x86_64 is_public=true container_format=ami disk_format=ami \
                "kernel_id=$(glance index | awk '/cirros-0.3.0-x86_64-kernel/ {print $1}')" \
                "ramdisk_id=$(glance index | awk '/cirros-0.3.0-x86_64-ramdisk/ {print $1}')" \
                     < <(zcat --force cirros-0.3.0-x86_64-blank.img)

Clone the Tempest repo:

$> git clone https://github.com/openstack/tempest.git
$> cd tempest

Create tempest config:

$> cd etc
$> wget https://s3.amazonaws.com/openstack-tempest/config.ini
$> wget https://s3.amazonaws.com/openstack-tempest/tempest.conf
$> sed -i "s/%IMAGE_ID%/$(glance index | awk '/cirros-0.3.0-x86_64[^-]/ {print $1}')/" tempest.conf
$> cd .. 

How to test

Run Tempest tests with nose:

$> nosetests tempest

Expected Results

The time taken to run the testsuite is quite variable, and ranges from ~20 minutes on an EC2 large instance to circa twice that on a VM with 2Gb RAM and 2 CPUs running on a moderately powered laptop.

The majority of the tests should pass, though you may hit some failures due to timeout or resource starvation (for example breaching the floating IPs quota).