Use image native api in volume tests

Image APIs in compute has been deprecated, just like volume extension
(os-volumes, os-snapshots), networks(os-networks), etc. Image native APIs
are recommended. And Glance V1 APIs are deprecated and v2 are current.
This patch substitue the old compute_image_client and remove Glance v1
APIs in volume tests, just use Glance v2 APIs.

Change-Id: I2cbae9775d54da40cc6af8a247a8113dde2a5579
This commit is contained in:
jeremy.zhang 2017-04-25 08:48:38 +08:00
parent ec671964ae
commit cb0dd583a0
4 changed files with 16 additions and 24 deletions

@ -0,0 +1,10 @@
---
deprecations:
- |
Image APIs in compute are deprecated, Image native APIs are recommended.
And Glance v1 APIs are deprecated and v2 APIs are current. Image client
compute_images_client and Glance v1 APIs are removed in volume tests.
upgrade:
- |
Swith to use Glance v2 APIs in volume tests, by adding the Glance v2 client
images_client.

@ -65,7 +65,6 @@ class BaseVolumeTest(api_version_utils.BaseMicroversionTest,
def setup_clients(cls):
super(BaseVolumeTest, cls).setup_clients()
cls.servers_client = cls.os.servers_client
cls.compute_images_client = cls.os.compute_images_client
if CONF.service_available.glance:
cls.images_client = cls.os.image_client_v2
@ -116,9 +115,8 @@ class BaseVolumeTest(api_version_utils.BaseMicroversionTest,
kwargs['size'] = CONF.volume.volume_size
if 'imageRef' in kwargs:
image = cls.compute_images_client.show_image(
kwargs['imageRef'])['image']
min_disk = image.get('minDisk')
image = cls.images_client.show_image(kwargs['imageRef'])
min_disk = image['min_disk']
kwargs['size'] = max(kwargs['size'], min_disk)
if 'name' not in kwargs:

@ -19,7 +19,6 @@ from tempest import config
from tempest.lib.common.utils import data_utils
from tempest.lib.common.utils import test_utils
from tempest.lib import decorators
from tempest.lib import exceptions
from tempest import test
CONF = config.CONF
@ -27,20 +26,6 @@ CONF = config.CONF
class VolumesActionsTest(base.BaseVolumeTest):
@classmethod
def setup_clients(cls):
super(VolumesActionsTest, cls).setup_clients()
if CONF.service_available.glance:
# Check if glance v1 is available to determine which client to use.
if CONF.image_feature_enabled.api_v1:
cls.image_client = cls.os.image_client
elif CONF.image_feature_enabled.api_v2:
cls.image_client = cls.os.image_client_v2
else:
raise exceptions.InvalidConfiguration(
'Either api_v1 or api_v2 must be True in '
'[image-feature-enabled].')
@classmethod
def resource_setup(cls):
super(VolumesActionsTest, cls).resource_setup()
@ -121,9 +106,9 @@ class VolumesActionsTest(base.BaseVolumeTest):
disk_format=CONF.volume.disk_format)['os-volume_upload_image']
image_id = body["image_id"]
self.addCleanup(test_utils.call_and_ignore_notfound_exc,
self.image_client.delete_image,
self.images_client.delete_image,
image_id)
waiters.wait_for_image_status(self.image_client, image_id, 'active')
waiters.wait_for_image_status(self.images_client, image_id, 'active')
waiters.wait_for_volume_resource_status(self.volumes_client,
self.volume['id'], 'available')

@ -124,9 +124,8 @@ class VolumesGetTest(base.BaseVolumeTest):
@decorators.idempotent_id('54a01030-c7fc-447c-86ee-c1182beae638')
@test.services('image')
def test_volume_create_get_update_delete_from_image(self):
image = self.compute_images_client.show_image(
CONF.compute.image_ref)['image']
min_disk = image.get('minDisk')
image = self.images_client.show_image(CONF.compute.image_ref)
min_disk = image['min_disk']
disk_size = max(min_disk, CONF.volume.volume_size)
self._volume_create_get_update_delete(
imageRef=CONF.compute.image_ref, size=disk_size)