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 14dc69b..de0a17c 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
@@ -119,7 +119,22 @@
                                              should_succeed=True))
 
 
-class BaremetalIpmiWholedisk(bsm.BaremetalStandaloneScenarioTest):
+class BaremetalIpmiIscsiWholedisk(bsm.BaremetalStandaloneScenarioTest):
+
+    api_microversion = '1.31'  # to set the deploy_interface
+    driver = 'ipmi'
+    deploy_interface = 'iscsi'
+    image_ref = CONF.baremetal.whole_disk_image_ref
+    wholedisk_image = True
+
+    @decorators.idempotent_id('f25b71df-2150-45d7-a780-7f5b07124808')
+    @utils.services('image', 'network')
+    def test_ip_access_to_server(self):
+        self.assertTrue(self.ping_ip_address(self.node_ip,
+                                             should_succeed=True))
+
+
+class BaremetalIpmiDirectWholedisk(bsm.BaremetalStandaloneScenarioTest):
 
     api_microversion = '1.31'  # to set the deploy_interface
     driver = 'ipmi'
@@ -134,7 +149,7 @@
                                              should_succeed=True))
 
 
-class BaremetalIpmiPartitioned(bsm.BaremetalStandaloneScenarioTest):
+class BaremetalIpmiIscsiPartitioned(bsm.BaremetalStandaloneScenarioTest):
 
     api_microversion = '1.31'  # to set the deploy_interface
     driver = 'ipmi'
@@ -149,6 +164,21 @@
                                              should_succeed=True))
 
 
+class BaremetalIpmiDirectPartitioned(bsm.BaremetalStandaloneScenarioTest):
+
+    api_microversion = '1.31'  # to set the deploy_interface
+    driver = 'ipmi'
+    deploy_interface = 'direct'
+    image_ref = CONF.baremetal.partition_image_ref
+    wholedisk_image = False
+
+    @decorators.idempotent_id('7b4b2dcd-2bbb-44f5-991f-0964300af6b7')
+    @utils.services('image', 'network')
+    def test_ip_access_to_server(self):
+        self.assertTrue(self.ping_ip_address(self.node_ip,
+                                             should_succeed=True))
+
+
 class BaremetalIpmiAnsibleWholedisk(bsm.BaremetalStandaloneScenarioTest):
 
     api_microversion = '1.31'  # to set the deploy_interface
diff --git a/ironic_tempest_plugin/tests/scenario/test_introspection_basic.py b/ironic_tempest_plugin/tests/scenario/test_introspection_basic.py
index 8ae92e9..f97316d 100644
--- a/ironic_tempest_plugin/tests/scenario/test_introspection_basic.py
+++ b/ironic_tempest_plugin/tests/scenario/test_introspection_basic.py
@@ -57,6 +57,7 @@
             interval=self.wait_provisioning_state_interval)
 
     @decorators.idempotent_id('03bf7990-bee0-4dd7-bf74-b97ad7b52a4b')
+    @decorators.attr(type='smoke')
     @utils.services('compute', 'image', 'network')
     def test_baremetal_introspection(self):
         """This smoke test case follows this set of operations:
@@ -144,33 +145,3 @@
         # verify nodes status and provision state
         for node_id in self.node_ids:
             self.verify_introspection_aborted(node_id)
-
-
-class InspectorSmokeTest(introspection_manager.InspectorScenarioTest):
-
-    @decorators.idempotent_id('a702d1f1-88e4-42ce-88ef-cba2d9e3312e')
-    @decorators.attr(type='smoke')
-    @utils.services('object_storage')
-    def test_baremetal_introspection(self):
-        """This smoke test case follows this very basic set of operations:
-
-            * Fetches expected properties from baremetal flavor
-            * Removes all properties from one node
-            * Sets the node to manageable state
-            * Inspects the node
-            * Sets the node to available state
-
-        """
-        # NOTE(dtantsur): we can't silently skip this test because it runs in
-        # grenade with several other tests, and we won't have any indication
-        # that it was not run.
-        assert self.node_ids, "No available nodes"
-        node_id = next(iter(self.node_ids))
-        self.introspect_node(node_id)
-
-        # settle down introspection
-        self.wait_for_introspection_finished([node_id])
-        self.wait_provisioning_state(
-            node_id, 'manageable',
-            timeout=CONF.baremetal_introspection.ironic_sync_timeout,
-            interval=self.wait_provisioning_state_interval)
diff --git a/requirements.txt b/requirements.txt
index 70272dc..54751e4 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -3,7 +3,7 @@
 # process, which may cause wedges in the gate later.
 
 pbr!=2.1.0,>=2.0.0 # Apache-2.0
-oslo.config>=5.1.0 # Apache-2.0
+oslo.config>=5.2.0 # Apache-2.0
 oslo.log>=3.36.0 # Apache-2.0
 oslo.serialization!=2.19.1,>=2.18.0 # Apache-2.0
 oslo.utils>=3.33.0 # Apache-2.0
diff --git a/test-requirements.txt b/test-requirements.txt
index fbdfb19..1b68194 100644
--- a/test-requirements.txt
+++ b/test-requirements.txt
@@ -4,7 +4,7 @@
 
 hacking!=0.13.0,<0.14,>=0.12.0 # Apache-2.0
 
-sphinx!=1.6.6,>=1.6.2 # BSD
+sphinx!=1.6.6,!=1.6.7,>=1.6.2 # BSD
 oslosphinx>=4.7.0 # Apache-2.0
 
 # releasenotes
diff --git a/zuul.d/project.yaml b/zuul.d/project.yaml
index 7b84ec7..a1f312c 100644
--- a/zuul.d/project.yaml
+++ b/zuul.d/project.yaml
@@ -12,9 +12,6 @@
         - ironic-tempest-dsvm-ironic-inspector-queens
         - ironic-tempest-dsvm-ironic-inspector-pike
         - ironic-tempest-dsvm-ironic-inspector-ocata
-        - ironic-inspector-grenade-dsvm
-        - ironic-inspector-grenade-dsvm-queens
-        - ironic-inspector-grenade-dsvm-pike
     gate:
       jobs:
         - ironic-dsvm-standalone
@@ -28,6 +25,3 @@
         - ironic-tempest-dsvm-ironic-inspector-queens
         - ironic-tempest-dsvm-ironic-inspector-pike
         - ironic-tempest-dsvm-ironic-inspector-ocata
-        - ironic-inspector-grenade-dsvm
-        - ironic-inspector-grenade-dsvm-queens
-        - ironic-inspector-grenade-dsvm-pike
diff --git a/zuul.d/stable-jobs.yaml b/zuul.d/stable-jobs.yaml
index 9f3d1db..7a9150a 100644
--- a/zuul.d/stable-jobs.yaml
+++ b/zuul.d/stable-jobs.yaml
@@ -38,13 +38,3 @@
     name: ironic-tempest-dsvm-ironic-inspector-ocata
     parent: ironic-tempest-dsvm-ironic-inspector
     override-checkout: stable/ocata
-
-- job:
-    name: ironic-inspector-grenade-dsvm-queens
-    parent: ironic-inspector-grenade-dsvm
-    override-checkout: stable/queens
-
-- job:
-    name: ironic-inspector-grenade-dsvm-pike
-    parent: ironic-inspector-grenade-dsvm
-    override-checkout: stable/pike
