diff --git a/ironic_tempest_plugin/tests/scenario/ironic_standalone/test_basic_ops.py b/ironic_tempest_plugin/tests/scenario/ironic_standalone/test_basic_ops.py
index 4551ae0..980f8c8 100644
--- a/ironic_tempest_plugin/tests/scenario/ironic_standalone/test_basic_ops.py
+++ b/ironic_tempest_plugin/tests/scenario/ironic_standalone/test_basic_ops.py
@@ -13,9 +13,9 @@
 # License for the specific language governing permissions and limitations
 # under the License.
 
+from tempest.common import utils
 from tempest import config
 from tempest.lib import decorators
-from tempest import test
 
 from ironic_tempest_plugin.tests.scenario import \
     baremetal_standalone_manager as bsm
@@ -30,7 +30,7 @@
     wholedisk_image = True
 
     @decorators.idempotent_id('defff515-a6ff-44f6-9d8d-2ded51196d98')
-    @test.services('image', 'network', 'object_storage')
+    @utils.services('image', 'network', 'object_storage')
     def test_ip_access_to_server(self):
         self.ping_ip_address(self.node_ip, should_succeed=True)
 
@@ -51,7 +51,7 @@
             raise cls.skipException(skip_msg)
 
     @decorators.idempotent_id('d926c683-1a32-44df-afd0-e60134346fd0')
-    @test.services('network')
+    @utils.services('network')
     def test_ip_access_to_server(self):
         self.ping_ip_address(self.node_ip, should_succeed=True)
 
@@ -63,7 +63,7 @@
     wholedisk_image = False
 
     @decorators.idempotent_id('27b86130-d8dc-419d-880a-fbbbe4ce3f8c')
-    @test.services('image', 'network', 'object_storage')
+    @utils.services('image', 'network', 'object_storage')
     def test_ip_access_to_server(self):
         self.ping_ip_address(self.node_ip, should_succeed=True)
 
@@ -75,7 +75,7 @@
     wholedisk_image = True
 
     @decorators.idempotent_id('d8c5badd-45db-4d05-bbe8-35babbed6e86')
-    @test.services('image', 'network')
+    @utils.services('image', 'network')
     def test_ip_access_to_server(self):
         self.ping_ip_address(self.node_ip, should_succeed=True)
 
@@ -96,7 +96,7 @@
             raise cls.skipException(skip_msg)
 
     @decorators.idempotent_id('71ccf06f-6765-40fd-8252-1b1bfa423b9b')
-    @test.services('network')
+    @utils.services('network')
     def test_ip_access_to_server(self):
         self.ping_ip_address(self.node_ip, should_succeed=True)
 
@@ -108,7 +108,7 @@
     wholedisk_image = False
 
     @decorators.idempotent_id('ea85e19c-6869-4577-b9bb-2eb150f77c90')
-    @test.services('image', 'network')
+    @utils.services('image', 'network')
     def test_ip_access_to_server(self):
         self.ping_ip_address(self.node_ip, should_succeed=True)
 
@@ -120,7 +120,7 @@
     wholedisk_image = True
 
     @decorators.idempotent_id('c2db24e7-07dc-4a20-8f93-d4efae2bfd4e')
-    @test.services('image', 'network')
+    @utils.services('image', 'network')
     def test_ip_access_to_server(self):
         self.ping_ip_address(self.node_ip, should_succeed=True)
 
@@ -132,6 +132,6 @@
     wholedisk_image = False
 
     @decorators.idempotent_id('7d0b205e-edbc-4e2d-9f6d-95cd74eefecb')
-    @test.services('image', 'network')
+    @utils.services('image', 'network')
     def test_ip_access_to_server(self):
         self.ping_ip_address(self.node_ip, should_succeed=True)
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 63108c7..47fc07e 100644
--- a/ironic_tempest_plugin/tests/scenario/test_baremetal_basic_ops.py
+++ b/ironic_tempest_plugin/tests/scenario/test_baremetal_basic_ops.py
@@ -14,11 +14,11 @@
 # under the License.
 
 from oslo_log import log as logging
+from tempest.common import utils
 from tempest.common import waiters
 from tempest import config
 from tempest.lib.common import api_version_request
 from tempest.lib import decorators
-from tempest import test
 
 from ironic_tempest_plugin.tests.scenario import baremetal_manager
 
@@ -125,7 +125,7 @@
             self.assertIn(n_port['mac_address'], ir_ports_addresses)
 
     @decorators.idempotent_id('549173a5-38ec-42bb-b0e2-c8b9f4a08943')
-    @test.services('compute', 'image', 'network')
+    @utils.services('compute', 'image', 'network')
     def test_baremetal_server_ops(self):
         self.add_keypair()
         self.instance, self.node = self.boot_instance()
diff --git a/ironic_tempest_plugin/tests/scenario/test_baremetal_boot_from_volume.py b/ironic_tempest_plugin/tests/scenario/test_baremetal_boot_from_volume.py
index a1fd77b..9908270 100644
--- a/ironic_tempest_plugin/tests/scenario/test_baremetal_boot_from_volume.py
+++ b/ironic_tempest_plugin/tests/scenario/test_baremetal_boot_from_volume.py
@@ -12,12 +12,12 @@
 # License for the specific language governing permissions and limitations
 # under the License.
 
+from tempest.common import utils
 from tempest.common import waiters
 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 import test
 
 from ironic_tempest_plugin.tests.scenario import baremetal_manager
 
@@ -120,7 +120,7 @@
         )
 
     @decorators.idempotent_id('d6e05e61-8221-44ac-b785-57545f8e0fcf')
-    @test.services('compute', 'image', 'network', 'volume')
+    @utils.services('compute', 'image', 'network', 'volume')
     def test_baremetal_boot_from_volume(self):
         """Test baremetal node can boot from a cinder volume.
 
diff --git a/ironic_tempest_plugin/tests/scenario/test_baremetal_multitenancy.py b/ironic_tempest_plugin/tests/scenario/test_baremetal_multitenancy.py
index 8cd864b..013eb2e 100644
--- a/ironic_tempest_plugin/tests/scenario/test_baremetal_multitenancy.py
+++ b/ironic_tempest_plugin/tests/scenario/test_baremetal_multitenancy.py
@@ -13,10 +13,10 @@
 # License for the specific language governing permissions and limitations
 # under the License.
 
+from tempest.common import utils
 from tempest import config
 from tempest.lib.common.utils import data_utils
 from tempest.lib import decorators
-from tempest import test
 
 from ironic_tempest_plugin import manager
 from ironic_tempest_plugin.tests.scenario import baremetal_manager
@@ -82,7 +82,7 @@
             self.assertNotIn(success_substring, output)
 
     @decorators.idempotent_id('26e2f145-2a8e-4dc7-8457-7f2eb2c6749d')
-    @test.services('compute', 'image', 'network')
+    @utils.services('compute', 'image', 'network')
     def test_baremetal_multitenancy(self):
 
         tenant_cidr = '10.0.100.0/24'
