Merge "Use stable constraint in tox to release Tempest new tag"
diff --git a/tempest/api/image/base.py b/tempest/api/image/base.py
index 0cc088a..c2f067c 100644
--- a/tempest/api/image/base.py
+++ b/tempest/api/image/base.py
@@ -177,8 +177,8 @@
# If we added the location directly, the image goes straight
# to active and no hashing is done
self.assertEqual('active', image['status'])
- self.assertIsNone(None, image['os_hash_algo'])
- self.assertIsNone(None, image['os_hash_value'])
+ self.assertIsNone(image['os_hash_algo'])
+ self.assertIsNone(image['os_hash_value'])
return image
@@ -201,8 +201,8 @@
# The image should still be active and still have no hashes
self.assertEqual('active', image['status'])
- self.assertIsNone(None, image['os_hash_algo'])
- self.assertIsNone(None, image['os_hash_value'])
+ self.assertIsNone(image['os_hash_algo'])
+ self.assertIsNone(image['os_hash_value'])
# The direct_url should still match the first location
if 'direct_url' in image:
diff --git a/tempest/api/image/v2/test_images_formats.py b/tempest/api/image/v2/test_images_formats.py
index 7ebc685..48f1325 100644
--- a/tempest/api/image/v2/test_images_formats.py
+++ b/tempest/api/image/v2/test_images_formats.py
@@ -110,22 +110,25 @@
if not CONF.image_feature_enabled.image_conversion:
self.skipTest('Import image_conversion not enabled')
- glance_noconvert = [
- # Glance does not support vmdk-sparse-with-footer with the
- # in-tree format_inspector
- 'vmdk-sparse-with-footer',
- ]
- # Any images glance does not support in *conversion* for some
- # reason will fail, even though the manifest marks them as usable.
- expect_fail = any(x in self.imgdef['name']
- for x in glance_noconvert)
+ # VMDK with footer was not supported by earlier service versions,
+ # so we need to tolerate it passing and failing (skip for the latter).
+ # See this for more info:
+ # https://bugs.launchpad.net/glance/+bug/2073262
+ is_broken = 'footer' in self.imgdef['name']
if (self.imgdef['format'] in CONF.image.disk_formats and
- self.imgdef['usable'] and not expect_fail):
+ self.imgdef['usable']):
# Usable images should end up in active state
image = self._test_image(self.imgdef, asimport=True)
- waiters.wait_for_image_status(self.client, image['id'],
- 'active')
+ try:
+ waiters.wait_for_image_status(self.client, image['id'],
+ 'active')
+ except lib_exc.TimeoutException:
+ if is_broken:
+ self.skipTest(
+ 'Older glance did not support vmdk-with-footer')
+ else:
+ raise
else:
# FIXME(danms): Make this better, but gpt will fail before
# the import even starts until glance has it in its API
@@ -164,7 +167,9 @@
self.skipTest(
'Format %s not allowed by config' % self.imgdef['format'])
- # VMDK with footer is not supported by anyone yet until fixed:
+ # VMDK with footer was not supported by earlier service versions,
+ # so we need to tolerate it passing and failing (skip for the latter).
+ # See this for more info:
# https://bugs.launchpad.net/glance/+bug/2073262
is_broken = 'footer' in self.imgdef['name']