ddb489cfe5
Change-Id: I9b730abae07cf52b0ff4fd7b74e91cc4948630f5
78 lines
3.1 KiB
ReStructuredText
78 lines
3.1 KiB
ReStructuredText
::
|
|
|
|
Tempest - The OpenStack Integration Test Suite
|
|
==============================================
|
|
|
|
This is a set of integration tests to be run against a live cluster.
|
|
|
|
Quickstart
|
|
----------
|
|
|
|
To run Tempest, you first need to create a configuration file that
|
|
will tell Tempest where to find the various OpenStack services and
|
|
other testing behavior switches.
|
|
|
|
The easiest way to create a configuration file is to copy the sample
|
|
one in the ``etc/`` directory ::
|
|
|
|
$> cd $TEMPEST_ROOT_DIR
|
|
$> cp etc/tempest.conf.sample etc/tempest.conf
|
|
|
|
After that, open up the ``etc/tempest.conf`` file and edit the
|
|
configuration variables to match valid data in your environment.
|
|
This includes your Keystone endpoint, a valid user and credentials,
|
|
and reference data to be used in testing.
|
|
|
|
.. note::
|
|
|
|
If you have a running devstack environment, look at the
|
|
environment variables in your ``devstack/localrc`` file.
|
|
The ADMIN_PASSWORD variable should match the api_key value
|
|
in the tempest.conf [nova] configuration section. In addition,
|
|
you will need to get the UUID identifier of the image that
|
|
devstack uploaded and set the image_ref value in the [environment]
|
|
section in the tempest.conf to that image UUID.
|
|
|
|
In addition, the ``<devstack-repo>/tools/configure_tempest.sh`` script can
|
|
also be used to generate a tempest.conf based on your devstack's rc files.
|
|
TEMPEST_DIR variable points to location /opt/stack/temptest. Update this
|
|
variable if the location is different..
|
|
|
|
Tempest is not tied to any single test runner, but Nose been the most commonly
|
|
used tool. After setting up your configuration file, you can execute
|
|
the set of Tempest tests by using ``nosetests`` ::
|
|
$> nosetests tempest
|
|
|
|
To run one single test ::
|
|
$> nosetests -sv tempest.tests.compute.servers.test_server_actions.py:
|
|
ServerActionsTestJSON.test_rebuild_nonexistent_server
|
|
|
|
Configuration
|
|
-------------
|
|
|
|
At present, there are three sections to be configured: nova, environment,
|
|
and image. The nova section includes information about your Keystone endpoint,
|
|
as well as valid credentials for a user. It also contains logical timeouts
|
|
for certain actions. The environment section contains reference data to be
|
|
used when testing the Compute portion of OpenStack, as well as feature flags
|
|
for tests that may or may not work based on your hypervisor or current
|
|
environment. Lastly, the image section contains credentials and endpoints for
|
|
the Glance image service.
|
|
|
|
Common Issues
|
|
-------------
|
|
|
|
Tempest was originally designed to primarily run against a full OpenStack
|
|
deployment. Due to that focus, some issues may occur when running Tempest
|
|
against devstack.
|
|
|
|
Running Tempest, especially in parallel, against a devstack instance may
|
|
cause requests to be rate limited, which will cause unexpected failures.
|
|
Given the number of requests Tempest can make against a cluster, rate limiting
|
|
should be disabled for all test accounts.
|
|
|
|
Additionally, devstack only provides a single image which Nova can use.
|
|
For the moment, the best solution is to provide the same image uuid for
|
|
both image_ref and image_ref_alt. Tempest will skip tests as needed if it
|
|
detects that both images are the same.
|