Files
cyborg/.zuul.yaml
jgilaber 2875d3c12d Extract shared Zuul config into abstract base job
Create an abstract cyborg-tempest-stub job that holds the
shared devstack configuration, required projects, irrelevant
file patterns, and YAML anchors used by both tempest and
grenade jobs. This removes the coupling where tempest jobs
referenced grenade-specific anchors and eliminates the
separate tempest_required_projects list by unifying it with
the base required projects.

Generated-By: claude-code (Claude Opus 4.6)
Change-Id: If3a67da3d6a324d1ed3840b89572b545c86beda0
Signed-off-by: jgilaber <jgilaber@redhat.com>
2026-05-29 12:45:12 +02:00

128 lines
3.6 KiB
YAML

- job:
name: cyborg-tempest-stub
abstract: true
description: |
Abstract base job for Cyborg CI. Defines shared devstack
configuration, irrelevant file patterns, and required projects
used by both tempest and grenade jobs.
required-projects: &base_required_projects
- openstack/cyborg
- openstack/python-cyborgclient
- openstack/cyborg-tempest-plugin
vars: &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
tempest_plugins:
- cyborg-tempest-plugin
tempest_test_regex: cyborg_tempest_plugin
tox_envlist: all
irrelevant-files: &base_irrelevant_files
- ^.*\.rst$
- ^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: *base_vars
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: *base_vars
irrelevant-files: *base_irrelevant_files
- job:
name: cyborg-multinode-tempest
parent: devstack-tempest
nodeset: openstack-two-node-noble
description: |
Cyborg multinode devstack tempest job
required-projects: *base_required_projects
irrelevant-files: *base_irrelevant_files
vars:
devstack_plugins: *cyborg_devstack_plugins
devstack_services:
<<: *cyborg_devstack_services
cyborg-agent: false
tempest_plugins:
- cyborg-tempest-plugin
tempest_test_regex: cyborg_tempest_plugin
tox_envlist: all
group-vars:
subnode:
devstack_plugins: *cyborg_devstack_plugins
devstack_services:
<<: *cyborg_devstack_services
cyborg-api: false
cyborg-cond: false
tempest: false
- job:
name: cyborg-tempest-py3
description: |
Cyborg devstack tempest tests job for >=Ussuri release
run on python 3.
parent: devstack-tempest
timeout: 7800
required-projects: *base_required_projects
vars: *base_vars
irrelevant-files: *base_irrelevant_files
- job:
name: cyborg-tempest-ipv6
parent: devstack-tempest-ipv6
description: |
Cyborg devstack tempest tests job for IPv6-only deployment
voting: true
timeout: 7800
required-projects: *base_required_projects
vars: *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-grenade
- cyborg-grenade-skip-level-always