Merge "Testing microversions on v1/shards"
diff --git a/ironic_tempest_plugin/tests/api/admin/test_nodes.py b/ironic_tempest_plugin/tests/api/admin/test_nodes.py
index 6d63768..3da3f3e 100644
--- a/ironic_tempest_plugin/tests/api/admin/test_nodes.py
+++ b/ironic_tempest_plugin/tests/api/admin/test_nodes.py
@@ -372,7 +372,7 @@
     def test_create_node_resource_class_old_api(self):
         """Try to create a node with resource class using older api version."""
         resource_class = data_utils.arbitrary_string()
-        self.assertRaises(lib_exc.UnexpectedResponseCode, self.create_node,
+        self.assertRaises(lib_exc.NotAcceptable, self.create_node,
                           self.chassis['uuid'], resource_class=resource_class)
 
     @decorators.attr(type='negative')
@@ -380,7 +380,7 @@
     def test_update_node_resource_class_old_api(self):
         """Try to update a node with resource class using older api version."""
         resource_class = data_utils.arbitrary_string()
-        self.assertRaises(lib_exc.UnexpectedResponseCode,
+        self.assertRaises(lib_exc.NotAcceptable,
                           self.client.update_node,
                           self.node['uuid'], resource_class=resource_class)
 
@@ -390,10 +390,10 @@
         """Try to list nodes with resource class using older api version."""
         resource_class = data_utils.arbitrary_string()
         self.assertRaises(
-            lib_exc.UnexpectedResponseCode,
+            lib_exc.NotAcceptable,
             self.client.list_nodes, resource_class=resource_class)
         self.assertRaises(
-            lib_exc.UnexpectedResponseCode,
+            lib_exc.NotAcceptable,
             self.client.list_nodes_detail, resource_class=resource_class)
 
 
@@ -1043,10 +1043,9 @@
     @decorators.idempotent_id('5419af7b-4e27-4be4-88f6-e01c598a8102')
     def test_list_node_traits_old_api(self):
         """Try to list traits for a node using an older api version."""
-        exc = self.assertRaises(
-            lib_exc.UnexpectedResponseCode,
+        self.assertRaises(
+            lib_exc.NotAcceptable,
             self.client.list_node_traits, self.node['uuid'])
-        self.assertEqual(406, exc.resp.status)
 
     @decorators.attr(type='negative')
     @decorators.idempotent_id('a4353f3a-bedc-4579-9c7e-4bebcd95903d')
@@ -1096,10 +1095,9 @@
     @decorators.idempotent_id('eb75b3c8-ac9c-4399-90a2-c0030bfde7a6')
     def test_list_nodes_traits_field(self):
         """Try to list nodes' traits field using older api version."""
-        exc = self.assertRaises(
-            lib_exc.UnexpectedResponseCode,
+        self.assertRaises(
+            lib_exc.NotAcceptable,
             self.client.list_nodes, fields='traits')
-        self.assertEqual(406, exc.resp.status)
 
     @decorators.attr(type='negative')
     @decorators.idempotent_id('214ae7fc-149b-4657-b6bc-66353d49ade8')
diff --git a/ironic_tempest_plugin/tests/api/admin/test_ports_negative.py b/ironic_tempest_plugin/tests/api/admin/test_ports_negative.py
index bd338f9..8a812a6 100644
--- a/ironic_tempest_plugin/tests/api/admin/test_ports_negative.py
+++ b/ironic_tempest_plugin/tests/api/admin/test_ports_negative.py
@@ -354,7 +354,7 @@
         node_id = self.node['uuid']
         address = data_utils.rand_mac_address()
 
-        self.assertRaises((lib_exc.BadRequest, lib_exc.UnexpectedResponseCode),
+        self.assertRaises((lib_exc.BadRequest, lib_exc.NotAcceptable),
                           self.create_port,
                           node_id=node_id, address=address,
                           physical_network='physnet1')
@@ -371,7 +371,7 @@
                   'op': 'replace',
                   'value': new_physnet}]
 
-        self.assertRaises((lib_exc.BadRequest, lib_exc.UnexpectedResponseCode),
+        self.assertRaises((lib_exc.BadRequest, lib_exc.NotAcceptable),
                           self.client.update_port,
                           port['uuid'], patch)
 
diff --git a/zuul.d/project.yaml b/zuul.d/project.yaml
index 1be91a6..4d9da27 100644
--- a/zuul.d/project.yaml
+++ b/zuul.d/project.yaml
@@ -11,8 +11,6 @@
         - ironic-standalone-2024.1
         - ironic-standalone-2023.2:
             voting: false
-        - ironic-standalone-2023.1:
-            voting: false
         - ironic-tempest-functional-python3
         - ironic-tempest-functional-python3-2024.2
         - ironic-tempest-functional-python3-2024.1
@@ -22,22 +20,16 @@
         - ironic-tempest-functional-rbac-scope-enforced-2024.1
         - ironic-tempest-functional-rbac-scope-enforced-2023.2:
             voting: false
-        - ironic-tempest-functional-rbac-scope-enforced-2023.1:
-            voting: false
         - ironic-standalone-anaconda
         - ironic-standalone-anaconda-2024.2
         - ironic-standalone-anaconda-2024.1
         - ironic-standalone-anaconda-2023.2:
             voting: false
-        - ironic-standalone-anaconda-2023.1:
-            voting: false
         - ironic-standalone-redfish
         - ironic-standalone-redfish-2024.2
         - ironic-standalone-redfish-2024.1
         - ironic-standalone-redfish-2023.2:
             voting: false
-        - ironic-standalone-redfish-2023.1:
-            voting: false
         # NOTE(dtantsur): inspector is deprecated and rarely sees any changes,
         # no point in running many jobs
         - ironic-inspector-tempest
@@ -56,8 +48,6 @@
             voting: false
         - ironic-tempest-ipa-wholedisk-direct-tinyipa-multinode-2023.2:
             voting: false
-        - ironic-tempest-ipa-wholedisk-direct-tinyipa-multinode-2023.1:
-            voting: false
         - ironic-inspector-tempest-discovery:
             voting: false
     gate:
diff --git a/zuul.d/stable-jobs.yaml b/zuul.d/stable-jobs.yaml
index 87c6a7f..c75f782 100644
--- a/zuul.d/stable-jobs.yaml
+++ b/zuul.d/stable-jobs.yaml
@@ -14,11 +14,6 @@
     override-checkout: stable/2023.2
 
 - job:
-    name: ironic-standalone-2023.1
-    parent: ironic-standalone
-    override-checkout: stable/2023.1
-
-- job:
     name: ironic-standalone-redfish-2024.2
     parent: ironic-standalone
     override-checkout: stable/2024.2
@@ -34,11 +29,6 @@
     override-checkout: stable/2023.2
 
 - job:
-    name: ironic-standalone-redfish-2023.1
-    parent: ironic-standalone
-    override-checkout: stable/2023.1
-
-- job:
     name: ironic-standalone-anaconda-2024.2
     parent: ironic-standalone-anaconda
     override-checkout: stable/2024.2
@@ -54,11 +44,6 @@
     override-checkout: stable/2023.2
 
 - job:
-    name: ironic-standalone-anaconda-2023.1
-    parent: ironic-standalone-anaconda
-    override-checkout: stable/2023.1
-
-- job:
     name: ironic-tempest-functional-python3-2024.2
     parent: ironic-tempest-functional-python3
     override-checkout: stable/2024.2
@@ -74,11 +59,6 @@
     override-checkout: stable/2023.2
 
 - job:
-    name: ironic-tempest-functional-python3-2023.1
-    parent: ironic-tempest-functional-python3
-    override-checkout: stable/2023.1
-
-- job:
     name: ironic-tempest-functional-rbac-scope-enforced-2024.2
     parent: ironic-tempest-functional-rbac-scope-enforced
     override-checkout: stable/2024.2
@@ -94,11 +74,6 @@
     override-checkout: stable/2023.2
 
 - job:
-    name: ironic-tempest-functional-rbac-scope-enforced-2023.1
-    parent: ironic-tempest-functional-rbac-scope-enforced
-    override-checkout: stable/2023.1
-
-- job:
     name: ironic-tempest-ipa-wholedisk-direct-tinyipa-multinode-2024.2
     parent: ironic-tempest-ipa-wholedisk-direct-tinyipa-multinode
     override-checkout: stable/2024.2
@@ -114,11 +89,6 @@
     override-checkout: stable/2023.2
 
 - job:
-    name: ironic-tempest-ipa-wholedisk-direct-tinyipa-multinode-2023.1
-    parent: ironic-tempest-ipa-wholedisk-direct-tinyipa-multinode
-    override-checkout: stable/2023.1
-
-- job:
     name: ironic-inspector-tempest-2024.2
     parent: ironic-inspector-tempest
     override-checkout: stable/2024.2