From 97f8495de63190da67eb667ed3a9a0487907e38e Mon Sep 17 00:00:00 2001 From: Gleb Stepanov Date: Fri, 9 Sep 2016 16:47:26 +0300 Subject: [PATCH] Refactor sleep_between Add ability to call sleep_between with single argument to avoid redundant argument duplication. Change-Id: I04c6c0385dcfc77e8491b429503b8859a5b83586 --- .../openstack/scenarios/cinder/utils.py | 8 ++--- .../plugins/openstack/scenarios/ec2/utils.py | 5 +-- .../plugins/openstack/scenarios/heat/utils.py | 6 ++-- .../openstack/scenarios/manila/utils.py | 5 +-- .../plugins/openstack/scenarios/nova/utils.py | 36 +++++++------------ rally/task/scenario.py | 5 ++- 6 files changed, 22 insertions(+), 43 deletions(-) diff --git a/rally/plugins/openstack/scenarios/cinder/utils.py b/rally/plugins/openstack/scenarios/cinder/utils.py index 60f3df5958..6ebe27c694 100644 --- a/rally/plugins/openstack/scenarios/cinder/utils.py +++ b/rally/plugins/openstack/scenarios/cinder/utils.py @@ -139,10 +139,7 @@ class CinderScenario(scenario.OpenStackScenario): # NOTE(msdubov): It is reasonable to wait 5 secs before starting to # check whether the volume is ready => less API calls. - self.sleep_between(CONF.benchmark. - cinder_volume_create_prepoll_delay, - CONF.benchmark. - cinder_volume_create_prepoll_delay) + self.sleep_between(CONF.benchmark.cinder_volume_create_prepoll_delay) volume = bench_utils.wait_for( volume, @@ -269,8 +266,7 @@ class CinderScenario(scenario.OpenStackScenario): client = cinder_wrapper.wrap(self._clients.cinder, self) snapshot = client.create_snapshot(volume_id, **kwargs) - self.sleep_between(CONF.benchmark.cinder_volume_create_prepoll_delay, - CONF.benchmark.cinder_volume_create_prepoll_delay) + self.sleep_between(CONF.benchmark.cinder_volume_create_prepoll_delay) snapshot = bench_utils.wait_for( snapshot, ready_statuses=["available"], diff --git a/rally/plugins/openstack/scenarios/ec2/utils.py b/rally/plugins/openstack/scenarios/ec2/utils.py index ac80d21a45..dfb556e04c 100644 --- a/rally/plugins/openstack/scenarios/ec2/utils.py +++ b/rally/plugins/openstack/scenarios/ec2/utils.py @@ -75,10 +75,7 @@ class EC2Scenario(scenario.OpenStackScenario): **kwargs) servers = [instance for instance in reservation.instances] - self.sleep_between(CONF.benchmark. - ec2_server_boot_prepoll_delay, - CONF.benchmark. - ec2_server_boot_prepoll_delay) + self.sleep_between(CONF.benchmark.ec2_server_boot_prepoll_delay) servers = [utils.wait_for( server, ready_statuses=["RUNNING"], diff --git a/rally/plugins/openstack/scenarios/heat/utils.py b/rally/plugins/openstack/scenarios/heat/utils.py index 6272075975..e161f129b4 100644 --- a/rally/plugins/openstack/scenarios/heat/utils.py +++ b/rally/plugins/openstack/scenarios/heat/utils.py @@ -142,8 +142,7 @@ class HeatScenario(scenario.OpenStackScenario): stack_id = self.clients("heat").stacks.create(**kw)["stack"]["id"] stack = self.clients("heat").stacks.get(stack_id) - self.sleep_between(CONF.benchmark.heat_stack_create_prepoll_delay, - CONF.benchmark.heat_stack_create_prepoll_delay) + self.sleep_between(CONF.benchmark.heat_stack_create_prepoll_delay) stack = utils.wait_for( stack, @@ -179,8 +178,7 @@ class HeatScenario(scenario.OpenStackScenario): } self.clients("heat").stacks.update(stack.id, **kw) - self.sleep_between(CONF.benchmark.heat_stack_update_prepoll_delay, - CONF.benchmark.heat_stack_update_prepoll_delay) + self.sleep_between(CONF.benchmark.heat_stack_update_prepoll_delay) stack = utils.wait_for( stack, diff --git a/rally/plugins/openstack/scenarios/manila/utils.py b/rally/plugins/openstack/scenarios/manila/utils.py index 72addf177e..a17597c46c 100644 --- a/rally/plugins/openstack/scenarios/manila/utils.py +++ b/rally/plugins/openstack/scenarios/manila/utils.py @@ -86,10 +86,7 @@ class ManilaScenario(scenario.OpenStackScenario): share = self.clients("manila").shares.create( share_proto, size, **kwargs) - self.sleep_between(CONF.benchmark. - manila_share_create_prepoll_delay, - CONF.benchmark. - manila_share_create_prepoll_delay) + self.sleep_between(CONF.benchmark.manila_share_create_prepoll_delay) share = utils.wait_for( share, ready_statuses=["available"], diff --git a/rally/plugins/openstack/scenarios/nova/utils.py b/rally/plugins/openstack/scenarios/nova/utils.py index a1ab299df3..949752e2f4 100755 --- a/rally/plugins/openstack/scenarios/nova/utils.py +++ b/rally/plugins/openstack/scenarios/nova/utils.py @@ -138,8 +138,7 @@ class NovaScenario(scenario.OpenStackScenario): server = self.clients("nova").servers.create( server_name, image_id, flavor_id, **kwargs) - self.sleep_between(CONF.benchmark.nova_server_boot_prepoll_delay, - CONF.benchmark.nova_server_boot_prepoll_delay) + self.sleep_between(CONF.benchmark.nova_server_boot_prepoll_delay) server = utils.wait_for( server, ready_statuses=["ACTIVE"], @@ -151,8 +150,7 @@ class NovaScenario(scenario.OpenStackScenario): def _do_server_reboot(self, server, reboottype): server.reboot(reboot_type=reboottype) - self.sleep_between(CONF.benchmark.nova_server_pause_prepoll_delay, - CONF.benchmark.nova_server_pause_prepoll_delay) + self.sleep_between(CONF.benchmark.nova_server_pause_prepoll_delay) utils.wait_for( server, ready_statuses=["ACTIVE"], @@ -214,8 +212,7 @@ class NovaScenario(scenario.OpenStackScenario): :param kwargs: Optional additional arguments to pass to the rebuild """ server.rebuild(image, **kwargs) - self.sleep_between(CONF.benchmark.nova_server_rebuild_prepoll_delay, - CONF.benchmark.nova_server_rebuild_prepoll_delay) + self.sleep_between(CONF.benchmark.nova_server_rebuild_prepoll_delay) utils.wait_for( server, ready_statuses=["ACTIVE"], @@ -270,8 +267,7 @@ class NovaScenario(scenario.OpenStackScenario): :param server: Server object """ server.rescue() - self.sleep_between(CONF.benchmark.nova_server_rescue_prepoll_delay, - CONF.benchmark.nova_server_rescue_prepoll_delay) + self.sleep_between(CONF.benchmark.nova_server_rescue_prepoll_delay) utils.wait_for( server, ready_statuses=["RESCUE"], @@ -289,8 +285,7 @@ class NovaScenario(scenario.OpenStackScenario): :param server: Server object """ server.unrescue() - self.sleep_between(CONF.benchmark.nova_server_unrescue_prepoll_delay, - CONF.benchmark.nova_server_unrescue_prepoll_delay) + self.sleep_between(CONF.benchmark.nova_server_unrescue_prepoll_delay) utils.wait_for( server, ready_statuses=["ACTIVE"], @@ -309,8 +304,7 @@ class NovaScenario(scenario.OpenStackScenario): :param server: Server object """ server.suspend() - self.sleep_between(CONF.benchmark.nova_server_suspend_prepoll_delay, - CONF.benchmark.nova_server_suspend_prepoll_delay) + self.sleep_between(CONF.benchmark.nova_server_suspend_prepoll_delay) utils.wait_for( server, ready_statuses=["SUSPENDED"], @@ -329,8 +323,7 @@ class NovaScenario(scenario.OpenStackScenario): :param server: Server object """ server.resume() - self.sleep_between(CONF.benchmark.nova_server_resume_prepoll_delay, - CONF.benchmark.nova_server_resume_prepoll_delay) + self.sleep_between(CONF.benchmark.nova_server_resume_prepoll_delay) utils.wait_for( server, ready_statuses=["ACTIVE"], @@ -349,8 +342,7 @@ class NovaScenario(scenario.OpenStackScenario): :param server: Server object """ server.pause() - self.sleep_between(CONF.benchmark.nova_server_pause_prepoll_delay, - CONF.benchmark.nova_server_pause_prepoll_delay) + self.sleep_between(CONF.benchmark.nova_server_pause_prepoll_delay) utils.wait_for( server, ready_statuses=["PAUSED"], @@ -369,8 +361,7 @@ class NovaScenario(scenario.OpenStackScenario): :param server: Server object """ server.unpause() - self.sleep_between(CONF.benchmark.nova_server_pause_prepoll_delay, - CONF.benchmark.nova_server_pause_prepoll_delay) + self.sleep_between(CONF.benchmark.nova_server_pause_prepoll_delay) utils.wait_for( server, ready_statuses=["ACTIVE"], @@ -389,8 +380,7 @@ class NovaScenario(scenario.OpenStackScenario): :param server: Server object """ server.shelve() - self.sleep_between(CONF.benchmark.nova_server_pause_prepoll_delay, - CONF.benchmark.nova_server_pause_prepoll_delay) + self.sleep_between(CONF.benchmark.nova_server_pause_prepoll_delay) utils.wait_for( server, ready_statuses=["SHELVED_OFFLOADED"], @@ -409,8 +399,7 @@ class NovaScenario(scenario.OpenStackScenario): """ server.unshelve() - self.sleep_between(CONF.benchmark. nova_server_unshelve_prepoll_delay, - CONF.benchmark. nova_server_unshelve_prepoll_delay) + self.sleep_between(CONF.benchmark. nova_server_unshelve_prepoll_delay) utils.wait_for( server, ready_statuses=["ACTIVE"], @@ -581,8 +570,7 @@ class NovaScenario(scenario.OpenStackScenario): # created servers manually. servers = [s for s in self.clients("nova").servers.list() if s.name.startswith(name_prefix)] - self.sleep_between(CONF.benchmark.nova_server_boot_prepoll_delay, - CONF.benchmark.nova_server_boot_prepoll_delay) + self.sleep_between(CONF.benchmark.nova_server_boot_prepoll_delay) servers = [utils.wait_for( server, ready_statuses=["ACTIVE"], diff --git a/rally/task/scenario.py b/rally/task/scenario.py index c4530f67c6..9aae346730 100644 --- a/rally/task/scenario.py +++ b/rally/task/scenario.py @@ -190,7 +190,7 @@ class Scenario(plugin.Plugin, for user in users: cls._validate_helper(user_validators, user, config, deployment) - def sleep_between(self, min_sleep, max_sleep, atomic_delay=0.1): + def sleep_between(self, min_sleep, max_sleep=None, atomic_delay=0.1): """Call an interruptable_sleep() for a random amount of seconds. The exact time is chosen uniformly randomly from the interval @@ -202,6 +202,9 @@ class Scenario(plugin.Plugin, :param atomic_delay: parameter with which time.sleep would be called int(sleep_time / atomic_delay) times. """ + if max_sleep is None: + max_sleep = min_sleep + if not 0 <= min_sleep <= max_sleep: raise exceptions.InvalidArgumentsException( "0 <= min_sleep <= max_sleep")