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