Files
ironic/zuul.d/metal3-jobs.yaml

105 lines
4.3 KiB
YAML

---
- job:
name: metal3-base
abstract: true
description: Base job for metal3 based ironic jobs.
timeout: 5400
required-projects:
- opendev.org/openstack/ironic
irrelevant-files:
- ^.*\.rst$
- ^api-ref/.*$
- ^devstack/.*$
- ^doc/.*$
- ^ironic/tests/.*$
- ^\.pre-commit-config\.yaml$
- ^redfish-interop-profiles/.*$
- ^releasenotes/.*$
- ^setup.cfg$
- ^test-requirements.txt$
- ^tox.ini$
- job:
name: metal3-integration
description: Run metal3 CI on ironic.
parent: metal3-base
nodeset: ironic-single-node-noble
timeout: 7200
run: playbooks/metal3-ci/run.yaml
post-run: playbooks/metal3-ci/post.yaml
- job:
name: metal3-ironic-standalone-operator-functional
description: |
Ironic Standalone Operator (IrSO) functional tests.
These tests set up a Minikube cluster and create Ironic installations in
various configurations supported by IrSO. The operator itself is only
installed once, its logs are saved in the "controller" directory. Each
test gets its own logs directory based on its name. This directory
contains logs from all created pods, as well as dumps of various helpful
Kubernetes resources.
Details: https://docs.openstack.org/ironic/latest/contributor/metal3-integration.html
parent: metal3-base
nodeset: ubuntu-noble-16GB
pre-run: playbooks/irso-ci/pre.yaml
run: playbooks/irso-ci/run.yaml
post-run: playbooks/irso-ci/post.yaml
required-projects:
- name: github.com/metal3-io/ironic-image
# NOTE(dtantsur): to run this job on stable or bugfix branches, update
# the overridden checkout with the corresponding ironic-image branch
# once it's created and set ironic_custom_version as described below.
# Example: release-35.0
override-checkout: main
- name: github.com/metal3-io/ironic-standalone-operator
# NOTE(dtantsur): IrSO is compatible with the 3 latest Ironic releases.
# Update this pin once the IrSO branch is created (a few days or a week
# after an ironic-image release) to avoid issues down the road.
# Example: release-0.9
override-checkout: main
vars:
# NOTE(dtantsur): this version field tells IrSO which features to expect
# from Ironic and thus what to test. Update this field once the
# corresponding version of ironic-image is released and IrSO is updated
# to support it. Using old values may require pinning IrSO branch.
# Example: 35.0
ironic_custom_version: latest
- job:
name: metal3-baremetal-operator-functional
description: |
BareMetal Operator (BMO) functional tests.
These tests set up a Kind cluster with virtual bare metal hosts using
libvirt, deploy Ironic and BMO, and run the BMO e2e test suite.
The ironic-image container is built from Zuul's checkout of Ironic.
Details: https://docs.openstack.org/ironic/latest/contributor/metal3-integration.html
parent: metal3-base
nodeset: ubuntu-noble-16GB
pre-run: playbooks/bmo-ci/pre.yaml
run: playbooks/bmo-ci/run.yaml
post-run: playbooks/bmo-ci/post.yaml
required-projects:
- name: github.com/metal3-io/ironic-image
# NOTE(dtantsur): to run this job on stable or bugfix branches, update
# the overridden checkout with the corresponding ironic-image branch
# once it's created and set ironic_custom_version as described above.
# Example: release-35.0
override-checkout: main
- name: github.com/metal3-io/baremetal-operator
# NOTE(dtantsur): BMO is normally compatible with a wide range of
# Ironic versions, but the tests may assume newer functionality.
# Additionally, BMO's CI scripts bundle a specific version of IrSO, and
# that version may become incompatible with older versions of Ironic.
# It's recommended to pin this checkout eventually on older branches.
# Example: release-0.12
override-checkout: main
vars:
# NOTE(dtantsur): this version field tells IrSO which features to expect
# from Ironic and thus what to test. See the IrSO job definition for
# information on how and when to update it.
ironic_custom_version: latest