Merge "Rescue mode standalone tests"
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