blob: 7c180f64e023eb1527d7be8df45a0a0cf5911e9d [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
Marc Kodererb714de52013-08-08 09:21:46 +020026To activate logging on your console please make sure that you activate `use_stderr`
27in tempest.conf or use the default `logging.conf.sample` file.
David Kranzb9d97502013-05-01 15:55:04 -040028
29Running the sample test
30-----------------------
31
32To test installation, do the following (from the tempest/stress directory):
33
Giulio Fidentec57ac8b2013-08-01 11:28:41 +020034 ./run_stress.py etc/server-create-destroy-test.json -d 30
David Kranzb9d97502013-05-01 15:55:04 -040035
36This sample test tries to create a few VMs and kill a few VMs.
37
38
39Additional Tools
40----------------
41
42Sometimes the tests don't finish, or there are failures. In these
43cases, you may want to clean out the nova cluster. We have provided
44some scripts to do this in the ``tools`` subdirectory.
45You can use the following script to destroy any keypairs,
46floating ips, and servers:
47
48tempest/stress/tools/cleanup.py