tempest/tempest/stress
Marc Koderer b714de586f Change logging in stress test
Stress tests is now using the default tempest logging in order to use
tempest.conf for configuration. Every action registers a logger for
their own (previously they reported always as "stresstest").

Cleanup function is adapted as well.

Implements: bp stress-tests

Change-Id: I571d4b1ad7ced62b5d5b3e7faf8fa1a7e5f9504e
2013-08-08 15:10:29 +02:00
..
actions renames the stress test class to include the Volume keyword 2013-08-02 11:38:54 +02:00
etc renames the stress test class to include the Volume keyword 2013-08-02 11:38:54 +02:00
tools Change logging in stress test 2013-08-08 15:10:29 +02:00
README.rst Change logging in stress test 2013-08-08 15:10:29 +02:00
__init__.py Simplified stress tests. 2013-05-08 10:21:47 -04:00
cleanup.py Change logging in stress test 2013-08-08 15:10:29 +02:00
driver.py Change logging in stress test 2013-08-08 15:10:29 +02:00
run_stress.py Add argument to stop stress test on first error 2013-08-01 08:39:47 +02:00
stressaction.py Change logging in stress test 2013-08-08 15:10:29 +02:00

README.rst

Tempest Field Guide to Stress Tests

Nova 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:

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 the sample test

To test installation, do the following (from the tempest/stress directory):

./run_stress.py 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