Switch cross tests to python3.12

It makes sense to run the cross tests with the latest available python
version, which is python 3.12 for this cycle.

Also make the reqs checks for py3.12 voting and add an experimental
requirements-tox-py312-check-uc-no-wheels job.

Change-Id: I4f4abb7a71beff8c107bf8b4204c428928f15ab9
This commit is contained in:
Dr. Jens Harbott 2024-11-05 10:36:44 +01:00
parent 6d83855686
commit 1b9d738d89
3 changed files with 113 additions and 102 deletions

View File

@ -13,7 +13,7 @@
.. zuul:jobvar:: tox_envlist .. zuul:jobvar:: tox_envlist
Use the specified tox environments (``ALL`` selects all). Use the specified tox environments (``ALL`` selects all).
nodeset: debian-bookworm nodeset: ubuntu-noble
vars: vars:
zuul_work_dir: "{{ (zuul.projects.values() | selectattr('required') | selectattr('name', 'match', '^(?!openstack/requirements)') | list)[0].src_dir }}" zuul_work_dir: "{{ (zuul.projects.values() | selectattr('required') | selectattr('name', 'match', '^(?!openstack/requirements)') | list)[0].src_dir }}"
tox_constraints_file: "{{ ansible_user_dir }}/{{ zuul.projects['opendev.org/openstack/requirements'].src_dir }}/upper-constraints.txt" tox_constraints_file: "{{ ansible_user_dir }}/{{ zuul.projects['opendev.org/openstack/requirements'].src_dir }}/upper-constraints.txt"
@ -22,68 +22,68 @@
- .zuul.d/cross-jobs.yaml - .zuul.d/cross-jobs.yaml
- job: - job:
name: cross-aodh-py311 name: cross-aodh-py312
parent: requirements-cross-test parent: requirements-cross-test
description: Run cross-project tests on aodh with py311. description: Run cross-project tests on aodh with py312.
required-projects: openstack/aodh required-projects: openstack/aodh
vars: vars:
tox_envlist: py311 tox_envlist: py312
- job: - job:
name: cross-barbican-py311 name: cross-barbican-py312
parent: requirements-cross-test parent: requirements-cross-test
description: Run cross-project tests on barbican with py311. description: Run cross-project tests on barbican with py312.
required-projects: openstack/barbican required-projects: openstack/barbican
vars: vars:
tox_envlist: py311 tox_envlist: py312
- job: - job:
name: cross-ceilometer-py311 name: cross-ceilometer-py312
parent: requirements-cross-test parent: requirements-cross-test
description: Run cross-project tests on ceilometer with py311. description: Run cross-project tests on ceilometer with py312.
required-projects: openstack/ceilometer required-projects: openstack/ceilometer
vars: vars:
tox_envlist: py311 tox_envlist: py312
- job: - job:
name: cross-cinder-py311 name: cross-cinder-py312
parent: requirements-cross-test parent: requirements-cross-test
description: Run cross-project tests on cinder with py311. description: Run cross-project tests on cinder with py312.
required-projects: openstack/cinder required-projects: openstack/cinder
vars: vars:
tox_envlist: py311 tox_envlist: py312
- job: - job:
name: cross-designate-py311 name: cross-designate-py312
parent: requirements-cross-test parent: requirements-cross-test
description: Run cross-project tests on designate with py311. description: Run cross-project tests on designate with py312.
required-projects: openstack/designate required-projects: openstack/designate
vars: vars:
tox_envlist: py311 tox_envlist: py312
- job: - job:
name: cross-glance-py311 name: cross-glance-py312
parent: requirements-cross-test parent: requirements-cross-test
description: Run cross-project tests on glance with py311. description: Run cross-project tests on glance with py312.
required-projects: openstack/glance required-projects: openstack/glance
vars: vars:
tox_envlist: py311 tox_envlist: py312
- job: - job:
name: cross-heat-py311 name: cross-heat-py312
parent: requirements-cross-test parent: requirements-cross-test
description: Run cross-project tests on heat with py311. description: Run cross-project tests on heat with py312.
required-projects: openstack/heat required-projects: openstack/heat
vars: vars:
tox_envlist: py311 tox_envlist: py312
- job: - job:
name: cross-horizon-py311 name: cross-horizon-py312
parent: requirements-cross-test parent: requirements-cross-test
description: Run cross-project tests on horizon with py311. description: Run cross-project tests on horizon with py312.
required-projects: openstack/horizon required-projects: openstack/horizon
vars: vars:
tox_envlist: py311 tox_envlist: py312
- job: - job:
name: cross-horizon-npm name: cross-horizon-npm
@ -101,70 +101,70 @@
- .zuul.d/cross-jobs.yaml - .zuul.d/cross-jobs.yaml
- job: - job:
name: cross-keystone-py311 name: cross-keystone-py312
parent: requirements-cross-test parent: requirements-cross-test
description: Run cross-project tests on keystone with py311. description: Run cross-project tests on keystone with py312.
required-projects: openstack/keystone required-projects: openstack/keystone
timeout: 3600 timeout: 3600
vars: vars:
tox_envlist: py311 tox_envlist: py312
- job: - job:
name: cross-kuryr-py311 name: cross-kuryr-py312
parent: requirements-cross-test parent: requirements-cross-test
description: Run cross-project tests on kuryr-kubernetes with py311. description: Run cross-project tests on kuryr-kubernetes with py312.
required-projects: openstack/kuryr-kubernetes required-projects: openstack/kuryr-kubernetes
vars: vars:
tox_envlist: py311 tox_envlist: py312
- job: - job:
name: cross-ironic-py311 name: cross-ironic-py312
parent: requirements-cross-test parent: requirements-cross-test
description: Run cross-project tests on ironic with py311. description: Run cross-project tests on ironic with py312.
required-projects: openstack/ironic required-projects: openstack/ironic
vars: vars:
tox_envlist: py311 tox_envlist: py312
- job: - job:
name: cross-magnum-py311 name: cross-magnum-py312
parent: requirements-cross-test parent: requirements-cross-test
description: Run cross-project tests on magnum with py311. description: Run cross-project tests on magnum with py312.
required-projects: openstack/magnum required-projects: openstack/magnum
vars: vars:
tox_envlist: py311 tox_envlist: py312
- job: - job:
name: cross-manila-py311 name: cross-manila-py312
parent: requirements-cross-test parent: requirements-cross-test
description: Run cross-project tests on manila with py311. description: Run cross-project tests on manila with py312.
required-projects: openstack/manila required-projects: openstack/manila
vars: vars:
tox_envlist: py311 tox_envlist: py312
- job: - job:
name: cross-masakari-py311 name: cross-masakari-py312
parent: requirements-cross-test parent: requirements-cross-test
description: Run cross-project tests on masakari with py311. description: Run cross-project tests on masakari with py312.
required-projects: openstack/masakari required-projects: openstack/masakari
vars: vars:
tox_envlist: py311 tox_envlist: py312
- job: - job:
name: cross-mistral-py311 name: cross-mistral-py312
parent: requirements-cross-test parent: requirements-cross-test
description: Run cross-project tests on mistral with py311. description: Run cross-project tests on mistral with py312.
required-projects: openstack/mistral required-projects: openstack/mistral
vars: vars:
tox_envlist: py311 tox_envlist: py312
- job: - job:
name: cross-neutron-py311 name: cross-neutron-py312
parent: requirements-cross-test parent: requirements-cross-test
description: Run cross-project tests on neutron with py311. description: Run cross-project tests on neutron with py312.
required-projects: openstack/neutron required-projects: openstack/neutron
timeout: 3600 timeout: 3600
vars: vars:
tox_envlist: py311 tox_envlist: py312
- job: - job:
name: cross-nova-functional name: cross-nova-functional
@ -175,12 +175,12 @@
tox_envlist: functional tox_envlist: functional
- job: - job:
name: cross-placement-functional-py311 name: cross-placement-functional-py312
parent: requirements-cross-test parent: requirements-cross-test
description: Run cross-project functional tests on placement with py311. description: Run cross-project functional tests on placement with py312.
required-projects: openstack/placement required-projects: openstack/placement
vars: vars:
tox_envlist: functional-py311 tox_envlist: functional-py312
- job: - job:
name: cross-nova-pep8 name: cross-nova-pep8
@ -191,20 +191,20 @@
tox_envlist: pep8 tox_envlist: pep8
- job: - job:
name: cross-nova-py311 name: cross-nova-py312
parent: requirements-cross-test parent: requirements-cross-test
description: Run cross-project tests on nova with py311. description: Run cross-project tests on nova with py312.
required-projects: openstack/nova required-projects: openstack/nova
vars: vars:
tox_envlist: py311 tox_envlist: py312
- job: - job:
name: cross-placement-py311 name: cross-placement-py312
parent: requirements-cross-test parent: requirements-cross-test
description: Run cross-project tests on placement with py311. description: Run cross-project tests on placement with py312.
required-projects: openstack/placement required-projects: openstack/placement
vars: vars:
tox_envlist: py311 tox_envlist: py312
- job: - job:
name: cross-osvif-py3 name: cross-osvif-py3
@ -215,20 +215,20 @@
tox_envlist: py3 tox_envlist: py3
- job: - job:
name: cross-octavia-py311 name: cross-octavia-py312
parent: requirements-cross-test parent: requirements-cross-test
description: Run cross-project tests on octavia with py311. description: Run cross-project tests on octavia with py312.
required-projects: openstack/octavia required-projects: openstack/octavia
vars: vars:
tox_envlist: py311 tox_envlist: py312
- job: - job:
name: cross-swift-py311 name: cross-swift-py312
parent: requirements-cross-test parent: requirements-cross-test
description: Run cross-project tests on swift with py311. description: Run cross-project tests on swift with py312.
required-projects: openstack/swift required-projects: openstack/swift
vars: vars:
tox_envlist: py311 tox_envlist: py312
- job: - job:
name: cross-osc-tox-docs name: cross-osc-tox-docs

View File

@ -83,6 +83,16 @@
Does not use wheel mirror. Does not use wheel mirror.
pre-run: playbooks/drop-wheel-mirror.yaml pre-run: playbooks/drop-wheel-mirror.yaml
- job:
name: requirements-tox-py312-check-uc-no-wheels
parent: requirements-tox-py312-check-uc
description: |
Run test for requirements project.
Uses tox with the ``py312-check-uc`` environment.
Does not use wheel mirror.
pre-run: playbooks/drop-wheel-mirror.yaml
- job: - job:
name: requirements-tox-validate-projects name: requirements-tox-validate-projects
parent: openstack-tox parent: openstack-tox

View File

@ -19,38 +19,37 @@
- requirements-tox-py39-check-uc - requirements-tox-py39-check-uc
- requirements-tox-py310-check-uc - requirements-tox-py310-check-uc
- requirements-tox-py311-check-uc - requirements-tox-py311-check-uc
- requirements-tox-py312-check-uc: - requirements-tox-py312-check-uc
voting: false
- requirements-tox-validate-projects: - requirements-tox-validate-projects:
voting: false voting: false
- cross-aodh-py311 - cross-aodh-py312
- cross-barbican-py311 - cross-barbican-py312
- cross-ceilometer-py311 - cross-ceilometer-py312
- cross-cinder-py311 - cross-cinder-py312
- cross-designate-py311 - cross-designate-py312
- cross-glance-py311 - cross-glance-py312
- cross-heat-py311 - cross-heat-py312
- cross-horizon-py311 - cross-horizon-py312
- cross-horizon-npm - cross-horizon-npm
- cross-ironic-py311 - cross-ironic-py312
- cross-keystone-py311 - cross-keystone-py312
- cross-kuryr-py311 - cross-kuryr-py312
- cross-manila-py311 - cross-manila-py312
- cross-magnum-py311 - cross-magnum-py312
- cross-masakari-py311: - cross-masakari-py312:
voting: false voting: false
- cross-mistral-py311: - cross-mistral-py312:
voting: false voting: false
- cross-neutron-py311 - cross-neutron-py312
- cross-nova-pep8 - cross-nova-pep8
- cross-nova-py311 - cross-nova-py312
- cross-placement-py311 - cross-placement-py312
- cross-osvif-py3 - cross-osvif-py3
- cross-nova-functional - cross-nova-functional
- cross-placement-functional-py311 - cross-placement-functional-py312
- cross-octavia-py311 - cross-octavia-py312
- cross-osc-tox-docs - cross-osc-tox-docs
- cross-swift-py311 - cross-swift-py312
- openstacksdk-functional-devstack - openstacksdk-functional-devstack
- tempest-full-py3: - tempest-full-py3:
irrelevant-files: irrelevant-files:
@ -84,28 +83,29 @@
- requirements-tox-py39-check-uc - requirements-tox-py39-check-uc
- requirements-tox-py310-check-uc - requirements-tox-py310-check-uc
- requirements-tox-py311-check-uc - requirements-tox-py311-check-uc
- cross-cinder-py311 - requirements-tox-py312-check-uc
- cross-designate-py311 - cross-cinder-py312
- cross-glance-py311 - cross-designate-py312
- cross-heat-py311 - cross-glance-py312
- cross-horizon-py311 - cross-heat-py312
- cross-horizon-py312
- cross-horizon-npm - cross-horizon-npm
- cross-ironic-py311 - cross-ironic-py312
- cross-keystone-py311 - cross-keystone-py312
- cross-kuryr-py311 - cross-kuryr-py312
- cross-manila-py311 - cross-manila-py312
- cross-neutron-py311 - cross-neutron-py312
- cross-nova-pep8 - cross-nova-pep8
- cross-nova-py311: - cross-nova-py312:
files: ^upper-constraints.txt$ files: ^upper-constraints.txt$
- cross-placement-py311: - cross-placement-py312:
files: ^upper-constraints.txt$ files: ^upper-constraints.txt$
- cross-osvif-py3 - cross-osvif-py3
- cross-nova-functional - cross-nova-functional
- cross-placement-functional-py311 - cross-placement-functional-py312
- cross-octavia-py311 - cross-octavia-py312
- cross-osc-tox-docs - cross-osc-tox-docs
- cross-swift-py311 - cross-swift-py312
- openstacksdk-functional-devstack - openstacksdk-functional-devstack
- tempest-full-py3: - tempest-full-py3:
irrelevant-files: irrelevant-files:
@ -119,6 +119,7 @@
- requirements-tox-py39-check-uc-no-wheels - requirements-tox-py39-check-uc-no-wheels
- requirements-tox-py310-check-uc-no-wheels - requirements-tox-py310-check-uc-no-wheels
- requirements-tox-py311-check-uc-no-wheels - requirements-tox-py311-check-uc-no-wheels
- requirements-tox-py312-check-uc-no-wheels
- tempest-integrated-storage - tempest-integrated-storage
- tempest-pg-full: - tempest-pg-full:
irrelevant-files: irrelevant-files: