Comment 0 for bug 1983559

Revision history for this message
Yamato Tanaka (yatanaka-1007) wrote : Train: uefi_pxe_bootfile_name refers to ipxe.efi even if IronicIPXEUefiSnpOnly is true

Description
===========
After the following change was merged,

  https://review.opendev.org/c/openstack/tripleo-heat-templates/+/827950

ironic::pxe::common::uefi_ipxe_bootfile_name is set to "snponly.efi" when IronicIPXEUefiSnpOnly is true.
In this case, ${tftp_root_real}/snponly.efi is created and ${tftp_root_real}/ipxe.efi is not created by the following source of puppet-ironic.

  https://github.com/openstack/puppet-ironic/blob/stable/train/manifests/pxe.pp#L193-L202

However, uefi_pxe_bootfile_name still refers to ipxe.efi regardless of IronicIPXEUefiSnpOnly.

  https://github.com/openstack/tripleo-heat-templates/blob/stable/train/deployment/ironic/ironic-conductor-container-puppet.yaml#L368

This causes overcloud deployment failure when UEFI is enabled and PXE is used for boot_interface.

Steps to reproduce
==================
1. install undercloud with "ipxe_enabled = true"
2. enroll overcloude node with "pm_type: ilo".
   In this case, boot_interface will be "ilo-pxe"
3. enable UEFI according to document[2]
4. deploy overcloud

1. install undercloud with "ipxe_enabled = true"
2. enroll overcloude node with "pm_type: ipmi".
3. enable UEFI boot of baremetal nodes.
4. set "pxe" as boot-interface by the following command
  $ openstack baremetal node set <node> --boot-interface pxe
5. deploy overcloud

Expected result
===============
Deployment succeeds.

Actual result
=============
Deployment fails due to absence of ipxe.efi

Environment
===========
this issue was found in a stable-train-based deployment (RHOSP16.2.3)