Remove the default size in volumes_client

The config value of volume size was passed to an instance of volumes_client
and it was used as the default value if not specifying a volume size from
tests side. However, the behavior made actual tests behaviors unreadable
when checking tests code.
In addition, this behavior is different from the other service clients.
So this patch removes the default size and makes tests specify the size
clearly.

Partially implements blueprint consistent-service-method-names

Change-Id: I2a0f5841fe82ab003562749a63bc4894225699c5
This commit is contained in:
Ken'ichi Ohmichi 2016-08-26 15:16:23 -07:00
parent 29741bc7c2
commit adb905e8ad
18 changed files with 62 additions and 40 deletions

View File

@ -157,7 +157,7 @@ class LiveBlockMigrationTestJSON(base.BaseV2ComputeAdminTest):
target_host = self._get_host_other_than(actual_host)
volume = self.volumes_client.create_volume(
display_name='test')['volume']
size=CONF.volume.volume_size, display_name='test')['volume']
waiters.wait_for_volume_status(self.volumes_client,
volume['id'], 'available')

View File

@ -66,8 +66,8 @@ class VolumeMultiBackendV2Test(base.BaseVolumeAdminTest):
cls.type = cls.create_volume_type(name=type_name,
extra_specs=extra_specs)
params = {cls.name_field: vol_name, 'volume_type': type_name}
params = {cls.name_field: vol_name, 'volume_type': type_name,
'size': CONF.volume.volume_size}
cls.volume = cls.admin_volume_client.create_volume(
**params)['volume']
if with_prefix:

View File

@ -14,9 +14,12 @@
# under the License.
from tempest.api.volume import base
from tempest import config
from tempest.lib import exceptions as lib_exc
from tempest import test
CONF = config.CONF
class BaseVolumeQuotasNegativeV2TestJSON(base.BaseVolumeAdminTest):
force_tenant_isolation = True
@ -29,8 +32,7 @@ class BaseVolumeQuotasNegativeV2TestJSON(base.BaseVolumeAdminTest):
@classmethod
def resource_setup(cls):
super(BaseVolumeQuotasNegativeV2TestJSON, cls).resource_setup()
cls.default_volume_size = cls.volumes_client.default_volume_size
cls.shared_quota_set = {'gigabytes': 2 * cls.default_volume_size,
cls.shared_quota_set = {'gigabytes': 2 * CONF.volume.volume_size,
'volumes': 1}
# NOTE(gfidente): no need to restore original quota set
@ -47,7 +49,8 @@ class BaseVolumeQuotasNegativeV2TestJSON(base.BaseVolumeAdminTest):
@test.idempotent_id('bf544854-d62a-47f2-a681-90f7a47d86b6')
def test_quota_volumes(self):
self.assertRaises(lib_exc.OverLimit,
self.volumes_client.create_volume)
self.volumes_client.create_volume,
size=CONF.volume.volume_size)
@test.attr(type='negative')
@test.idempotent_id('2dc27eee-8659-4298-b900-169d71a91374')
@ -58,13 +61,14 @@ class BaseVolumeQuotasNegativeV2TestJSON(base.BaseVolumeAdminTest):
self.addCleanup(self.admin_quotas_client.update_quota_set,
self.demo_tenant_id,
**self.shared_quota_set)
new_quota_set = {'gigabytes': self.default_volume_size,
new_quota_set = {'gigabytes': CONF.volume.volume_size,
'volumes': 2, 'snapshots': 1}
self.admin_quotas_client.update_quota_set(
self.demo_tenant_id,
**new_quota_set)
self.assertRaises(lib_exc.OverLimit,
self.volumes_client.create_volume)
self.volumes_client.create_volume,
size=CONF.volume.volume_size)
class VolumeQuotasNegativeV1TestJSON(BaseVolumeQuotasNegativeV2TestJSON):

View File

@ -38,7 +38,7 @@ class VolumeSnapshotQuotasNegativeV2TestJSON(base.BaseVolumeAdminTest):
@classmethod
def resource_setup(cls):
super(VolumeSnapshotQuotasNegativeV2TestJSON, cls).resource_setup()
cls.default_volume_size = cls.volumes_client.default_volume_size
cls.default_volume_size = CONF.volume.volume_size
cls.shared_quota_set = {'gigabytes': 3 * cls.default_volume_size,
'volumes': 1, 'snapshots': 1}

View File

@ -17,9 +17,12 @@ import operator
from tempest.api.volume import base
from tempest.common import waiters
from tempest import config
from tempest.lib import exceptions as lib_exc
from tempest import test
CONF = config.CONF
class VolumeTypesAccessV2Test(base.BaseVolumeAdminTest):
@ -38,7 +41,8 @@ class VolumeTypesAccessV2Test(base.BaseVolumeAdminTest):
# Try creating a volume from volume type in primary tenant
self.assertRaises(lib_exc.NotFound, self.volumes_client.create_volume,
volume_type=volume_type['id'])
volume_type=volume_type['id'],
size=CONF.volume.volume_size)
# Adding volume type access for primary tenant
self.admin_volume_types_client.add_type_access(
@ -49,7 +53,8 @@ class VolumeTypesAccessV2Test(base.BaseVolumeAdminTest):
# Creating a volume from primary tenant
volume = self.volumes_client.create_volume(
volume_type=volume_type['id'])['volume']
volume_type=volume_type['id'],
size=CONF.volume.volume_size)['volume']
self.addCleanup(self.delete_volume, self.volumes_client, volume['id'])
waiters.wait_for_volume_status(self.volumes_client, volume['id'],
'available')

View File

@ -50,7 +50,8 @@ class VolumeTypesV2Test(base.BaseVolumeAdminTest):
extra_specs=extra_specs)
volume_types.append(vol_type)
params = {self.name_field: vol_name,
'volume_type': volume_types[0]['id']}
'volume_type': volume_types[0]['id'],
'size': CONF.volume.volume_size}
# Create volume
volume = self.volumes_client.create_volume(**params)['volume']

View File

@ -16,8 +16,11 @@
from tempest.api.volume import base
from tempest.common.utils import data_utils as utils
from tempest.common import waiters
from tempest import config
from tempest import test
CONF = config.CONF
class VolumesActionsV2Test(base.BaseVolumeAdminTest):
@ -33,7 +36,7 @@ class VolumesActionsV2Test(base.BaseVolumeAdminTest):
# Create a test shared volume for tests
vol_name = utils.rand_name(cls.__name__ + '-Volume')
cls.name_field = cls.special_fields['name_field']
params = {cls.name_field: vol_name}
params = {cls.name_field: vol_name, 'size': CONF.volume.volume_size}
cls.volume = cls.client.create_volume(**params)['volume']
waiters.wait_for_volume_status(cls.client,
@ -60,7 +63,7 @@ class VolumesActionsV2Test(base.BaseVolumeAdminTest):
def _create_temp_volume(self):
# Create a temp volume for force delete tests
vol_name = utils.rand_name(self.__class__.__name__ + '-Volume')
params = {self.name_field: vol_name}
params = {self.name_field: vol_name, 'size': CONF.volume.volume_size}
temp_volume = self.client.create_volume(**params)['volume']
waiters.wait_for_volume_status(self.client,
temp_volume['id'], 'available')

View File

@ -17,8 +17,11 @@ import operator
from tempest.api.volume import base
from tempest.common import waiters
from tempest import config
from tempest import test
CONF = config.CONF
class VolumesListAdminV2TestJSON(base.BaseVolumeAdminTest):
@ -38,7 +41,8 @@ class VolumesListAdminV2TestJSON(base.BaseVolumeAdminTest):
def test_volume_list_param_tenant(self):
# Test to list volumes from single tenant
# Create a volume in admin tenant
adm_vol = self.admin_volume_client.create_volume()['volume']
adm_vol = self.admin_volume_client.create_volume(
size=CONF.volume.volume_size)['volume']
waiters.wait_for_volume_status(self.admin_volume_client,
adm_vol['id'], 'available')
self.addCleanup(self.admin_volume_client.delete_volume, adm_vol['id'])

View File

@ -110,6 +110,9 @@ class BaseVolumeTest(tempest.test.BaseTestCase):
@classmethod
def create_volume(cls, **kwargs):
"""Wrapper utility that returns a test volume."""
if 'size' not in kwargs:
kwargs['size'] = CONF.volume.volume_size
name = data_utils.rand_name(cls.__name__ + '-Volume')
name_field = cls.special_fields['name_field']

View File

@ -105,7 +105,8 @@ class VolumesV2GetTest(base.BaseVolumeTest):
# then test volume update if display_name is duplicated
new_v_desc = data_utils.rand_name('@#$%^* description')
params = {self.descrip_field: new_v_desc,
'availability_zone': volume['availability_zone']}
'availability_zone': volume['availability_zone'],
'size': CONF.volume.volume_size}
new_volume = self.client.create_volume(**params)['volume']
self.assertIn('id', new_volume)
self.addCleanup(self.delete_volume, self.client, new_volume['id'])
@ -124,7 +125,7 @@ class VolumesV2GetTest(base.BaseVolumeTest):
@test.attr(type='smoke')
@test.idempotent_id('27fb0e9f-fb64-41dd-8bdb-1ffa762f0d51')
def test_volume_create_get_update_delete(self):
self._volume_create_get_update_delete()
self._volume_create_get_update_delete(size=CONF.volume.volume_size)
@test.attr(type='smoke')
@test.idempotent_id('54a01030-c7fc-447c-86ee-c1182beae638')
@ -142,7 +143,8 @@ class VolumesV2GetTest(base.BaseVolumeTest):
'Cinder volume clones are disabled')
def test_volume_create_get_update_delete_as_clone(self):
origin = self.create_volume()
self._volume_create_get_update_delete(source_volid=origin['id'])
self._volume_create_get_update_delete(source_volid=origin['id'],
size=CONF.volume.volume_size)
class VolumesV1GetTest(VolumesV2GetTest):

View File

@ -16,9 +16,12 @@
from tempest.api.volume.v3 import base
from tempest.common.utils import data_utils
from tempest.common import waiters
from tempest import config
from tempest import exceptions
from tempest import test
CONF = config.CONF
MESSAGE_KEYS = [
'created_at',
'event_id',
@ -49,7 +52,8 @@ class UserMessagesTest(base.VolumesV3AdminTest):
extra_specs=extra_specs)['volume_type']
self.addCleanup(self.admin_volume_types_client.delete_volume_type,
bogus_type['id'])
params = {'volume_type': bogus_type['id']}
params = {'volume_type': bogus_type['id'],
'size': CONF.volume.volume_size}
volume = self.volumes_client.create_volume(**params)['volume']
self.addCleanup(self.delete_volume, self.volumes_client, volume['id'])
try:

View File

@ -297,12 +297,10 @@ class Manager(clients.ServiceClients):
**params)
self.snapshots_v2_client = volume.v2.SnapshotsClient(
self.auth_provider, **params)
self.volumes_client = volume.v1.VolumesClient(
self.auth_provider, default_volume_size=CONF.volume.volume_size,
**params)
self.volumes_v2_client = volume.v2.VolumesClient(
self.auth_provider, default_volume_size=CONF.volume.volume_size,
**params)
self.volumes_client = volume.v1.VolumesClient(self.auth_provider,
**params)
self.volumes_v2_client = volume.v2.VolumesClient(self.auth_provider,
**params)
self.volume_messages_client = volume.v3.MessagesClient(
self.auth_provider, **params)
self.volume_types_client = volume.v1.TypesClient(self.auth_provider,

View File

@ -107,7 +107,8 @@ def create_test_server(clients, validatable=False, validation_resources=None,
volumes_client = clients.volumes_client
volume = volumes_client.create_volume(
display_name=volume_name,
imageRef=image_id)
imageRef=image_id,
size=CONF.volume.volume_size)
waiters.wait_for_volume_status(volumes_client,
volume['volume']['id'], 'available')

View File

@ -213,14 +213,15 @@ class ScenarioTest(tempest.test.BaseTestCase):
def create_volume(self, size=None, name=None, snapshot_id=None,
imageRef=None, volume_type=None):
if size is None:
size = CONF.volume.volume_size
if name is None:
name = data_utils.rand_name(self.__class__.__name__)
kwargs = {'display_name': name,
'snapshot_id': snapshot_id,
'imageRef': imageRef,
'volume_type': volume_type}
if size is not None:
kwargs.update({'size': size})
'volume_type': volume_type,
'size': size}
volume = self.volumes_client.create_volume(**kwargs)['volume']
self.addCleanup(self.volumes_client.wait_for_resource_deletion,

View File

@ -26,12 +26,6 @@ class BaseVolumesClient(rest_client.RestClient):
create_resp = 200
def __init__(self, auth_provider, service, region,
default_volume_size=1, **kwargs):
super(BaseVolumesClient, self).__init__(
auth_provider, service, region, **kwargs)
self.default_volume_size = default_volume_size
def get_attachment_from_volume(self, volume):
"""Return the element 'attachment' from input volumes."""
return volume['attachments'][0]
@ -104,8 +98,6 @@ class BaseVolumesClient(rest_client.RestClient):
Available params: see http://developer.openstack.org/
api-ref-blockstorage-v2.html#createVolume
"""
if 'size' not in kwargs:
kwargs['size'] = self.default_volume_size
post_body = json.dumps({'volume': kwargs})
resp, body = self.post('volumes', post_body)
body = json.loads(body)

View File

@ -30,7 +30,7 @@ class VolumeAttachDeleteTest(stressaction.StressAction):
name = data_utils.rand_name("volume")
self.logger.info("creating volume: %s" % name)
volume = self.manager.volumes_client.create_volume(
display_name=name)['volume']
display_name=name, size=CONF.volume.volume_size)['volume']
self.manager.volumes_client.wait_for_volume_status(volume['id'],
'available')
self.logger.info("created volume: %s" % volume['id'])

View File

@ -85,7 +85,7 @@ class VolumeVerifyStress(stressaction.StressAction):
self.logger.info("creating volume: %s" % name)
volumes_client = self.manager.volumes_client
self.volume = volumes_client.create_volume(
display_name=name)['volume']
display_name=name, size=CONF.volume.volume_size)['volume']
volumes_client.wait_for_volume_status(self.volume['id'],
'available')
self.logger.info("created volume: %s" % self.volume['id'])

View File

@ -11,8 +11,11 @@
# limitations under the License.
from tempest.common.utils import data_utils
from tempest import config
import tempest.stress.stressaction as stressaction
CONF = config.CONF
class VolumeCreateDeleteTest(stressaction.StressAction):
@ -20,7 +23,8 @@ class VolumeCreateDeleteTest(stressaction.StressAction):
name = data_utils.rand_name("volume")
self.logger.info("creating %s" % name)
volumes_client = self.manager.volumes_client
volume = volumes_client.create_volume(display_name=name)['volume']
volume = volumes_client.create_volume(
display_name=name, size=CONF.volume.volume_size)['volume']
vol_id = volume['id']
volumes_client.wait_for_volume_status(vol_id, 'available')
self.logger.info("created %s" % volume['id'])