Merge "rally: rework plugin"

This commit is contained in:
Zuul 2017-10-20 18:08:26 +00:00 committed by Gerrit Code Review
commit 33c763e0b9
4 changed files with 63 additions and 49 deletions

View File

@ -25,7 +25,7 @@ from rally.task import context
LOG = logging.getLogger(__name__)
@context.configure(name="prepare_ec2_client", order=110)
@context.configure(name="prepare_ec2_client", platform="openstack", order=110)
class PrepareEC2ClientContext(context.Context):
def __init__(self, ctx):

View File

@ -222,7 +222,7 @@ class EC2Objects(context.Context):
LOG.exception('')
@context.configure(name="ec2api_networks", order=451)
@context.configure(name="ec2api_networks", platform="openstack", order=451)
class FakeNetworkGenerator(EC2Objects):
"""Context class for adding temporary networks for benchmarks.
@ -277,7 +277,7 @@ class FakeNetworkGenerator(EC2Objects):
self.cleanup_networks(tenant_id, client)
@context.configure(name="ec2api_servers", order=450)
@context.configure(name="ec2api_servers", platform="openstack", order=450)
class FakeServerGenerator(EC2Objects):
"""Context class for adding temporary servers for benchmarks.

View File

@ -25,7 +25,7 @@ from ec2api.tests.functional import botocoreclient
LOG = logging.getLogger(__name__)
@context.configure(name="fake_images", order=411)
@context.configure(name="fake_images", platform="openstack", order=411)
class FakeImageGenerator(context.Context):
"""Context class for adding images to each user for benchmarks."""

View File

@ -64,57 +64,16 @@ class EC2APIPlugin(scenario.OpenStackScenario):
args['url'], args['region'], args['access'], args['secret'])
return client
@scenario.configure()
def describe_images(self):
self.describe_images_ec2api()
self.describe_images_nova()
def describe_images_ec2api(self):
client = self.get_ec2_client()
with atomic.ActionTimer(self, 'describe_images_ec2api'):
data = client.describe_images()
def describe_images_nova(self):
def describe_images_glance(self):
client = osclients.Clients(
self.context['user']['credential']).nova().images
with atomic.ActionTimer(self, 'describe_images_nova'):
client.list()
@scenario.configure()
def describe_regions(self):
client = self.get_ec2_client()
with atomic.ActionTimer(self, 'describe_regions_ec2api'):
data = client.describe_regions()
@scenario.configure()
def describe_all_in_one(self):
self.describe_addresses_ec2api()
self.describe_floatingips_neutron()
self.describe_instances_ec2api()
self.describe_one_instance_ec2api()
self.describe_instances_nova()
self.describe_one_instance_nova()
self.describe_vpcs_ec2api()
self.describe_subnets_ec2api()
self.describe_network_interfaces_ec2api()
self.describe_route_tables_ec2api()
self.describe_security_groups_ec2api()
self.describe_networks_neutron()
self.describe_subnets_neutron()
self.describe_ports_neutron()
self.describe_security_groups_neutron()
@scenario.configure()
def describe_networks(self):
self.describe_vpcs_ec2api()
self.describe_subnets_ec2api()
self.describe_network_interfaces_ec2api()
self.describe_route_tables_ec2api()
self.describe_security_groups_ec2api()
self.describe_networks_neutron()
self.describe_subnets_neutron()
self.describe_ports_neutron()
self.describe_security_groups_neutron()
self.context['user']['credential']).glance().images
with atomic.ActionTimer(self, 'describe_images_glance'):
data = list(client.list())
def describe_addresses_ec2api(self):
client = self.get_ec2_client()
@ -207,3 +166,58 @@ class EC2APIPlugin(scenario.OpenStackScenario):
project_id = self.context["tenant"]["id"]
with atomic.ActionTimer(self, 'describe_security_groups_neutron'):
neutron.list_security_groups(tenant_id=project_id)
@scenario.configure(name="EC2APIPlugin.describe_images", platform="openstack")
class DescribeImages(EC2APIPlugin):
def run(self):
self.describe_images_ec2api()
self.describe_images_glance()
@scenario.configure(name="EC2APIPlugin.describe_regions", platform="openstack")
class DescribeRegions(EC2APIPlugin):
def run(self):
client = self.get_ec2_client()
with atomic.ActionTimer(self, 'describe_regions_ec2api'):
data = client.describe_regions()
@scenario.configure(name="EC2APIPlugin.describe_all_in_one",
platform="openstack")
class DescribeAllInOne(EC2APIPlugin):
def run(self):
self.describe_addresses_ec2api()
self.describe_floatingips_neutron()
self.describe_instances_ec2api()
self.describe_one_instance_ec2api()
self.describe_instances_nova()
self.describe_one_instance_nova()
self.describe_vpcs_ec2api()
self.describe_subnets_ec2api()
self.describe_network_interfaces_ec2api()
self.describe_route_tables_ec2api()
self.describe_security_groups_ec2api()
self.describe_networks_neutron()
self.describe_subnets_neutron()
self.describe_ports_neutron()
self.describe_security_groups_neutron()
@scenario.configure(name="EC2APIPlugin.describe_networks",
platform="openstack")
class DescribeNetworks(EC2APIPlugin):
def run(self):
self.describe_vpcs_ec2api()
self.describe_subnets_ec2api()
self.describe_network_interfaces_ec2api()
self.describe_route_tables_ec2api()
self.describe_security_groups_ec2api()
self.describe_networks_neutron()
self.describe_subnets_neutron()
self.describe_ports_neutron()
self.describe_security_groups_neutron()