From 556d979930bdb24c3ee46413f7b77584017b9206 Mon Sep 17 00:00:00 2001 From: Mark Goddard Date: Thu, 10 Feb 2022 11:46:46 +0000 Subject: [PATCH] ironic: sync default inspection UEFI iPXE bootloader with Ironic The bootloader used to boot Ironic nodes in UEFI boot mode during inspection when iPXE is enabled has been changed from ipxe.efi to snponly.efi. This is in line with the default UEFI iPXE bootloader used in Ironic since the Xena release. The bootloader may be changed via ironic_dnsmasq_uefi_ipxe_boot_file. Note that snponly.efi was not available via in the ironic-pxe image prior to I79e78dca550262fc86b092a036f9ea96b214ab48. Related-Bug: #1959203 Change-Id: I879db340769cc1b076e77313dff15876e27fcac4 --- ansible/roles/ironic/defaults/main.yml | 1 + ansible/roles/ironic/templates/ironic-dnsmasq.conf.j2 | 2 +- ...nic-dnsmasq-uefi-ipxe-bootloader-a1b0eef3257ee55a.yaml | 8 ++++++++ 3 files changed, 10 insertions(+), 1 deletion(-) create mode 100644 releasenotes/notes/ironic-dnsmasq-uefi-ipxe-bootloader-a1b0eef3257ee55a.yaml diff --git a/ansible/roles/ironic/defaults/main.yml b/ansible/roles/ironic/defaults/main.yml index 30f7b03c9b..a22c9bb759 100644 --- a/ansible/roles/ironic/defaults/main.yml +++ b/ansible/roles/ironic/defaults/main.yml @@ -255,6 +255,7 @@ ironic_dnsmasq_interface: "{{ api_interface }}" ironic_dnsmasq_dhcp_range: ironic_dnsmasq_default_gateway: ironic_dnsmasq_boot_file: "{% if enable_ironic_ipxe | bool %}undionly.kpxe{% else %}pxelinux.0{% endif %}" +ironic_dnsmasq_uefi_ipxe_boot_file: "snponly.efi" ironic_cleaning_network: ironic_console_serial_speed: "115200n8" ironic_ipxe_url: "http://{{ api_interface_address | put_address_in_context('url') }}:{{ ironic_ipxe_port }}" diff --git a/ansible/roles/ironic/templates/ironic-dnsmasq.conf.j2 b/ansible/roles/ironic/templates/ironic-dnsmasq.conf.j2 index 218ac8d44a..c02dc07cf3 100644 --- a/ansible/roles/ironic/templates/ironic-dnsmasq.conf.j2 +++ b/ansible/roles/ironic/templates/ironic-dnsmasq.conf.j2 @@ -26,7 +26,7 @@ dhcp-match=set:efi,option:client-arch,9 dhcp-option=tag:ipxe,option:bootfile-name,{{ ironic_ipxe_url }}/inspector.ipxe # Client is PXE booting over EFI without iPXE ROM, # send EFI version of iPXE chainloader -dhcp-option=tag:efi,tag:!ipxe,option:bootfile-name,ipxe.efi +dhcp-option=tag:efi,tag:!ipxe,option:bootfile-name,{{ ironic_dnsmasq_uefi_ipxe_boot_file }} {% endif %} dhcp-option=option:bootfile-name,{{ ironic_dnsmasq_boot_file }} {% endif %}{# ipv6/ipv4 #} diff --git a/releasenotes/notes/ironic-dnsmasq-uefi-ipxe-bootloader-a1b0eef3257ee55a.yaml b/releasenotes/notes/ironic-dnsmasq-uefi-ipxe-bootloader-a1b0eef3257ee55a.yaml new file mode 100644 index 0000000000..9efff76fa6 --- /dev/null +++ b/releasenotes/notes/ironic-dnsmasq-uefi-ipxe-bootloader-a1b0eef3257ee55a.yaml @@ -0,0 +1,8 @@ +--- +upgrade: + - | + The bootloader used to boot Ironic nodes in UEFI boot mode during + inspection when iPXE is enabled has been changed from ``ipxe.efi`` to + ``snponly.efi``. This is in line with the default UEFI iPXE bootloader used + in Ironic since the Xena release. The bootloader may be changed via + ``ironic_dnsmasq_uefi_ipxe_boot_file``.