bifrost/zuul.d/bifrost-jobs.yaml
Steve Baker 51d988af54 Support PXE network boot with grub
It is now possible to do a PXE network boot with grub as an
alternative to iPXE. Grub is loaded via the signed shim, so it may
allow end-to-end automated deployments with secure-boot enabled.

To use grub network boot, deploy bifrost with variable
``default_boot_interface`` set to ``pxe``.

This feature is tested by job
bifrost-integration-redfish-uefi-fedora-latest.

test-bifrost.sh is also modified to only enable the hardware-type
driver which matches driver used for test nodes. This allows a default
interface to be set which is not supported by one of the enabled
drivers (for example, ironic will exit because the ilo driver doesn't
support the pxe boot interface)

Change-Id: I8ac33d0aa0f71b092d2c0538ac3a73491ff44921
2023-01-19 10:33:21 +13:00

222 lines
5.6 KiB
YAML

- job:
name: bifrost-base
parent: base
irrelevant-files:
- ^.*\.rst$
- ^api-ref/.*$
- ^bifrost/tests/.*$
- ^doc/.*$
- ^ironic/locale/.*$
- ^ironic/tests/.*$
- ^ironic_inspector/locale/.*$
- ^ironic_inspector/test/.*$
- ^releasenotes/.*$
- ^setup.cfg$
- ^test-requirements.txt$
- ^tools/.*$
- ^tox.ini$
pre-run: playbooks/ci/pre.yaml
run: playbooks/ci/run.yaml
post-run: playbooks/ci/post.yaml
required-projects:
- openstack/bifrost
- openstack/diskimage-builder
- openstack/ironic
- openstack/ironic-inspector
- openstack/ironic-python-agent
- openstack/ironic-python-agent-builder
- openstack/requirements
- job:
name: bifrost-integration
parent: bifrost-base
- job:
name: bifrost-integration-dhcp
parent: bifrost-integration
timeout: 7200
vars:
use_dhcp: true
noauth_mode: true
- job:
name: bifrost-integration-dhcp-ubuntu-jammy
parent: bifrost-integration-dhcp
nodeset: ubuntu-jammy
- job:
name: bifrost-integration-dhcp-centos-9
parent: bifrost-integration-dhcp
nodeset: centos-9-stream
- job:
name: bifrost-integration-dibipa-debian
parent: bifrost-integration
timeout: 7200
vars:
build_image: true
- job:
name: bifrost-integration-dibipa-debian-ubuntu-jammy
parent: bifrost-integration-dibipa-debian
nodeset: ubuntu-jammy
- job:
name: bifrost-integration-dibipa-debian-centos-9
parent: bifrost-integration-dibipa-debian
nodeset: centos-9-stream
- job:
name: bifrost-integration-tinyipa
parent: bifrost-base
timeout: 3600
vars:
noauth_mode: false
- job:
name: bifrost-integration-tinyipa-ubuntu-bionic
parent: bifrost-integration-tinyipa
nodeset: ubuntu-bionic
# NOTE(rpittau): used by openstack/ironic, openstack/ansible-collections-openstack,
# openstack/ironic-inspector, openstack/openstacksdk
- job:
name: bifrost-integration-tinyipa-ubuntu-focal
parent: bifrost-integration-tinyipa
nodeset: ubuntu-focal
# NOTE(rpittau): used by openstack/ansible-collections-openstack
- job:
name: bifrost-integration-tinyipa-keystone-ubuntu-focal
parent: bifrost-integration-tinyipa
nodeset: ubuntu-focal
- job:
name: bifrost-integration-tinyipa-ubuntu-jammy
parent: bifrost-integration-tinyipa
nodeset: ubuntu-jammy
# NOTE(rpittau): remove after antelope
- job:
name: bifrost-integration-tinyipa-keystone-ubuntu-focal
parent: bifrost-integration-tinyipa
nodeset: ubuntu-focal
required-projects:
- openstack/keystone
- openstack/ironic-prometheus-exporter
vars:
enable_keystone: true
enable_tls: true
test_driver: redfish
enable_prometheus_exporter: true
- job:
name: bifrost-integration-tinyipa-keystone-ubuntu-jammy
parent: bifrost-integration-tinyipa
nodeset: ubuntu-jammy
required-projects:
- openstack/keystone
- openstack/ironic-prometheus-exporter
vars:
enable_keystone: true
enable_tls: true
test_driver: redfish
enable_prometheus_exporter: true
- job:
name: bifrost-integration-redfish-vmedia-uefi-ubuntu-jammy
parent: bifrost-integration-tinyipa-ubuntu-jammy
vars:
enable_tls: true
test_driver: redfish
use_vmedia: true
- job:
name: bifrost-cli-ubuntu-jammy
parent: bifrost-integration-tinyipa-ubuntu-jammy
vars:
cli_test: true
- job:
name: bifrost-integration-redfish-vmedia-uefi-centos-9
parent: bifrost-integration-tinyipa-centos-9
vars:
test_driver: redfish
use_vmedia: true
- job:
name: bifrost-integration-tinyipa-centos-9
parent: bifrost-integration-tinyipa
nodeset: centos-9-stream
- job:
name: bifrost-integration-tinyipa-keystone-centos-9
parent: bifrost-integration-tinyipa-centos-9
required-projects:
- openstack/keystone
- openstack/ironic-prometheus-exporter
vars:
enable_keystone: true
enable_tls: true
test_driver: redfish
enable_prometheus_exporter: true
- job:
name: bifrost-integration-tinyipa-debian-bullseye
parent: bifrost-integration-tinyipa
nodeset: debian-bullseye
- job:
name: bifrost-integration-tinyipa-fedora-latest
parent: bifrost-integration-tinyipa
nodeset: fedora-latest
- job:
name: bifrost-integration-redfish-uefi-fedora-latest
parent: bifrost-integration-tinyipa-fedora-latest
vars:
enable_grub_network_boot: true
test_driver: redfish
- job:
name: bifrost-tox-linters
parent: openstack-tox-linters
required-projects:
- openstack/ansible-collections-openstack
- job:
name: bifrost-upgrade
parent: bifrost-base
run: playbooks/ci/upgrade.yaml
timeout: 9600
vars:
upgrade_from: stable/zed
skip_upgrade:
- openstack/diskimage-builder
# NOTE(rpittau): convert to jammy after antelope
- job:
name: bifrost-upgrade-ubuntu-focal
parent: bifrost-upgrade
nodeset: ubuntu-focal
- job:
name: bifrost-upgrade-keystone-centos9
parent: bifrost-upgrade
nodeset: centos-9-stream
required-projects:
- openstack/keystone
vars:
enable_keystone: true
noauth_mode: false
# NOTE(TheJulia): This job is for use on the ironic repository,
# to provide a minimal platform where we can execute a job where
# basic performance numbers will be referenced/collected.
# Notes are being kept on https://etherpad.opendev.org/p/ironic-performance
- job:
name: bifrost-benchmark-ironic
parent: bifrost-base
timeout: 7200
run: playbooks/ci/benchmark-ironic.yaml