Skip to content

Instantly share code, notes, and snippets.

@Ch00k
Created March 24, 2014 19:13
Show Gist options
  • Save Ch00k/9747050 to your computer and use it in GitHub Desktop.
Save Ch00k/9747050 to your computer and use it in GitHub Desktop.
diff --git a/rally/benchmark/scenarios/nova/servers.py b/rally/benchmark/scenarios/nova/servers.py
index 6af8316..c51d902 100644
--- a/rally/benchmark/scenarios/nova/servers.py
+++ b/rally/benchmark/scenarios/nova/servers.py
@@ -35,6 +35,14 @@ class NovaServers(utils.NovaScenario,
def __init__(self, *args, **kwargs):
super(NovaServers, self).__init__(*args, **kwargs)
+ def create_server_create_volume_attach_volume(self, image_id, flavor_id,
+ min_sleep=0, max_sleep=0,
+ **kwargs):
+ server_name = self._generate_random_name(16)
+ server = self._boot_server(server_name, image_id, flavor_id, **kwargs)
+ volume = self._create_volume(1)
+ self._attach_volume(server, volume)
+
@valid.add_validator(valid.image_valid_on_flavor("flavor_id", "image_id"))
def boot_and_delete_server(self, image_id, flavor_id,
min_sleep=0, max_sleep=0, **kwargs):
diff --git a/rally/benchmark/scenarios/nova/utils.py b/rally/benchmark/scenarios/nova/utils.py
index 34a82ee..53ff764 100644
--- a/rally/benchmark/scenarios/nova/utils.py
+++ b/rally/benchmark/scenarios/nova/utils.py
@@ -66,6 +66,11 @@ CONF.register_opts(nova_benchmark_opts, group=benchmark_group)
class NovaScenario(base.Scenario):
+ @scenario_utils.atomic_action_timer('nova.attach_volume')
+ def _attach_volume(self, server_id, volume_id):
+ self.clients("nova").volumes.create_server_volume(server_id, volume_id,
+ '/dev/vdd')
+
@scenario_utils.atomic_action_timer('nova.boot_server')
def _boot_server(self, server_name, image_id, flavor_id, **kwargs):
"""Boots one server.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment