blob: 661763cce9a5b2bfe3e72cd0bb2b722d17ba7402 [file] [log] [blame]
Sean Dague7679b482013-05-24 08:49:44 -04001Tempest Field Guide to Stress Tests
Attila Fazekas23fdf1d2013-06-09 16:35:23 +02002===================================
David Kranzb9d97502013-05-01 15:55:04 -04003
4Nova is a distributed, asynchronous system that is prone to race condition
5bugs. These bugs will not be easily found during
6functional testing but will be encountered by users in large deployments in a
7way that is hard to debug. The stress test tries to cause these bugs to happen
8in a more controlled environment.
9
10
11Environment
Attila Fazekas23fdf1d2013-06-09 16:35:23 +020012-----------
Sean Dague7679b482013-05-24 08:49:44 -040013This particular framework assumes your working Nova cluster understands Nova
David Kranzb9d97502013-05-01 15:55:04 -040014API 2.0. The stress tests can read the logs from the cluster. To enable this
15you have to provide the hostname to call 'nova-manage' and
16the private key and user name for ssh to the cluster in the
17[stress] section of tempest.conf. You also need to provide the
18location of the log files:
19
20 target_logfiles = "regexp to all log files to be checked for errors"
21 target_private_key_path = "private ssh key for controller and log file nodes"
22 target_ssh_user = "username for controller and log file nodes"
23 target_controller = "hostname or ip of controller node (for nova-manage)
24 log_check_interval = "time between checking logs for errors (default 60s)"
25
26
27
28Running the sample test
29-----------------------
30
31To test installation, do the following (from the tempest/stress directory):
32
33 ./run_stress.py etc/sample-test.json -d 30
34
35This sample test tries to create a few VMs and kill a few VMs.
36
37
38Additional Tools
39----------------
40
41Sometimes the tests don't finish, or there are failures. In these
42cases, you may want to clean out the nova cluster. We have provided
43some scripts to do this in the ``tools`` subdirectory.
44You can use the following script to destroy any keypairs,
45floating ips, and servers:
46
47tempest/stress/tools/cleanup.py