Initial checkin of Stress Test for nova.
Change-Id: I1c4c656e3b8ec715524d369c226ec122920f89fb
diff --git a/stress/tests/create_kill.py b/stress/tests/create_kill.py
new file mode 100644
index 0000000..1457279
--- /dev/null
+++ b/stress/tests/create_kill.py
@@ -0,0 +1,40 @@
+# Copyright 2011 Quanta Research Cambridge, Inc.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+"""More aggressive test that creates and destroys VMs with shorter
+sleep times"""
+
+from stress.test_servers import *
+from stress.basher import BasherAction
+from stress.driver import *
+from tempest import openstack
+
+choice_spec = [
+ BasherAction(TestCreateVM(), 50,
+ kargs={'timeout': '600',
+ 'image_ref': 2,
+ 'flavor_ref': 1}
+ ),
+ BasherAction(TestKillActiveVM(), 50,
+ kargs={'timeout': '600'})
+]
+
+nova = openstack.Manager()
+
+bash_openstack(nova,
+ choice_spec,
+ duration=datetime.timedelta(seconds=180),
+ sleep_time=100, # in milliseconds
+ seed=int(time.time()),
+ test_name="create and delete",
+ max_vms=32)
diff --git a/stress/tests/hard_reboots.py b/stress/tests/hard_reboots.py
new file mode 100644
index 0000000..503159e
--- /dev/null
+++ b/stress/tests/hard_reboots.py
@@ -0,0 +1,38 @@
+# Copyright 2011 Quanta Research Cambridge, Inc.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+"""Test that reboots random instances in a Nova cluster"""
+
+
+from stress.test_servers import *
+from stress.test_server_actions import *
+from stress.basher import BasherAction
+from stress.driver import *
+from tempest import openstack
+
+choice_spec = [
+ BasherAction(TestCreateVM(), 50,
+ kargs={'timeout': '600'}),
+ BasherAction(TestRebootVM(), 50,
+ kargs={'type': 'HARD'}),
+]
+
+nova = openstack.Manager()
+
+bash_openstack(nova,
+ choice_spec,
+ duration=datetime.timedelta(seconds=180),
+ sleep_time=500, # in milliseconds
+ seed=int(time.time()),
+ test_name="hard reboots",
+ max_vms=32)
diff --git a/stress/tests/user_script_sample.py b/stress/tests/user_script_sample.py
new file mode 100644
index 0000000..e4f53c4
--- /dev/null
+++ b/stress/tests/user_script_sample.py
@@ -0,0 +1,38 @@
+# Copyright 2011 Quanta Research Cambridge, Inc.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+"""Sample stress test that creates a few virtual machines and then
+destroys them"""
+
+
+from stress.test_servers import *
+from stress.basher import BasherAction
+from stress.driver import *
+from tempest import openstack
+
+choice_spec = [
+ BasherAction(TestCreateVM(), 50,
+ kargs={'timeout': '60'}),
+ BasherAction(TestKillActiveVM(), 50)
+]
+
+
+nova = openstack.Manager()
+
+bash_openstack(nova,
+ choice_spec,
+ duration=datetime.timedelta(seconds=10),
+ sleep_time=1000, # in milliseconds
+ seed=None,
+ test_name="simple create and delete",
+ max_vms=10)