Merge "CI: Set the neutron network interface for dhcpless runs"
diff --git a/ironic_tempest_plugin/tests/api/admin/test_portgroups.py b/ironic_tempest_plugin/tests/api/admin/test_portgroups.py
index 332c791..80724fe 100644
--- a/ironic_tempest_plugin/tests/api/admin/test_portgroups.py
+++ b/ironic_tempest_plugin/tests/api/admin/test_portgroups.py
@@ -21,7 +21,7 @@
 class TestPortGroups(base.BaseBaremetalTest):
     """Basic positive test cases for port groups."""
 
-    min_microversion = '1.23'
+    min_microversion = '1.26'  # portgroup mode and properties introduced
 
     def setUp(self):
         super(TestPortGroups, self).setUp()
diff --git a/zuul.d/project.yaml b/zuul.d/project.yaml
index 8ba9c3a..c89b63e 100644
--- a/zuul.d/project.yaml
+++ b/zuul.d/project.yaml
@@ -7,34 +7,29 @@
       jobs:
         # NOTE(dtantsur): keep N-3 and older non-voting for these jobs.
         - ironic-tempest-functional-python3
+        - ironic-tempest-functional-python3-2025.2
         - ironic-tempest-functional-python3-2025.1
-        - ironic-tempest-functional-python3-2024.2
+        # NOTE(TheJulia): Consensus in the 2026.1 PTG is that we don't need
+        # to run the anaconda job as heavily as we need to run the normal
+        # tempest jobs.
         - ironic-standalone-anaconda
-        - ironic-standalone-anaconda-2025.1
-        - ironic-standalone-anaconda-2024.2
         - ironic-standalone-redfish
+        - ironic-standalone-redfish-2025.2
         - ironic-standalone-redfish-2025.1
-        - ironic-standalone-redfish-2024.2
-        # NOTE(dtantsur): inspector is deprecated and rarely sees any changes,
-        # no point in running many jobs
-        - ironic-inspector-tempest
         # 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-2025.1:
+        - ironic-tempest-ipa-wholedisk-direct-tinyipa-multinode-2025.2:
             voting: false
         - ironic-inspector-tempest-discovery:
             voting: false
     gate:
       jobs:
         - ironic-tempest-functional-python3
+        - ironic-tempest-functional-python3-2025.2
         - ironic-tempest-functional-python3-2025.1
-        - ironic-tempest-functional-python3-2024.2
         - ironic-standalone-anaconda
-        - ironic-standalone-anaconda-2025.1
-        - ironic-standalone-anaconda-2024.2
         - ironic-standalone-redfish
+        - ironic-standalone-redfish-2025.2
         - ironic-standalone-redfish-2025.1
-        - ironic-standalone-redfish-2024.2
-        - ironic-inspector-tempest
diff --git a/zuul.d/stable-jobs.yaml b/zuul.d/stable-jobs.yaml
index d573737..f67694b 100644
--- a/zuul.d/stable-jobs.yaml
+++ b/zuul.d/stable-jobs.yaml
@@ -1,12 +1,7 @@
 - job:
-    name: ironic-standalone-2024.2
-    parent: ironic-standalone
-    override-checkout: stable/2024.2
-
-- job:
-    name: ironic-standalone-2024.1
-    parent: ironic-standalone
-    override-checkout: stable/2024.1
+    name: ironic-standalone-redfish-2025.2
+    parent: ironic-standalone-redfish
+    override-checkout: stable/2025.2
 
 - job:
     name: ironic-standalone-redfish-2025.1
@@ -14,14 +9,9 @@
     override-checkout: stable/2025.1
 
 - job:
-    name: ironic-standalone-redfish-2024.2
-    parent: ironic-standalone-redfish
-    override-checkout: stable/2024.2
-
-- job:
-    name: ironic-standalone-redfish-2024.1
-    parent: ironic-standalone-redfish
-    override-checkout: stable/2024.1
+    name: ironic-standalone-anaconda-2025.2
+    parent: ironic-standalone-anaconda
+    override-checkout: stable/2025.2
 
 - job:
     name: ironic-standalone-anaconda-2025.1
@@ -29,14 +19,9 @@
     override-checkout: stable/2025.1
 
 - job:
-    name: ironic-standalone-anaconda-2024.2
-    parent: ironic-standalone-anaconda
-    override-checkout: stable/2024.2
-
-- job:
-    name: ironic-standalone-anaconda-2024.1
-    parent: ironic-standalone-anaconda
-    override-checkout: stable/2024.1
+    name: ironic-tempest-functional-python3-2025.2
+    parent: ironic-tempest-functional-python3
+    override-checkout: stable/2025.2
 
 - job:
     name: ironic-tempest-functional-python3-2025.1
@@ -44,46 +29,11 @@
     override-checkout: stable/2025.1
 
 - job:
-    name: ironic-tempest-functional-python3-2024.2
-    parent: ironic-tempest-functional-python3
-    override-checkout: stable/2024.2
-
-- job:
-    name: ironic-tempest-functional-python3-2024.1
-    parent: ironic-tempest-functional-python3
-    override-checkout: stable/2024.1
-
-- job:
-    name: ironic-tempest-functional-rbac-scope-enforced-2024.2
-    parent: ironic-tempest-functional-rbac-scope-enforced
-    override-checkout: stable/2024.2
-
-- job:
-    name: ironic-tempest-functional-rbac-scope-enforced-2024.1
-    parent: ironic-tempest-functional-rbac-scope-enforced
-    override-checkout: stable/2024.1
+    name: ironic-tempest-ipa-wholedisk-direct-tinyipa-multinode-2025.2
+    parent: ironic-tempest-ipa-wholedisk-direct-tinyipa-multinode
+    override-checkout: stable/2025.2
 
 - job:
     name: ironic-tempest-ipa-wholedisk-direct-tinyipa-multinode-2025.1
     parent: ironic-tempest-ipa-wholedisk-direct-tinyipa-multinode
     override-checkout: stable/2025.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
-
-- 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-inspector-tempest-2024.2
-    parent: ironic-inspector-tempest
-    override-checkout: stable/2024.2
-
-- job:
-    name: ironic-inspector-tempest-2024.1
-    parent: ironic-inspector-tempest
-    override-checkout: stable/2024.1