diff --git a/ironic_tempest_plugin/tests/scenario/test_baremetal_basic_ops.py b/ironic_tempest_plugin/tests/scenario/test_baremetal_basic_ops.py
index 727bc68..c62f3c3 100644
--- a/ironic_tempest_plugin/tests/scenario/test_baremetal_basic_ops.py
+++ b/ironic_tempest_plugin/tests/scenario/test_baremetal_basic_ops.py
@@ -130,9 +130,15 @@
 
     def get_flavor_ephemeral_size(self):
         """Returns size of the ephemeral partition in GiB."""
-        f_id = self.instance['flavor']['id']
-        flavor = self.flavors_client.show_flavor(f_id)['flavor']
-        ephemeral = flavor.get('OS-FLV-EXT-DATA:ephemeral')
+        if (api_version_request.APIVersionRequest(
+                self.compute_min_microversion)
+                >= api_version_request.APIVersionRequest('2.47')):
+            flavor = self.instance['flavor']
+            ephemeral = flavor.get('ephemeral')
+        else:
+            f_id = self.instance['flavor']['id']
+            flavor = self.flavors_client.show_flavor(f_id)['flavor']
+            ephemeral = flavor.get('OS-FLV-EXT-DATA:ephemeral')
         if not ephemeral or ephemeral == 'N/A':
             return None
         return int(ephemeral)
@@ -159,9 +165,17 @@
         """
         node = self.get_node(instance_id=self.instance['id'],
                              api_version='1.37')
-        f_id = self.instance['flavor']['id']
-        extra_specs = self.flavors_client.list_flavor_extra_specs(f_id)
-        extra_specs = extra_specs['extra_specs']
+        # As of microversion 2.47 flavor field in instance is
+        # a subset of the actual flavor information used to create
+        # the server instance, represented as a nested dictionary.
+        if (api_version_request.APIVersionRequest(
+                self.compute_min_microversion)
+                >= api_version_request.APIVersionRequest('2.47')):
+            extra_specs = self.instance['flavor']['extra_specs']
+        else:
+            f_id = self.instance['flavor']['id']
+            extra_specs = self.flavors_client.list_flavor_extra_specs(f_id)
+            extra_specs = extra_specs['extra_specs']
 
         # Pull the requested resource class and traits from the flavor.
         resource_class = None
