From 6c682ffc5d7d63f892076d51a5aa3ab503e772d7 Mon Sep 17 00:00:00 2001 From: ghanshyam Date: Mon, 6 Aug 2018 09:54:45 +0000 Subject: [PATCH] Make volume client alias with _latest suffix This is next step patch from https://review.openstack.org/#/c/573118/ which makes all the volume service clients alias with _latest suffix. As all the volume clients point to v3 service client only, having alias with _v2_ or _v3_ name are confusing. This commit provide alias with _latest suffix and use them in tempest. As old alias are being used in tempest plugins also, we keep the old alias also and slowly will move each plugins to start using new alias. Change-Id: Ib89ab72ab4ada3e8442901f104b0b96072187ef9 --- .../api/volume/admin/test_volume_quotas.py | 4 +- tempest/api/volume/base.py | 71 +++++++++---------- tempest/api/volume/test_volume_transfers.py | 8 +-- tempest/clients.py | 52 +++++++++++--- tempest/cmd/cleanup_service.py | 2 +- tempest/common/compute.py | 2 +- tempest/scenario/manager.py | 6 +- .../scenario/test_volume_migrate_attached.py | 2 +- 8 files changed, 87 insertions(+), 60 deletions(-) diff --git a/tempest/api/volume/admin/test_volume_quotas.py b/tempest/api/volume/admin/test_volume_quotas.py index e546bff3f7..61a6df4969 100644 --- a/tempest/api/volume/admin/test_volume_quotas.py +++ b/tempest/api/volume/admin/test_volume_quotas.py @@ -38,8 +38,8 @@ class BaseVolumeQuotasAdminTestJSON(base.BaseVolumeAdminTest): @classmethod def setup_clients(cls): super(BaseVolumeQuotasAdminTestJSON, cls).setup_clients() - cls.transfer_client = cls.os_primary.volume_transfers_v2_client - cls.alt_transfer_client = cls.os_alt.volume_transfers_v2_client + cls.transfer_client = cls.os_primary.volume_transfers_client_latest + cls.alt_transfer_client = cls.os_alt.volume_transfers_client_latest @classmethod def resource_setup(cls): diff --git a/tempest/api/volume/base.py b/tempest/api/volume/base.py index 81fd6e6657..64fe29aebd 100644 --- a/tempest/api/volume/base.py +++ b/tempest/api/volume/base.py @@ -74,24 +74,19 @@ class BaseVolumeTest(api_version_utils.BaseMicroversionTest, if CONF.service_available.glance: cls.images_client = cls.os_primary.image_client_v2 - if cls._api_version == 3: - cls.backups_client = cls.os_primary.backups_v3_client - cls.volumes_client = cls.os_primary.volumes_v3_client - cls.messages_client = cls.os_primary.volume_v3_messages_client - cls.versions_client = cls.os_primary.volume_v3_versions_client - cls.groups_client = cls.os_primary.groups_v3_client - cls.group_snapshots_client = ( - cls.os_primary.group_snapshots_v3_client) - else: - cls.backups_client = cls.os_primary.backups_v2_client - cls.volumes_client = cls.os_primary.volumes_v2_client - - cls.snapshots_client = cls.os_primary.snapshots_v2_client + cls.backups_client = cls.os_primary.backups_client_latest + cls.volumes_client = cls.os_primary.volumes_client_latest + cls.messages_client = cls.os_primary.volume_messages_client_latest + cls.versions_client = cls.os_primary.volume_versions_client_latest + cls.groups_client = cls.os_primary.groups_client_latest + cls.group_snapshots_client = ( + cls.os_primary.group_snapshots_client_latest) + cls.snapshots_client = cls.os_primary.snapshots_client_latest cls.volumes_extension_client =\ - cls.os_primary.volumes_v2_extension_client + cls.os_primary.volumes_extension_client_latest cls.availability_zone_client = ( - cls.os_primary.volume_v2_availability_zone_client) - cls.volume_limits_client = cls.os_primary.volume_v2_limits_client + cls.os_primary.volume_availability_zone_client_latest) + cls.volume_limits_client = cls.os_primary.volume_limits_client_latest def setUp(self): super(BaseVolumeTest, self).setUp() @@ -247,34 +242,34 @@ class BaseVolumeAdminTest(BaseVolumeTest): def setup_clients(cls): super(BaseVolumeAdminTest, cls).setup_clients() - cls.admin_volume_qos_client = cls.os_admin.volume_qos_v2_client + cls.admin_volume_qos_client = cls.os_admin.volume_qos_client_latest cls.admin_volume_services_client = \ - cls.os_admin.volume_services_v2_client - cls.admin_volume_types_client = cls.os_admin.volume_types_v2_client - cls.admin_volume_manage_client = cls.os_admin.volume_manage_v2_client - cls.admin_volume_client = cls.os_admin.volumes_v2_client - if cls._api_version == 3: - cls.admin_volume_client = cls.os_admin.volumes_v3_client - cls.admin_groups_client = cls.os_admin.groups_v3_client - cls.admin_messages_client = cls.os_admin.volume_v3_messages_client - cls.admin_group_snapshots_client = \ - cls.os_admin.group_snapshots_v3_client - cls.admin_group_types_client = cls.os_admin.group_types_v3_client - cls.admin_hosts_client = cls.os_admin.volume_hosts_v2_client + cls.os_admin.volume_services_client_latest + cls.admin_volume_types_client = cls.os_admin.volume_types_client_latest + cls.admin_volume_manage_client = ( + cls.os_admin.volume_manage_client_latest) + cls.admin_volume_client = cls.os_admin.volumes_client_latest + cls.admin_groups_client = cls.os_admin.groups_client_latest + cls.admin_messages_client = cls.os_admin.volume_messages_client_latest + cls.admin_group_snapshots_client = \ + cls.os_admin.group_snapshots_client_latest + cls.admin_group_types_client = cls.os_admin.group_types_client_latest + cls.admin_hosts_client = cls.os_admin.volume_hosts_client_latest cls.admin_snapshot_manage_client = \ - cls.os_admin.snapshot_manage_v2_client - cls.admin_snapshots_client = cls.os_admin.snapshots_v2_client - cls.admin_backups_client = cls.os_admin.backups_v2_client + cls.os_admin.snapshot_manage_client_latest + cls.admin_snapshots_client = cls.os_admin.snapshots_client_latest + cls.admin_backups_client = cls.os_admin.backups_client_latest cls.admin_encryption_types_client = \ - cls.os_admin.encryption_types_v2_client + cls.os_admin.encryption_types_client_latest cls.admin_quota_classes_client = \ - cls.os_admin.volume_quota_classes_v2_client - cls.admin_quotas_client = cls.os_admin.volume_quotas_v2_client - cls.admin_volume_limits_client = cls.os_admin.volume_v2_limits_client + cls.os_admin.volume_quota_classes_client_latest + cls.admin_quotas_client = cls.os_admin.volume_quotas_client_latest + cls.admin_volume_limits_client = ( + cls.os_admin.volume_limits_client_latest) cls.admin_capabilities_client = \ - cls.os_admin.volume_capabilities_v2_client + cls.os_admin.volume_capabilities_client_latest cls.admin_scheduler_stats_client = \ - cls.os_admin.volume_scheduler_stats_v2_client + cls.os_admin.volume_scheduler_stats_client_latest @classmethod def create_test_qos_specs(cls, name=None, consumer=None, **kwargs): diff --git a/tempest/api/volume/test_volume_transfers.py b/tempest/api/volume/test_volume_transfers.py index 75e81b7219..c85e0bc8d6 100644 --- a/tempest/api/volume/test_volume_transfers.py +++ b/tempest/api/volume/test_volume_transfers.py @@ -27,10 +27,10 @@ class VolumesTransfersTest(base.BaseVolumeTest): def setup_clients(cls): super(VolumesTransfersTest, cls).setup_clients() - cls.client = cls.os_primary.volume_transfers_v2_client - cls.alt_client = cls.os_alt.volume_transfers_v2_client - cls.alt_volumes_client = cls.os_alt.volumes_v2_client - cls.adm_volumes_client = cls.os_admin.volumes_v2_client + cls.client = cls.os_primary.volume_transfers_client_latest + cls.alt_client = cls.os_alt.volume_transfers_client_latest + cls.alt_volumes_client = cls.os_alt.volumes_client_latest + cls.adm_volumes_client = cls.os_admin.volumes_client_latest @decorators.idempotent_id('4d75b645-a478-48b1-97c8-503f64242f1a') def test_create_get_list_accept_volume_transfer(self): diff --git a/tempest/clients.py b/tempest/clients.py index 2a07be9a5c..4f2846e002 100644 --- a/tempest/clients.py +++ b/tempest/clients.py @@ -241,6 +241,47 @@ class Manager(clients.ServiceClients): # if only api_v3 is enabled, all these clients should be available if (CONF.volume_feature_enabled.api_v2 or CONF.volume_feature_enabled.api_v3): + self.backups_client_latest = self.volume_v3.BackupsClient() + self.encryption_types_client_latest = \ + self.volume_v3.EncryptionTypesClient() + self.snapshot_manage_client_latest = \ + self.volume_v3.SnapshotManageClient() + self.snapshots_client_latest = self.volume_v3.SnapshotsClient() + self.volume_capabilities_client_latest = \ + self.volume_v3.CapabilitiesClient() + self.volume_manage_client_latest = ( + self.volume_v3.VolumeManageClient()) + self.volume_qos_client_latest = self.volume_v3.QosSpecsClient() + self.volume_services_client_latest = ( + self.volume_v3.ServicesClient()) + self.volume_types_client_latest = self.volume_v3.TypesClient() + self.volume_hosts_client_latest = self.volume_v3.HostsClient() + self.volume_quotas_client_latest = self.volume_v3.QuotasClient() + self.volume_quota_classes_client_latest = \ + self.volume_v3.QuotaClassesClient() + self.volume_scheduler_stats_client_latest = \ + self.volume_v3.SchedulerStatsClient() + self.volume_transfers_client_latest = \ + self.volume_v3.TransfersClient() + self.volume_availability_zone_client_latest = \ + self.volume_v3.AvailabilityZoneClient() + self.volume_limits_client_latest = self.volume_v3.LimitsClient() + self.volumes_client_latest = self.volume_v3.VolumesClient() + self.volumes_extension_client_latest = \ + self.volume_v3.ExtensionsClient() + self.group_types_client_latest = self.volume_v3.GroupTypesClient() + self.groups_client_latest = self.volume_v3.GroupsClient() + self.group_snapshots_client_latest = \ + self.volume_v3.GroupSnapshotsClient() + self.volume_messages_client_latest = ( + self.volume_v3.MessagesClient()) + self.volume_versions_client_latest = ( + self.volume_v3.VersionsClient()) + + # TODO(gmann): Below alias for service clients have been + # deprecated and will be removed in future. Start using the alias + # defined above with suffix _latest. + # ****************Deprecated alias start from here*************** self.backups_v2_client = self.volume_v3.BackupsClient() self.encryption_types_v2_client = \ self.volume_v3.EncryptionTypesClient() @@ -268,11 +309,6 @@ class Manager(clients.ServiceClients): self.volumes_v2_extension_client = \ self.volume_v3.ExtensionsClient() - # Set default client for users that don't need explicit version - self.volumes_client_latest = self.volumes_v2_client - self.snapshots_client_latest = self.snapshots_v2_client - self.backups_client_latest = self.backups_v2_client - if CONF.volume_feature_enabled.api_v3: self.backups_v3_client = self.volume_v3.BackupsClient() self.group_types_v3_client = self.volume_v3.GroupTypesClient() @@ -283,11 +319,7 @@ class Manager(clients.ServiceClients): self.volume_v3_messages_client = self.volume_v3.MessagesClient() self.volume_v3_versions_client = self.volume_v3.VersionsClient() self.volumes_v3_client = self.volume_v3.VolumesClient() - - # Set default client for users that don't need explicit version - self.volumes_client_latest = self.volumes_v3_client - self.snapshots_client_latest = self.snapshots_v3_client - self.backups_client_latest = self.backups_v3_client + # ****************Deprecated alias end here*********************** def _set_object_storage_clients(self): self.account_client = self.object_storage.AccountClient() diff --git a/tempest/cmd/cleanup_service.py b/tempest/cmd/cleanup_service.py index 27e1bc1b5f..83cf42cc48 100644 --- a/tempest/cmd/cleanup_service.py +++ b/tempest/cmd/cleanup_service.py @@ -315,7 +315,7 @@ class VolumeService(BaseService): class VolumeQuotaService(BaseService): def __init__(self, manager, **kwargs): super(VolumeQuotaService, self).__init__(kwargs) - self.client = manager.volume_quotas_v2_client + self.client = manager.volume_quotas_client_latest def delete(self): client = self.client diff --git a/tempest/common/compute.py b/tempest/common/compute.py index 68c4a106df..f2730b3261 100644 --- a/tempest/common/compute.py +++ b/tempest/common/compute.py @@ -165,7 +165,7 @@ def create_test_server(clients, validatable=False, validation_resources=None, if volume_backed: volume_name = data_utils.rand_name(__name__ + '-volume') - volumes_client = clients.volumes_v2_client + volumes_client = clients.volumes_client_latest params = {'name': volume_name, 'imageRef': image_id, 'size': CONF.volume.volume_size} diff --git a/tempest/scenario/manager.py b/tempest/scenario/manager.py index be52eef4c9..cdc30b91ff 100644 --- a/tempest/scenario/manager.py +++ b/tempest/scenario/manager.py @@ -301,7 +301,7 @@ class ScenarioTest(tempest.test.BaseTestCase): def create_volume_type(self, client=None, name=None, backend_name=None): if not client: - client = self.os_admin.volume_types_v2_client + client = self.os_admin.volume_types_client_latest randomized_name = name or data_utils.rand_name( 'volume-type-' + self.__class__.__name__) @@ -1208,9 +1208,9 @@ class EncryptionScenarioTest(ScenarioTest): @classmethod def setup_clients(cls): super(EncryptionScenarioTest, cls).setup_clients() - cls.admin_volume_types_client = cls.os_admin.volume_types_v2_client + cls.admin_volume_types_client = cls.os_admin.volume_types_client_latest cls.admin_encryption_types_client =\ - cls.os_admin.encryption_types_v2_client + cls.os_admin.encryption_types_client_latest def create_encryption_type(self, client=None, type_id=None, provider=None, key_size=None, cipher=None, diff --git a/tempest/scenario/test_volume_migrate_attached.py b/tempest/scenario/test_volume_migrate_attached.py index 4624249011..c54bb387ae 100644 --- a/tempest/scenario/test_volume_migrate_attached.py +++ b/tempest/scenario/test_volume_migrate_attached.py @@ -40,7 +40,7 @@ class TestVolumeMigrateRetypeAttached(manager.ScenarioTest): @classmethod def setup_clients(cls): super(TestVolumeMigrateRetypeAttached, cls).setup_clients() - cls.admin_volumes_client = cls.os_admin.volumes_v2_client + cls.admin_volumes_client = cls.os_admin.volumes_client_latest @classmethod def skip_checks(cls):