Migrate tempest jobs to Ubuntu Noble (24.04)

As per 2025.1 cycle testing runtime and community goal[1] we
need to migrate upstream CI/CD to Ubuntu Noble(24.04). Most
of the Tempest jobs will be migrate automatically once
devstack base job start running on Noble(Depends-On). As we
need to run at least one job on Ubuntu Jammy(22.04), I am
adding a new job tempest-full-ubuntu-jammy.

Few job like tempest-full-multinode-py3 and plugin sanity
job needs to override the nodeset. multinode job needs to
run on Jammy till stable/2024.2 and on Noble from master
(2025.1) onwards. Stable branch jobs testing stable branch
needs to keep running on their supported distro version.

Also bump the autopep8 to 2.1.0 as older version does not
work on python 3.12 and fail with
error: "ModuleNotFoundError: No module named 'lib2to3'".
- https://github.com/hhatto/autopep8/issues/581
To resolve the deps of autopep8 2.1.0, I need to bump
the hacking to 7.0.0 (this gives flake8 7.1.1 and
pycodestyl>2.12 which is needed by autopep8 2.1.0)

Depends-On: https://review.opendev.org/c/openstack/devstack/+/931697
Depends-On: https://review.opendev.org/c/openstack/openstack-zuul-jobs/+/932155

[1] https://governance.openstack.org/tc/goals/selected/migrate-ci-jobs-to-ubuntu-noble.html

Change-Id: If4bf5e8f8c663933d70349aa8ddb45c28e8e558b
This commit is contained in:
Ghanshyam Mann 2024-10-10 21:04:00 -07:00 committed by Ghanshyam
parent 397f49c2ee
commit 040070add7
6 changed files with 56 additions and 11 deletions

@ -1,4 +1,4 @@
hacking>=6.1.0,<6.2.0
hacking>=7.0.0,<7.1.0
coverage!=4.4,>=4.0 # Apache-2.0
oslotest>=3.2.0 # Apache-2.0
flake8-import-order>=0.18.0,<0.19.0 # LGPLv3

@ -387,14 +387,14 @@ commands =
[testenv:pep8]
deps =
{[testenv]deps}
autopep8
autopep8>=2.1.0
commands =
autopep8 --exit-code --max-line-length=79 --experimental --diff -r tempest setup.py
flake8 {posargs}
check-uuid
[testenv:autopep8]
deps = autopep8
deps = autopep8>=2.1.0
commands =
{toxinidir}/tools/format.sh

@ -255,10 +255,10 @@
- job:
name: tempest-multinode-full-py3
parent: tempest-multinode-full-base
nodeset: openstack-two-node-jammy
# This job runs on ubuntu Jammy and after unmaintained/zed.
nodeset: openstack-two-node-noble
# This job runs on ubuntu Noble from 2025.1 onwards.
branches:
regex: ^.*/(victoria|wallaby|xena|yoga|zed)$
regex: ^.*/(victoria|wallaby|xena|yoga|zed|2023.1|2023.2|2024.1|2024.2)$
negate: true
vars:
# NOTE(gmann): Default concurrency is higher (number of cpu -2) which
@ -267,8 +267,6 @@
# oom issue, setting the concurrency to 4 in this job.
tempest_concurrency: 4
tempest_set_src_dest_host: true
devstack_localrc:
USE_PYTHON3: true
devstack_plugins:
neutron: https://opendev.org/openstack/neutron
devstack_services:
@ -277,8 +275,6 @@
br-int-flows: true
group-vars:
subnode:
devstack_localrc:
USE_PYTHON3: true
devstack_services:
br-ex-tcpdump: true
br-int-flows: true
@ -344,6 +340,27 @@
devstack_localrc:
ENABLE_VOLUME_MULTIATTACH: true
# TODO(gmann): As per the 2025.1 testing runtime, we need to run at least
# one job set on Jammy. These jammy job can be removed in the next
# cycle(2025.2).
- job:
name: tempest-full-ubuntu-jammy
description: This is tempest-full python3 job on Ubuntu Jammy(22.04)
parent: tempest-full-py3
nodeset: openstack-single-node-jammy
- job:
name: tempest-multinode-full-ubuntu-jammy
description: This is tempest-multinode-full-py3 python3 job on Ubuntu Jammy(22.04)
parent: tempest-multinode-full-py3
nodeset: openstack-two-node-jammy
- job:
name: tempest-extra-tests-ubuntu-jammy
description: This is tempest-extra-tests python3 job on Ubuntu Jammy(22.04)
parent: tempest-extra-tests
nodeset: openstack-single-node-jammy
- job:
name: tempest-cinder-v2-api
parent: devstack-tempest

@ -27,6 +27,14 @@
- ^.gitignore$
- ^.gitreview$
- ^.mailmap$
# NOTE(gmann): Running jobs on Jammy as per the additional testing
# for 2025.2 cycle and testing these in check pipeline only is enough.
- tempest-full-ubuntu-jammy:
irrelevant-files: *tempest-irrelevant-files
- tempest-multinode-full-ubuntu-jammy:
irrelevant-files: *tempest-irrelevant-files
- tempest-extra-tests-ubuntu-jammy:
irrelevant-files: *tempest-irrelevant-files
- tempest-extra-tests:
irrelevant-files: *tempest-irrelevant-files
- glance-multistore-cinder-import:

@ -87,6 +87,26 @@
# Enable horizon so that we can run horizon test.
horizon: true
- job:
name: tempest-multinode-full-py3
parent: tempest-multinode-full
nodeset: openstack-two-node-jammy
# This job runs on Jammy and supposed to run until 2024.2.
branches:
- ^.*/2023.1
- ^.*/2023.2
- ^.*/2024.1
- ^.*/2024.2
vars:
devstack_plugins:
neutron: https://opendev.org/openstack/neutron
devstack_services:
neutron-trunk: true
group-vars:
subnode:
devstack_localrc:
USE_PYTHON3: true
- job:
name: tempest-multinode-full-py3
parent: tempest-multinode-full

@ -76,7 +76,7 @@
parent: tox
description: |
Run tempest plugin sanity check script using tox.
nodeset: ubuntu-jammy
nodeset: ubuntu-noble
vars:
tox_envlist: plugin-sanity-check
timeout: 5000