Skip the glance vmdk-footer test for now

Glance did not initially support the vmdk-with-footer image format,
but will after it moves to the oslo version of format-inspector. So,
skip this test if it fails, to account for older versions.

Needed-By: https://review.opendev.org/c/openstack/glance/+/927291
Change-Id: Ieb20fc63ccc65769778e6303bd321837dc57169f
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']