Stable branches: uefi_pxe_bootfile_name refers to ipxe.efi even if IronicIPXEUefiSnpOnly is true

Bug #1983559 reported by Yamato Tanaka
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
tripleo
Fix Released
High
Yamato Tanaka

Bug Description

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 boot of baremetal nodes.
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)

description: updated
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to tripleo-heat-templates (stable/train)
Changed in tripleo:
assignee: nobody → Yamato Tanaka (yatanaka-1007)
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Change abandoned on tripleo-heat-templates (stable/train)

Change abandoned by "Yamato Tanaka <email address hidden>" on branch: stable/train
Review: https://review.opendev.org/c/openstack/tripleo-heat-templates/+/852225
Reason: We need to make the same change on Wallaby as well. So I'll discard this change, and then I'll make a change for Wallaby and backport it to Train.

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to tripleo-heat-templates (stable/wallaby)

Fix proposed to branch: stable/wallaby
Review: https://review.opendev.org/c/openstack/tripleo-heat-templates/+/853077

summary: - Train: uefi_pxe_bootfile_name refers to ipxe.efi even if
+ Stable branches: uefi_pxe_bootfile_name refers to ipxe.efi even if
IronicIPXEUefiSnpOnly is true
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to tripleo-heat-templates (stable/train)
Changed in tripleo:
importance: Undecided → High
milestone: none → zed-1
tags: added: train-backport-potential wallaby-backport-potential
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to tripleo-heat-templates (stable/wallaby)

Reviewed: https://review.opendev.org/c/openstack/tripleo-heat-templates/+/853077
Committed: https://opendev.org/openstack/tripleo-heat-templates/commit/6435d081b2b6a30023e2dfa27666799ec55ddbfc
Submitter: "Zuul (22348)"
Branch: stable/wallaby

commit 6435d081b2b6a30023e2dfa27666799ec55ddbfc
Author: Yamato Tanaka <email address hidden>
Date: Mon Aug 15 10:31:53 2022 +0900

    [Stable only] Apply IronicIPXEUefiSnpOnly to uefi_pxe_bootfile_name

    Currently, uefi_pxe_bootfile_name will be set to bootx64.efi but
    bootx64.efi does not exist because a change[1] of puppet-ironic is not
    backported. In this situation, deployment will fail. Ideally, the
    change[1] of puppet-ironic should be backported, but it is not going to
    be backported.

    Therefore, this patch changes uefi_pxe_bootfile_name to snponly.efi or
    ipxe.efi in response to IronicIPXEUefiSnpOnly.

    In master branch, the change[1] of puppet-ironic has been made and
    boot64.efi is created. Hence this change is only for Stable branches.

    [1]4863a485cd7405f6bca9011a9694dd385d170049

    Closes-Bug: #1983559
    Change-Id: I0eb9aca944479cd242468aa1674555edcefba56b

tags: added: in-stable-wallaby
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to tripleo-heat-templates (stable/train)

Reviewed: https://review.opendev.org/c/openstack/tripleo-heat-templates/+/853078
Committed: https://opendev.org/openstack/tripleo-heat-templates/commit/d7dceadc5d621c30a8b664b90cf0dd782d13ec35
Submitter: "Zuul (22348)"
Branch: stable/train

commit d7dceadc5d621c30a8b664b90cf0dd782d13ec35
Author: Yamato Tanaka <email address hidden>
Date: Mon Aug 15 10:31:53 2022 +0900

    [Stable only] Apply IronicIPXEUefiSnpOnly to uefi_pxe_bootfile_name

    Currently, uefi_pxe_bootfile_name will be set to bootx64.efi but
    bootx64.efi does not exist because a change[1] of puppet-ironic is not
    backported. In this situation, deployment will fail. Ideally, the
    change[1] of puppet-ironic should be backported, but it is not going to
    be backported.

    Note for Train:
      On Train, uefi_pxe_bootfile_name will be set to ipxe.efi regardless of
      IronicIPXEUefiSnpOnly because a change[2] was not backported to Train.

    Therefore, this patch changes uefi_pxe_bootfile_name to snponly.efi or
    ipxe.efi in response to IronicIPXEUefiSnpOnly.

    In master branch, the change[1] of puppet-ironic has been made and
    boot64.efi is created. Hence this change is only for Stable branches.

    [1]4863a485cd7405f6bca9011a9694dd385d170049
    [2]bd7c489dc7346f071f15080c2b6c4715e39bbb3c

    (from stable/wallaby to stable/train)
    Conflicts:
            deployment/ironic/ironic-conductor-container-puppet.yaml

    Closes-Bug: #1983559
    Change-Id: I0eb9aca944479cd242468aa1674555edcefba56b
    (cherry picked from commit 6435d081b2b6a30023e2dfa27666799ec55ddbfc)

tags: added: in-stable-train
Changed in tripleo:
status: New → Fix Released
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix included in openstack/tripleo-heat-templates train-eol

This issue was fixed in the openstack/tripleo-heat-templates train-eol release.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.