From 77d3f0f5dd6bc8f96e228ed4dbd0471794c54325 Mon Sep 17 00:00:00 2001 From: Masayuki Igawa Date: Fri, 10 Mar 2017 18:57:00 +0900 Subject: [PATCH] Refactor resource cleanup methods in compute.base This commit refactors the cleanup methods in compute.base to reduce duplications. Change-Id: Ib322b78a3d969a2ecd1fb20c26755cf5d5e04bd0 --- tempest/api/compute/base.py | 48 +++++++++++-------------------------- 1 file changed, 14 insertions(+), 34 deletions(-) diff --git a/tempest/api/compute/base.py b/tempest/api/compute/base.py index 1736463310..65cac7e7f7 100644 --- a/tempest/api/compute/base.py +++ b/tempest/api/compute/base.py @@ -120,10 +120,13 @@ class BaseV2ComputeTest(api_version_utils.BaseMicroversionTest, @classmethod def resource_cleanup(cls): - cls.clear_images() + cls.clear_resources('images', cls.images, + cls.compute_images_client.delete_image) cls.clear_servers() - cls.clear_security_groups() - cls.clear_server_groups() + cls.clear_resources('security groups', cls.security_groups, + cls.security_groups_client.delete_security_group) + cls.clear_resources('server groups', cls.server_groups, + cls.server_groups_client.delete_server_group) cls.clear_volumes() super(BaseV2ComputeTest, cls).resource_cleanup() @@ -169,41 +172,18 @@ class BaseV2ComputeTest(api_version_utils.BaseMicroversionTest, raise @classmethod - def clear_images(cls): - LOG.debug('Clearing images: %s', ','.join(cls.images)) - for image_id in cls.images: + def clear_resources(cls, resource_name, resources, resource_del_func): + LOG.debug('Clearing %s: %s', resource_name, + ','.join(map(str, resources))) + for res_id in resources: try: test_utils.call_and_ignore_notfound_exc( - cls.compute_images_client.delete_image, image_id) - except Exception: - LOG.exception('Exception raised deleting image %s', image_id) - - @classmethod - def clear_security_groups(cls): - LOG.debug('Clearing security groups: %s', ','.join( - str(sg['id']) for sg in cls.security_groups)) - for sg in cls.security_groups: - try: - test_utils.call_and_ignore_notfound_exc( - cls.security_groups_client.delete_security_group, sg['id']) + resource_del_func, res_id) except Exception as exc: - LOG.info('Exception raised deleting security group %s', - sg['id']) + LOG.exception('Exception raised deleting %s: %s', + resource_name, res_id) LOG.exception(exc) - @classmethod - def clear_server_groups(cls): - LOG.debug('Clearing server groups: %s', ','.join(cls.server_groups)) - for server_group_id in cls.server_groups: - try: - test_utils.call_and_ignore_notfound_exc( - cls.server_groups_client.delete_server_group, - server_group_id - ) - except Exception: - LOG.exception('Exception raised deleting server-group %s', - server_group_id) - @classmethod def create_test_server(cls, validatable=False, volume_backed=False, **kwargs): @@ -240,7 +220,7 @@ class BaseV2ComputeTest(api_version_utils.BaseMicroversionTest, description = data_utils.rand_name('description') body = cls.security_groups_client.create_security_group( name=name, description=description)['security_group'] - cls.security_groups.append(body) + cls.security_groups.append(body['id']) return body