Merge "Adding jobs for centos-10-stream & rocky 10"
diff --git a/.coveragerc b/.coveragerc
deleted file mode 100644
index c2ce2c4..0000000
--- a/.coveragerc
+++ /dev/null
@@ -1,6 +0,0 @@
-[run]
-branch = True
-source = octavia_tempest_plugin
-
-[report]
-ignore_errors = True
diff --git a/CONTRIBUTING.rst b/CONTRIBUTING.rst
index 8ab7e19..b37532a 100644
--- a/CONTRIBUTING.rst
+++ b/CONTRIBUTING.rst
@@ -12,6 +12,6 @@
 
 Pull requests submitted through GitHub will be ignored.
 
-Bugs should be filed on StoryBoard, not GitHub:
+Bugs should be filed on Launchpad, not GitHub or Storyboard:
 
-   https://storyboard.openstack.org/#!/project/openstack/octavia-tempest-plugin
+   https://bugs.launchpad.net/octavia
diff --git a/README.rst b/README.rst
index beb0f5a..eb8ad9c 100644
--- a/README.rst
+++ b/README.rst
@@ -25,7 +25,7 @@
 * Free software: Apache license
 * Documentation: https://docs.openstack.org/octavia-tempest-plugin/latest/
 * Source: https://opendev.org/openstack/octavia-tempest-plugin
-* Bugs: https://storyboard.openstack.org/#!/project/openstack/octavia-tempest-plugin
+* Bugs: https://bugs.launchpad.net/octavia
 
 Installing
 ----------
diff --git a/doc/requirements.txt b/doc/requirements.txt
index 2a94e8b..764591e 100644
--- a/doc/requirements.txt
+++ b/doc/requirements.txt
@@ -1,7 +1,3 @@
-# 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.
-
 sphinxcontrib-apidoc>=0.2.0 # BSD
 sphinx>=2.0.0,!=2.1.0 # BSD
 openstackdocstheme>=2.2.1 # Apache-2.0
diff --git a/doc/source/conf.py b/doc/source/conf.py
index ff6a826..76cda40 100644
--- a/doc/source/conf.py
+++ b/doc/source/conf.py
@@ -62,7 +62,8 @@
 
 openstackdocs_repo_name = 'openstack/octavia-tempest-plugin'
 openstackdocs_pdf_link = True
-openstackdocs_use_storyboard = True
+openstackdocs_bug_project = 'octavia'
+openstackdocs_bug_tag = 'docs'
 
 apidoc_output_dir = '_build/modules'
 apidoc_module_dir = '../../octavia_tempest_plugin'
diff --git a/playbooks/test-server-build/post.yaml b/playbooks/test-server-build/post.yaml
new file mode 100644
index 0000000..2f3cfe6
--- /dev/null
+++ b/playbooks/test-server-build/post.yaml
@@ -0,0 +1,10 @@
+- hosts: all
+  name: Copy image
+  tasks:
+    - synchronize:
+        dest: "{{ zuul.executor.work_root }}/artifacts/"
+        mode: pull
+        src: "{{ ansible_user_dir }}/test-server"
+        verify_host: true
+        rsync_opts:
+          - "--exclude=/*/*/"
diff --git a/playbooks/test-server-build/run.yaml b/playbooks/test-server-build/run.yaml
new file mode 100644
index 0000000..27eb525
--- /dev/null
+++ b/playbooks/test-server-build/run.yaml
@@ -0,0 +1,20 @@
+- hosts: all
+  tasks:
+    - name: Install dependencies
+      package:
+        name:
+          - golang
+        state: present
+      become: yes
+    - name: Ensure artifacts directory exists
+      file:
+        name: "{{ ansible_user_dir }}/test-server"
+        state: directory
+    - name: Build test_server.bin
+      shell: |
+        source_dir={{ ansible_user_dir }}/src/opendev.org/openstack/octavia-tempest-plugin
+        dest_dir={{ ansible_user_dir }}/test-server
+        CGO_ENABLED=0 GOOS=linux go build \
+            -a -ldflags '-s -w -extldflags -static' \
+            -o ${dest_dir}/test_server-{{ test_server_arch }}.{{ zuul.branch }}.bin \
+            ${source_dir}/octavia_tempest_plugin/contrib/test_server/test_server.go
diff --git a/releasenotes/source/conf.py b/releasenotes/source/conf.py
index 8437073..0264d18 100644
--- a/releasenotes/source/conf.py
+++ b/releasenotes/source/conf.py
@@ -45,7 +45,8 @@
 # openstackdocstheme options
 openstackdocs_repo_name = 'openstack/octavia-tempest-plugin'
 openstackdocs_auto_name = False
-openstackdocs_use_storyboard = True
+openstackdocs_bug_project = 'octavia'
+openstackdocs_bug_tag = 'docs'
 
 # Add any paths that contain templates here, relative to this directory.
 templates_path = ['_templates']
diff --git a/requirements.txt b/requirements.txt
index afa0565..903b11b 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -1,6 +1,6 @@
-# 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.
+# Requirements lower bounds listed here are our best effort to keep them up to
+# date but we do not test them so no guarantee of having them all correct. If
+# you find any incorrect lower bounds, let us know or propose a fix.
 
 cryptography>=3.0 # BSD/Apache-2.0
 python-dateutil>=2.5.3 # BSD
diff --git a/setup.cfg b/setup.cfg
index ed187d4..c6b10ea 100644
--- a/setup.cfg
+++ b/setup.cfg
@@ -6,7 +6,7 @@
 author = OpenStack
 author_email = openstack-discuss@lists.openstack.org
 home_page = https://docs.openstack.org/octavia-tempest-plugin/latest/
-python_requires = >=3.9
+python_requires = >=3.10
 classifier =
     Environment :: OpenStack
     Intended Audience :: Information Technology
@@ -17,10 +17,10 @@
     Programming Language :: Python :: Implementation :: CPython
     Programming Language :: Python :: 3 :: Only
     Programming Language :: Python :: 3
-    Programming Language :: Python :: 3.9
     Programming Language :: Python :: 3.10
     Programming Language :: Python :: 3.11
     Programming Language :: Python :: 3.12
+    Programming Language :: Python :: 3.13
 
 [files]
 packages =
diff --git a/setup.py b/setup.py
index 566d844..cd35c3c 100644
--- a/setup.py
+++ b/setup.py
@@ -13,17 +13,8 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-# THIS FILE IS MANAGED BY THE GLOBAL REQUIREMENTS REPO - DO NOT EDIT
 import setuptools
 
-# In python < 2.7.4, a lazy loading of package `pbr` will break
-# setuptools if some other modules registered functions in `atexit`.
-# solution from: http://bugs.python.org/issue15881#msg170215
-try:
-    import multiprocessing  # noqa
-except ImportError:
-    pass
-
 setuptools.setup(
     setup_requires=['pbr>=2.0.0'],
     pbr=True)
diff --git a/test-requirements.txt b/test-requirements.txt
index bb4fcfe..7664264 100644
--- a/test-requirements.txt
+++ b/test-requirements.txt
@@ -1,10 +1,5 @@
-# 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.
-
 hacking>=6.1.0,<6.2.0 # Apache-2.0
 
-coverage!=4.4,>=4.0 # Apache-2.0
 python-subunit>=1.0.0 # Apache-2.0/BSD
 oslotest>=3.2.0 # Apache-2.0
 stestr>=2.0.0 # Apache-2.0
diff --git a/tox.ini b/tox.ini
index a4649bf..e51766f 100644
--- a/tox.ini
+++ b/tox.ini
@@ -27,20 +27,6 @@
 [testenv:venv]
 commands = {posargs}
 
-[testenv:cover]
-setenv =
-  {[testenv]setenv}
-  PYTHON=coverage run --source octavia_tempest_plugin --parallel-mode
-allowlist_externals =
-  find
-commands =
-  find octavia_tempest_plugin -type f -name "*.pyc" -delete
-  coverage erase
-  stestr run {posargs}
-  coverage combine
-  coverage html -d cover
-  coverage xml -o cover/coverage.xml
-
 [testenv:docs]
 deps =
     -c{env:TOX_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/master}
diff --git a/zuul.d/jobs.yaml b/zuul.d/jobs.yaml
index f3c9c8d..914d31f 100644
--- a/zuul.d/jobs.yaml
+++ b/zuul.d/jobs.yaml
@@ -506,11 +506,10 @@
               RBAC_test_type: advanced
 
 - job:
-    name: octavia-v2-dsvm-noop-py2-api
+    name: octavia-v2-dsvm-noop-api-stable-2025-2
     parent: octavia-v2-dsvm-noop-api
-    vars:
-      devstack_localrc:
-        USE_PYTHON3: False
+    nodeset: octavia-single-node-ubuntu-noble
+    override-checkout: stable/2025.2
 
 - job:
     name: octavia-v2-dsvm-noop-api-stable-2025-1
@@ -531,18 +530,6 @@
               RBAC_test_type: advanced
 
 - job:
-    name: octavia-v2-dsvm-noop-api-stable-2024-1
-    parent: octavia-v2-dsvm-noop-api
-    nodeset: octavia-single-node-ubuntu-jammy
-    override-checkout: stable/2024.1
-    vars:
-      devstack_local_conf:
-        test-config:
-          "$TEMPEST_CONFIG":
-            load_balancer:
-              RBAC_test_type: advanced
-
-- job:
     name: octavia-v2-dsvm-scenario-base
     parent: octavia-dsvm-live-base
     vars:
@@ -580,7 +567,7 @@
 - job:
     name: octavia-v2-dsvm-scenario
     parent: octavia-v2-dsvm-scenario-base
-    branches: ^(stable/(2024.1|2024.2))
+    branches: ^(unmaintained/|stable/(2024.1|2024.2))
     nodeset: octavia-single-node-ubuntu-jammy
 
 - job:
@@ -605,7 +592,7 @@
             api_settings:
               api_v1_enabled: False
       tempest_concurrency: 2
-      tempest_test_regex: ^octavia_tempest_plugin.tests.scenario.v2
+      tempest_test_regex: ^octavia_tempest_plugin.tests.scenario.v2.*traffic_ops
       tox_envlist: all
     irrelevant-files:
       - ^.*\.rst$
@@ -619,14 +606,22 @@
       - ^octavia_tempest_plugin/tests/spare_pool_scenario/.*  # TODO: remove
 
 - job:
-    name: octavia-v2-dsvm-py2-scenario
+    name: octavia-v2-dsvm-scenario-stable-2025-2
     parent: octavia-v2-dsvm-scenario
+    nodeset: octavia-single-node-ubuntu-noble
+    override-checkout: stable/2025.2
+
+- job:
+    name: octavia-v2-dsvm-scenario-traffic-ops-stable-2025-2
+    parent: octavia-v2-dsvm-scenario-stable-2025-2
     vars:
-      devstack_localrc:
-        USE_PYTHON3: False
-    required-projects:
-      - name: openstack/diskimage-builder
-        override-checkout: 2.30.0
+      tempest_test_regex: ^octavia_tempest_plugin.tests.scenario.v2.*traffic_ops
+
+- job:
+    name: octavia-v2-dsvm-scenario-non-traffic-ops-stable-2025-2
+    parent: octavia-v2-dsvm-scenario-stable-2025-2
+    vars:
+      tempest_test_regex: ^octavia_tempest_plugin.tests.scenario.v2.(?!.*traffic_ops)
 
 - job:
     name: octavia-v2-dsvm-scenario-stable-2025-1
@@ -646,7 +641,6 @@
     vars:
       tempest_test_regex: ^octavia_tempest_plugin.tests.scenario.v2.(?!.*traffic_ops)
 
-
 - job:
     name: octavia-v2-dsvm-scenario-stable-2024-2
     parent: octavia-v2-dsvm-scenario
@@ -671,30 +665,6 @@
     vars:
       tempest_test_regex: ^octavia_tempest_plugin.tests.scenario.v2.(?!.*traffic_ops)
 
-- job:
-    name: octavia-v2-dsvm-scenario-stable-2024-1
-    parent: octavia-v2-dsvm-scenario
-    nodeset: octavia-single-node-ubuntu-jammy
-    override-checkout: stable/2024.1
-    vars:
-      devstack_local_conf:
-        test-config:
-          "$TEMPEST_CONFIG":
-            load_balancer:
-              RBAC_test_type: advanced
-
-- job:
-    name: octavia-v2-dsvm-scenario-traffic-ops-stable-2024-1
-    parent: octavia-v2-dsvm-scenario-stable-2024-1
-    vars:
-      tempest_test_regex: ^octavia_tempest_plugin.tests.scenario.v2.*traffic_ops
-
-- job:
-    name: octavia-v2-dsvm-scenario-non-traffic-ops-stable-2024-1
-    parent: octavia-v2-dsvm-scenario-stable-2024-1
-    vars:
-      tempest_test_regex: ^octavia_tempest_plugin.tests.scenario.v2.(?!.*traffic_ops)
-
 # Legacy jobs for the transition to the act-stdby two node jobs
 - job:
     name: octavia-v2-dsvm-scenario-two-node
@@ -715,30 +685,22 @@
       - ^octavia_tempest_plugin/tests/spare_pool_scenario/.*  # TODO: remove
 
 - job:
-    name: octavia-v2-dsvm-py2-scenario-two-node
+    name: octavia-v2-dsvm-scenario-two-node-traffic-ops
     parent: octavia-v2-dsvm-scenario-two-node
-    host-vars:
-      controller:
-        devstack_localrc:
-          USE_PYTHON3: False
-          LIBVIRT_TYPE: kvm
-          LIBVIRT_CPU_MODE: host-passthrough
-      controller2:
-        devstack_localrc:
-          USE_PYTHON3: False
-          LIBVIRT_TYPE: kvm
-          LIBVIRT_CPU_MODE: host-passthrough
-    required-projects:
-      - name: openstack/diskimage-builder
-        override-checkout: 2.30.0
+    vars:
+      tempest_test_regex: "\
+          ^octavia_tempest_plugin.tests.scenario.v2.*traffic_ops.*\
+          (test_healthmonitor_|test_.*_ipv6_vip_ipv6_members)"
 
 - job:
-    name: octavia-v2-act-stdby-dsvm-scenario-two-node
-    parent: octavia-dsvm-live-two-node-base
+    name: octavia-v2-act-stdby-dsvm-scenario-two-node-traffic-ops
+    parent: octavia-v2-dsvm-scenario-two-node
     group-vars:
       controller:
         tempest_concurrency: 2
-        tempest_test_regex: ^octavia_tempest_plugin.tests.scenario.v2
+        tempest_test_regex: "\
+            ^octavia_tempest_plugin.tests.scenario.v2.*traffic_ops.*\
+            (test_healthmonitor_|test_.*_ipv6_vip_ipv6_members)"
         tox_envlist: all
         devstack_local_conf:
           post-config:
@@ -898,10 +860,16 @@
 - job:
     name: octavia-v2-dsvm-tls-barbican
     parent: octavia-v2-dsvm-tls-barbican-base
-    branches: ^(stable/(2024.1|2024.2))
+    branches: ^(unmaintained/|stable/(2024.1|2024.2))
     nodeset: octavia-single-node-ubuntu-jammy
 
 - job:
+    name: octavia-v2-dsvm-tls-barbican-stable-2025-2
+    parent: octavia-v2-dsvm-tls-barbican
+    nodeset: octavia-single-node-ubuntu-noble
+    override-checkout: stable/2025.2
+
+- job:
     name: octavia-v2-dsvm-tls-barbican-stable-2025-1
     parent: octavia-v2-dsvm-tls-barbican
     nodeset: octavia-single-node-ubuntu-noble
@@ -920,18 +888,6 @@
               RBAC_test_type: advanced
 
 - job:
-    name: octavia-v2-dsvm-tls-barbican-stable-2024-1
-    parent: octavia-v2-dsvm-tls-barbican
-    nodeset: octavia-single-node-ubuntu-jammy
-    override-checkout: stable/2024.1
-    vars:
-      devstack_local_conf:
-        test-config:
-          "$TEMPEST_CONFIG":
-            load_balancer:
-              RBAC_test_type: advanced
-
-- job:
     name: octavia-v2-dsvm-spare-pool
     parent: octavia-v2-dsvm-scenario
     vars:
@@ -947,16 +903,6 @@
               spare_pool_enabled: True
 
 - job:
-    name: octavia-v2-dsvm-py2-spare-pool
-    parent: octavia-v2-dsvm-spare-pool
-    vars:
-      devstack_localrc:
-        USE_PYTHON3: False
-    required-projects:
-      - name: openstack/diskimage-builder
-        override-checkout: 2.30.0
-
-- job:
     name: octavia-v2-dsvm-cinder-amphora
     parent: octavia-v2-dsvm-scenario
     required-projects:
@@ -973,6 +919,7 @@
           $OCTAVIA_CONF:
             controller_worker:
               volume_driver: volume_cinder_driver
+              loadbalancer_topology: ACTIVE_STANDBY
             cinder:
               volume_size: 2
       devstack_services:
@@ -992,16 +939,7 @@
         s-object: false
         s-proxy: false
         tempest: true
-
-# Temporary transitional aliases for gates used in other repos
-# Remove once octavia has transitioned job names
-- job:
-    name: octavia-v2-dsvm-noop-py35-api
-    parent: octavia-v2-dsvm-noop-api
-
-- job:
-    name: octavia-v2-dsvm-py35-scenario
-    parent: octavia-v2-dsvm-scenario
+      tempest_test_regex: ^octavia_tempest_plugin.tests.act_stdby_scenario.v2.test_active_standby\.
 
 - job:
     name: octavia-v2-act-stdby-iptables-dsvm-scenario
@@ -1031,16 +969,6 @@
 
 
 - job:
-    name: octavia-v2-act-stdby-iptables-dsvm-py2-scenario
-    parent: octavia-v2-act-stdby-iptables-dsvm-scenario
-    vars:
-      devstack_localrc:
-        USE_PYTHON3: False
-    required-projects:
-      - name: openstack/diskimage-builder
-        override-checkout: 2.30.0
-
-- job:
     name: octavia-v2-act-stdby-dsvm-scenario-base
     parent: octavia-dsvm-live-base
     vars:
@@ -1068,10 +996,16 @@
 - job:
     name: octavia-v2-act-stdby-dsvm-scenario
     parent: octavia-v2-act-stdby-dsvm-scenario-base
-    branches: ^(stable/(2024.1|2024.2))
+    branches: ^(unmaintained/|stable/(2024.1|2024.2))
     nodeset: octavia-single-node-ubuntu-jammy
 
 - job:
+    name: octavia-v2-act-stdby-dsvm-scenario-stable-2025-2
+    parent: octavia-v2-act-stdby-dsvm-scenario
+    nodeset: octavia-single-node-ubuntu-noble
+    override-checkout: stable/2025.2
+
+- job:
     name: octavia-v2-act-stdby-dsvm-scenario-stable-2025-1
     parent: octavia-v2-act-stdby-dsvm-scenario
     nodeset: octavia-single-node-ubuntu-noble
@@ -1089,18 +1023,6 @@
             load_balancer:
               RBAC_test_type: advanced
 
-- job:
-    name: octavia-v2-act-stdby-dsvm-scenario-stable-2024-1
-    parent: octavia-v2-act-stdby-dsvm-scenario
-    nodeset: octavia-single-node-ubuntu-jammy
-    override-checkout: stable/2024.1
-    vars:
-      devstack_local_conf:
-        test-config:
-          "$TEMPEST_CONFIG":
-            load_balancer:
-              RBAC_test_type: advanced
-
 # Temporary job, remove once it is no longer used in octavia gates
 - job:
     name: octavia-v2-dsvm-noop-api-keystone-default-roles
@@ -1121,6 +1043,29 @@
             load_balancer:
               RBAC_test_type: keystone_default_roles
 
+- job:
+    name: publish-openstack-octavia-tempest-plugin-test-server
+    parent: publish-openstack-artifacts
+    description: |
+      Publish octavia-test-plugin test_server.bin application to tarballs.o.o.
+    run: playbooks/test-server-build/run.yaml
+    post-run: playbooks/test-server-build/post.yaml
+    required-projects:
+      - openstack/octavia-tempest-plugin
+    vars:
+      test_server_arch: x86_64
+
+- job:
+    name: octavia-test-server-build
+    parent: base
+    description: |
+      Builds octavia-test-plugin test_server.bin application.
+    run: playbooks/test-server-build/run.yaml
+    required-projects:
+      - openstack/octavia-tempest-plugin
+    vars:
+      test_server_arch: x86_64
+
 ######### Third party jobs ##########
 
 - job:
diff --git a/zuul.d/projects.yaml b/zuul.d/projects.yaml
index 7f6c203..19b493f 100644
--- a/zuul.d/projects.yaml
+++ b/zuul.d/projects.yaml
@@ -9,22 +9,21 @@
     check:
       jobs:
         - octavia-v2-dsvm-noop-api
+        - octavia-v2-dsvm-noop-api-stable-2025-2
         - octavia-v2-dsvm-noop-api-stable-2025-1
         - octavia-v2-dsvm-noop-api-stable-2024-2
-        - octavia-v2-dsvm-noop-api-stable-2024-1
         - octavia-v2-dsvm-noop-api-advanced-rbac
         - octavia-v2-dsvm-scenario-traffic-ops
         - octavia-v2-dsvm-scenario-non-traffic-ops
+        - octavia-v2-dsvm-scenario-traffic-ops-stable-2025-2
+        - octavia-v2-dsvm-scenario-non-traffic-ops-stable-2025-2
         - octavia-v2-dsvm-scenario-traffic-ops-stable-2025-1
         - octavia-v2-dsvm-scenario-non-traffic-ops-stable-2025-1
         - octavia-v2-dsvm-scenario-traffic-ops-stable-2024-2
         - octavia-v2-dsvm-scenario-non-traffic-ops-stable-2024-2
-        - octavia-v2-dsvm-scenario-traffic-ops-stable-2024-1
-        - octavia-v2-dsvm-scenario-non-traffic-ops-stable-2024-1
         - octavia-v2-dsvm-tls-barbican
         - octavia-v2-dsvm-tls-barbican-stable-2025-1
         - octavia-v2-dsvm-tls-barbican-stable-2024-2
-        - octavia-v2-dsvm-tls-barbican-stable-2024-1
         - octavia-v2-dsvm-scenario-ipv6-only:
             voting: false
         - octavia-v2-dsvm-scenario-centos-10-stream-traffic-ops:
@@ -35,16 +34,16 @@
             voting: false
         - octavia-v2-dsvm-scenario-rockylinux-10-non-traffic-ops:
             voting: false
-        - octavia-v2-act-stdby-dsvm-scenario-two-node:
+        - octavia-v2-act-stdby-dsvm-scenario-two-node-traffic-ops:
             voting: false
         - octavia-v2-act-stdby-dsvm-scenario:
             voting: false
+        - octavia-v2-act-stdby-dsvm-scenario-stable-2025-2:
+            voting: false
         - octavia-v2-act-stdby-dsvm-scenario-stable-2025-1:
             voting: false
         - octavia-v2-act-stdby-dsvm-scenario-stable-2024-2:
             voting: false
-        - octavia-v2-act-stdby-dsvm-scenario-stable-2024-1:
-            voting: false
         - octavia-v2-dsvm-cinder-amphora:
             voting: false
         # Third party provider jobs
@@ -57,19 +56,22 @@
       fail-fast: true
       jobs:
         - octavia-v2-dsvm-noop-api
+        - octavia-v2-dsvm-noop-api-stable-2025-2
         - octavia-v2-dsvm-noop-api-stable-2025-1
         - octavia-v2-dsvm-noop-api-stable-2024-2
-        - octavia-v2-dsvm-noop-api-stable-2024-1
         - octavia-v2-dsvm-noop-api-advanced-rbac
         - octavia-v2-dsvm-scenario-traffic-ops
         - octavia-v2-dsvm-scenario-non-traffic-ops
+        - octavia-v2-dsvm-scenario-traffic-ops-stable-2025-2
+        - octavia-v2-dsvm-scenario-non-traffic-ops-stable-2025-2
         - octavia-v2-dsvm-scenario-traffic-ops-stable-2025-1
         - octavia-v2-dsvm-scenario-non-traffic-ops-stable-2025-1
         - octavia-v2-dsvm-scenario-traffic-ops-stable-2024-2
         - octavia-v2-dsvm-scenario-non-traffic-ops-stable-2024-2
-        - octavia-v2-dsvm-scenario-traffic-ops-stable-2024-1
-        - octavia-v2-dsvm-scenario-non-traffic-ops-stable-2024-1
         - octavia-v2-dsvm-tls-barbican
+        - octavia-v2-dsvm-tls-barbican-stable-2025-2
         - octavia-v2-dsvm-tls-barbican-stable-2025-1
         - octavia-v2-dsvm-tls-barbican-stable-2024-2
-        - octavia-v2-dsvm-tls-barbican-stable-2024-1
+    periodic:
+      jobs:
+        - publish-openstack-octavia-tempest-plugin-test-server