Files
cyborg/.zuul.yaml
T
Chandan Kumar (raukadah) c523612230 pci-sim: Add CentOS Stream 10 support
CentOS Stream 10 ships kernel 6.12 but backports IOMMU and VFIO
API changes from upstream 6.15+. The existing compat header gates
on LINUX_VERSION_CODE alone, which selects the wrong (old) API on
CentOS because the kernel reports 6.12 while the actual signatures
are 6.15-style. This prevents the module from compiling on
RHEL-family kernels.

The compat header now defines a single PCI_SIM_HAS_615_API
predicate that checks LINUX_VERSION_CODE >= 6.15 or
RHEL_RELEASE_CODE >= RHEL_RELEASE_VERSION(10, 3), and all five
feature macros alias it. Adding future distro gates is a one-line
edit.

The QEMU test scripts hardcoded qemu-system-x86_64, which does
not exist on CentOS/RHEL where the binary is
/usr/libexec/qemu-kvm. All five QEMU-related scripts now
auto-detect the binary via a QEMU_BIN environment variable with
PATH-based fallback.

The DevStack build_pci_sim() function used raw apt-get calls.
It now uses devstack's is_ubuntu/is_fedora helpers with
install_package for distro-aware package selection.

Build and test documentation is updated with CentOS/Fedora
install commands and CentOS Stream 10 as a compatibility target.

A cyborg-tempest-centos-10-stream Zuul CI job is added
to the weekly-periodic and experimental pipeline to
validate pci-sim on CentOS Stream 10.

Assisted-By: Claude Code (claude-opus-4-6)
Change-Id: I7ecae754465510be9efc55667bb5ed1d5f9a5f68
Signed-off-by: Chandan Kumar (raukadah) <chkumar@redhat.com>
2026-07-09 12:33:32 +01:00

141 lines
3.9 KiB
YAML

- job:
name: cyborg-tempest-base
abstract: true
description: |
base job of all cyborg tempest jobs
parent: devstack-tempest
timeout: 7800
nodeset: devstack-single-node-debian-trixie
required-projects: &base_required_projects
- openstack/cyborg
- openstack/python-cyborgclient
- openstack/cyborg-tempest-plugin
- openstack/tempest
vars: &cyborg_base_vars
devstack_plugins: &cyborg_devstack_plugins
cyborg: https://opendev.org/openstack/cyborg
devstack_services: &cyborg_devstack_services
tempest: true
s-account: false
s-container: false
s-object: false
s-proxy: false
c-api: false
c-bak: false
c-sch: false
c-vol: false
cinder: false
devstack_localrc:
ENABLE_PCI_SIM: true
tempest_plugins:
- cyborg-tempest-plugin
tempest_test_regex: cyborg_tempest_plugin
tox_envlist: all
irrelevant-files: &base_irrelevant_files
- ^.*\.rst$
- ^api-ref/.*$
- ^doc/.*$
- ^setup.cfg$
- ^releasenotes/.*$
- ^(test-|)requirements.txt$
- ^.git.*$
- ^tox.ini$
- ^cyborg/tests/.*$
- job:
name: cyborg-grenade
description: |
Grenade job that performs upgrade from previous release(N-1) to
current release(N).
parent: grenade
required-projects: *base_required_projects
vars: &cyborg_grenade_vars
<<: *cyborg_base_vars
devstack_localrc:
ENABLE_PCI_SIM: false
irrelevant-files: *base_irrelevant_files
- job:
name: cyborg-grenade-skip-level-always
description: |
Grenade job that skips the previous release, validating that projects
can support upgrades from N-2 to N release. It will always upgrade
to the current branch. For example: If N-2 is 2025.1 release then N
would be 2026.1.
parent: grenade-skip-level-always
required-projects: *base_required_projects
vars: *cyborg_grenade_vars
irrelevant-files: *base_irrelevant_files
- job:
name: cyborg-multinode-tempest
abstract: true
parent: cyborg-tempest-base
nodeset: devstack-two-node-debian-trixie
description: |
Abstract multinode Cyborg devstack tempest job
group-vars:
subnode:
devstack_plugins: *cyborg_devstack_plugins
devstack_services:
<<: *cyborg_devstack_services
cyborg-api: false
cyborg-cond: false
tempest: false
devstack_localrc:
PCI_SIM_CREATE_TEST_FLAVORS: false
ENABLE_PCI_SIM: true
- job:
name: cyborg-tempest-py3
description: |
Cyborg devstack tempest tests job for >=Ussuri release
run on python 3.
parent: cyborg-multinode-tempest
- job:
name: cyborg-tempest-centos-10-stream
parent: cyborg-tempest-base
nodeset: devstack-single-node-centos-10-stream
description: |
Cyborg devstack tempest tests job to test pci-sim on
CentOS Stream 10.
- job:
name: cyborg-tempest-ipv6
parent: devstack-tempest-ipv6
nodeset: devstack-single-node-debian-trixie
description: |
Cyborg devstack tempest tests job for IPv6-only deployment
voting: true
timeout: 7800
required-projects: *base_required_projects
vars: *cyborg_base_vars
irrelevant-files: *base_irrelevant_files
- project:
templates:
- openstack-cover-jobs
- check-requirements
- release-notes-jobs-python3
- publish-openstack-docs-pti
- openstack-python3-jobs
check:
jobs:
- cyborg-tempest-py3
- cyborg-tempest-ipv6
- cyborg-grenade
- cyborg-grenade-skip-level-always
gate:
jobs:
- cyborg-tempest-py3
- cyborg-tempest-ipv6
- cyborg-grenade
- cyborg-grenade-skip-level-always
experimental:
jobs:
- cyborg-tempest-centos-10-stream
periodic-weekly:
jobs:
- cyborg-tempest-centos-10-stream