bifrost/playbooks/ci/run.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

26 lines
1.4 KiB
YAML

- hosts: all
tasks:
- shell:
cmd: |
set -eo pipefail
./scripts/test-bifrost.sh 2>&1 | tee "{{ ansible_user_dir }}/bifrost.log"
chdir: "{{ ansible_user_dir }}/{{ zuul.projects['opendev.org/openstack/bifrost'].src_dir }}"
executable: /bin/bash
environment:
BIFROST_TRACE: "true"
BUILD_IMAGE: "{{ build_image | default(false) | bool | lower }}"
CLI_TEST: "{{ cli_test | default(false) | bool | lower }}"
ENABLE_KEYSTONE: "{{ enable_keystone | default(false) | bool | lower }}"
LOG_LOCATION: "{{ ansible_user_dir }}/logs"
UPPER_CONSTRAINTS_FILE: "{{ ansible_user_dir }}/{{ zuul.projects['opendev.org/openstack/requirements'].src_dir }}/upper-constraints.txt"
WORKSPACE: "{{ ansible_user_dir }}/src/opendev.org"
USE_DHCP: "{{ use_dhcp | default(false) | bool | lower }}"
ZUUL_BRANCH: "{{ zuul.branch }}"
BOOT_MODE: "{{ boot_mode | default('') }}"
ENABLE_GRUB_NETWORK_BOOT: "{{ enable_grub_network_boot | default(false) | bool | lower }}"
TEST_VM_NODE_DRIVER: "{{ test_driver | default('ipmi') }}"
NOAUTH_MODE: "{{ noauth_mode | default(false) | bool | lower }}"
ENABLE_TLS: "{{ enable_tls | default(false) | bool | lower }}"
ENABLE_PROMETHEUS_EXPORTER: "{{ enable_prometheus_exporter | default(false) | bool | lower }}"
USE_VMEDIA: "{{ use_vmedia | default(false) | bool | lower }}"