63 lines
2.3 KiB
ReStructuredText
63 lines
2.3 KiB
ReStructuredText
.. _stress_field_guide:
|
|
|
|
Tempest Field Guide to Stress Tests
|
|
===================================
|
|
|
|
OpenStack is a distributed, asynchronous system that is prone to race condition
|
|
bugs. These bugs will not be easily found during
|
|
functional testing but will be encountered by users in large deployments in a
|
|
way that is hard to debug. The stress test tries to cause these bugs to happen
|
|
in a more controlled environment.
|
|
|
|
|
|
Environment
|
|
-----------
|
|
This particular framework assumes your working Nova cluster understands Nova
|
|
API 2.0. The stress tests can read the logs from the cluster. To enable this
|
|
you have to provide the hostname to call 'nova-manage' and
|
|
the private key and user name for ssh to the cluster in the
|
|
[stress] section of tempest.conf. You also need to provide the
|
|
location of the log files:
|
|
|
|
.. code-block:: ini
|
|
|
|
target_logfiles = "regexp to all log files to be checked for errors"
|
|
target_private_key_path = "private ssh key for controller and log file nodes"
|
|
target_ssh_user = "username for controller and log file nodes"
|
|
target_controller = "hostname or ip of controller node (for nova-manage)
|
|
log_check_interval = "time between checking logs for errors (default 60s)"
|
|
|
|
To activate logging on your console please make sure that you activate `use_stderr`
|
|
in tempest.conf or use the default `logging.conf.sample` file.
|
|
|
|
Running default stress test set
|
|
-------------------------------
|
|
|
|
The stress test framework can automatically discover test inside the tempest
|
|
test suite. All test flag with the `@stresstest` decorator will be executed.
|
|
In order to use this discovery you have to install tempest CLI, be in the
|
|
tempest root directory and execute the following:
|
|
|
|
tempest run-stress -a -d 30
|
|
|
|
Running the sample test
|
|
-----------------------
|
|
|
|
To test installation, do the following:
|
|
|
|
tempest run-stress -t tempest/stress/etc/server-create-destroy-test.json -d 30
|
|
|
|
This sample test tries to create a few VMs and kill a few VMs.
|
|
|
|
|
|
Additional Tools
|
|
----------------
|
|
|
|
Sometimes the tests don't finish, or there are failures. In these
|
|
cases, you may want to clean out the nova cluster. We have provided
|
|
some scripts to do this in the ``tools`` subdirectory.
|
|
You can use the following script to destroy any keypairs,
|
|
floating ips, and servers:
|
|
|
|
tempest/stress/tools/cleanup.py
|