Merge "Remove agent_ipmitool/pxe_ipmitool tests"
diff --git a/doc/requirements.txt b/doc/requirements.txt
index 6a29daa..a94eee0 100644
--- a/doc/requirements.txt
+++ b/doc/requirements.txt
@@ -1,4 +1,4 @@
-sphinx>=2.0.0,!=2.1.0 # BSD
+sphinx>=2.0.0 # BSD
 openstackdocstheme>=2.2.1 # Apache-2.0
 
 reno>=3.1.0 # Apache-2.0
diff --git a/requirements.txt b/requirements.txt
index cde72ba..bfafa58 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -1,11 +1,7 @@
-# The order of packages is significant, because pip processes them in the order
-# of appearance. Changing the order has an impact on the overall integration
-# process, which may cause wedges in the gate later.
-
-pbr!=2.1.0,>=2.0.0 # Apache-2.0
+pbr>=2.0.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.serialization>=2.18.0 # Apache-2.0
 oslo.utils>=3.33.0 # Apache-2.0
 fixtures>=3.0.0 # Apache-2.0/BSD
 tempest>=27.0.0 # Apache-2.0
diff --git a/test-requirements.txt b/test-requirements.txt
index 33a724b..0ce003e 100644
--- a/test-requirements.txt
+++ b/test-requirements.txt
@@ -1,6 +1,2 @@
-# The order of packages is significant, because pip processes them in the order
-# of appearance. Changing the order has an impact on the overall integration
-# process, which may cause wedges in the gate later.
-
 stestr>=1.0.0 # Apache-2.0
-coverage!=4.4,>=4.0 # Apache-2.0
+coverage>=4.0 # Apache-2.0
diff --git a/zuul.d/project.yaml b/zuul.d/project.yaml
index c261a70..7720986 100644
--- a/zuul.d/project.yaml
+++ b/zuul.d/project.yaml
@@ -7,65 +7,68 @@
       jobs:
         # NOTE(dtantsur): keep N-3 and older non-voting for these jobs.
         - ironic-standalone
+        - ironic-standalone-2024.1
         - ironic-standalone-2023.2
-        - ironic-standalone-2023.1
-        - ironic-standalone-zed:
+        - ironic-standalone-2023.1:
             voting: false
         - ironic-tempest-functional-python3
-        - ironic-tempest-functional-python3-2023.2
-        - ironic-tempest-functional-python3-2023.1
-        - ironic-tempest-functional-python3-zed:
+        - ironic-tempest-functional-python3-2024.1
+        - ironic-tempest-functional-python3-2023.2:
             voting: false
         - ironic-tempest-functional-rbac-scope-enforced
+        - ironic-tempest-functional-rbac-scope-enforced-2024.1
         - ironic-tempest-functional-rbac-scope-enforced-2023.2
         # Enable these *once* we have the policy fix backported
         # for making own node changes.
         # - ironic-tempest-functional-rbac-scope-enforced-2023.1
-        # - ironic-tempest-functional-rbac-scope-enforced-zed
         - ironic-inspector-tempest
+        - ironic-inspector-tempest-2024.1
         - ironic-inspector-tempest-2023.2
-        - ironic-inspector-tempest-2023.1
-        - ironic-inspector-tempest-zed:
+        - ironic-inspector-tempest-2023.1:
             voting: false
         - ironic-standalone-anaconda
+        - ironic-standalone-anaconda-2024.1
         - ironic-standalone-anaconda-2023.2
-        - ironic-standalone-anaconda-2023.1
+        - ironic-standalone-anaconda-2023.1:
+            voting: false
         - ironic-standalone-redfish
+        - ironic-standalone-redfish-2024.1
         - ironic-standalone-redfish-2023.2
-        - ironic-standalone-redfish-2023.1
-        - ironic-standalone-redfish-zed:
+        - ironic-standalone-redfish-2023.1:
             voting: false
         # NOTE(dtantsur): these jobs cover rarely changed tests and are quite
         # unstable, so keep them non-voting.
         - ironic-tempest-ipa-wholedisk-direct-tinyipa-multinode:
             voting: false
+        - ironic-tempest-ipa-wholedisk-direct-tinyipa-multinode-2024.1:
+            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-tempest-ipa-wholedisk-direct-tinyipa-multinode-zed:
-            voting: false
         - ironic-inspector-tempest-discovery
+        - ironic-inspector-tempest-discovery-2024.1
         - ironic-inspector-tempest-discovery-2023.2
-        - ironic-inspector-tempest-discovery-2023.1
-        - ironic-inspector-tempest-discovery-zed:
+        - ironic-inspector-tempest-discovery-2023.1:
             voting: false
     gate:
       jobs:
         - ironic-standalone
+        - ironic-standalone-2024.1
         - ironic-standalone-2023.2
-        - ironic-standalone-2023.1
         - ironic-tempest-functional-python3
+        - ironic-tempest-functional-python3-2024.1
         - ironic-tempest-functional-python3-2023.2
-        - ironic-tempest-functional-python3-2023.1
+        - ironic-tempest-functional-rbac-scope-enforced-2024.1
         - ironic-tempest-functional-rbac-scope-enforced-2023.2
         - ironic-tempest-functional-rbac-scope-enforced
         - ironic-inspector-tempest
+        - ironic-inspector-tempest-2024.1
         - ironic-inspector-tempest-2023.2
-        - ironic-inspector-tempest-2023.1
         - ironic-inspector-tempest-rbac-scope-enforced
+        - ironic-inspector-tempest-rbac-scope-enforced-2024.1
         - ironic-inspector-tempest-rbac-scope-enforced-2023.2
         - ironic-standalone-redfish
+        - ironic-standalone-redfish-2024.1
         - ironic-standalone-redfish-2023.2
-        - ironic-standalone-redfish-2023.1
         - ironic-inspector-tempest-discovery
diff --git a/zuul.d/stable-jobs.yaml b/zuul.d/stable-jobs.yaml
index bbbe8c6..3643bf4 100644
--- a/zuul.d/stable-jobs.yaml
+++ b/zuul.d/stable-jobs.yaml
@@ -1,4 +1,9 @@
 - job:
+    name: ironic-standalone-2024.1
+    parent: ironic-standalone
+    override-checkout: stable/2024.1
+
+- job:
     name: ironic-standalone-2023.2
     parent: ironic-standalone
     override-checkout: stable/2023.2
@@ -47,6 +52,11 @@
         USE_PYTHON3: True
 
 - job:
+    name: ironic-standalone-redfish-2024.1
+    parent: ironic-standalone
+    override-checkout: stable/2024.1
+
+- job:
     name: ironic-standalone-redfish-2023.2
     parent: ironic-standalone
     override-checkout: stable/2023.2
@@ -99,6 +109,11 @@
         USE_PYTHON3: True
 
 - job:
+    name: ironic-standalone-anaconda-2024.1
+    parent: ironic-standalone-anaconda
+    override-checkout: stable/2024.1
+
+- job:
     name: ironic-standalone-anaconda-2023.2
     parent: ironic-standalone-anaconda
     override-checkout: stable/2023.2
@@ -109,6 +124,11 @@
     override-checkout: stable/2023.1
 
 - job:
+    name: ironic-tempest-functional-python3-2024.1
+    parent: ironic-tempest-functional-python3
+    override-checkout: stable/2024.1
+
+- job:
     name: ironic-tempest-functional-python3-2023.2
     parent: ironic-tempest-functional-python3
     override-checkout: stable/2023.2
@@ -154,6 +174,11 @@
     override-checkout: stable/train
 
 - job:
+    name: ironic-tempest-functional-rbac-scope-enforced-2024.1
+    parent: ironic-tempest-functional-rbac-scope-enforced
+    override-checkout: stable/2024.1
+
+- job:
     name: ironic-tempest-functional-rbac-scope-enforced-2023.2
     parent: ironic-tempest-functional-rbac-scope-enforced
     override-checkout: stable/2023.2
@@ -174,6 +199,11 @@
     override-checkout: stable/zed
 
 - job:
+    name: ironic-tempest-ipa-wholedisk-direct-tinyipa-multinode-2024.1
+    parent: ironic-tempest-ipa-wholedisk-direct-tinyipa-multinode
+    override-checkout: stable/2024.1
+
+- job:
     name: ironic-tempest-ipa-wholedisk-direct-tinyipa-multinode-2023.2
     parent: ironic-tempest-ipa-wholedisk-direct-tinyipa-multinode
     override-checkout: stable/2023.2
@@ -217,6 +247,11 @@
         USE_PYTHON3: True
 
 - job:
+    name: ironic-inspector-tempest-2024.1
+    parent: ironic-inspector-tempest
+    override-checkout: stable/2024.1
+
+- job:
     name: ironic-inspector-tempest-2023.2
     parent: ironic-inspector-tempest
     override-checkout: stable/2023.2
@@ -274,6 +309,11 @@
         USE_PYTHON3: True
 
 - job:
+    name: ironic-inspector-tempest-rbac-scope-enforced-2024.1
+    parent: ironic-inspector-tempest-rbac-scope-enforced
+    override-checkout: stable/2024.1
+
+- job:
     name: ironic-inspector-tempest-rbac-scope-enforced-2023.2
     parent: ironic-inspector-tempest-rbac-scope-enforced
     override-checkout: stable/2023.2
@@ -289,6 +329,11 @@
     override-checkout: stable/zed
 
 - job:
+    name: ironic-inspector-tempest-discovery-2024.1
+    parent: ironic-inspector-tempest-discovery
+    override-checkout: stable/2024.1
+
+- job:
     name: ironic-inspector-tempest-discovery-2023.2
     parent: ironic-inspector-tempest-discovery
     override-checkout: stable/2023.2