From 788d66b086989259ae9f1346a778e42bf0bda90d Mon Sep 17 00:00:00 2001 From: Steve Baker Date: Mon, 20 Sep 2021 09:46:23 +1200 Subject: [PATCH] Add parameter IronicDefaultBootMode The change to hard-code the default boot mode to ``uefi`` was reverted since the test environment (OVB on vexxhost) doesn't yet support UEFI boot. This change adds the IronicDefaultBootMode parameter so the default boot mode can be set appropriately for each environment. Blueprint: whole-disk-default Change-Id: I10348eb1aaf6a594ae06bcc855dfdd8c6c00bfe9 (cherry picked from commit 978f29d8c9fae06a82e1cbaf0f2c096cafa083f2) --- .../ironic/ironic-conductor-container-puppet.yaml | 10 ++++++++-- .../notes/ironic-boot-mode-07df530490bead50.yaml | 6 ++++++ 2 files changed, 14 insertions(+), 2 deletions(-) create mode 100644 releasenotes/notes/ironic-boot-mode-07df530490bead50.yaml diff --git a/deployment/ironic/ironic-conductor-container-puppet.yaml b/deployment/ironic/ironic-conductor-container-puppet.yaml index 96cd3dacdd..2bc33d53aa 100644 --- a/deployment/ironic/ironic-conductor-container-puppet.yaml +++ b/deployment/ironic/ironic-conductor-container-puppet.yaml @@ -79,6 +79,12 @@ parameters: images). Set to 'netboot' to make the instances boot from controllers using PXE/iPXE. type: string + IronicDefaultBootMode: + default: 'bios' + description: Default boot mode to use when no boot mode is explicitly + requested in node's driver_info, capabilities or in the + "instance_info" configuration. One of 'bios' or 'uefi'. + type: string IronicDefaultDeployInterface: default: '' description: Deploy interface implementation to use by default. Leave empty to @@ -345,6 +351,8 @@ outputs: ironic::drivers::ipmi::min_command_interval: 15 - ironic::conductor::cleaning_disk_erase: {get_param: IronicCleaningDiskErase} ironic::conductor::default_boot_option: {get_param: IronicDefaultBootOption} + ironic::conductor::default_boot_mode: {get_param: IronicDefaultBootMode} + ironic::drivers::ilo::default_boot_mode: {get_param: IronicDefaultBootMode} ironic::conductor::automated_clean: {get_param: IronicAutomatedClean} ironic::conductor::enabled_hardware_types: {get_param: IronicEnabledHardwareTypes} ironic::conductor::force_power_state_during_sync: {get_param: IronicForcePowerStateDuringSync} @@ -392,8 +400,6 @@ outputs: - 'always' - 'on_failure' ironic::drivers::agent::image_download_source: {get_param: IronicImageDownloadSource} - # NOTE(emilien): ILO defaulting to UEFI does not match other drivers so bios is used. - ironic::drivers::ilo::default_boot_mode: 'bios' ironic::drivers::interfaces::enabled_bios_interfaces: {get_param: IronicEnabledBiosInterfaces} ironic::drivers::interfaces::enabled_boot_interfaces: {get_param: IronicEnabledBootInterfaces} ironic::drivers::interfaces::enabled_console_interfaces: {get_param: IronicEnabledConsoleInterfaces} diff --git a/releasenotes/notes/ironic-boot-mode-07df530490bead50.yaml b/releasenotes/notes/ironic-boot-mode-07df530490bead50.yaml new file mode 100644 index 0000000000..ee6529876d --- /dev/null +++ b/releasenotes/notes/ironic-boot-mode-07df530490bead50.yaml @@ -0,0 +1,6 @@ +--- +features: + - | + New configuration ``IronicDefaultBootMode`` allows to change the default + boot mode to use for bare metal instances. The default for now remains + ``bios`` for legacy BIOS boot but may switch to ``uefi`` in the future. \ No newline at end of file