Bug 2295415

Summary: Wrong efiboot entries as the default
Product: Red Hat OpenStack Reporter: Kenny Tordeurs <ktordeur>
Component: tripleo-ansibleAssignee: Lukas Bezdicka <lbezdick>
Status: CLOSED MIGRATED QA Contact: Joe H. Rahme <jhakimra>
Severity: medium Docs Contact:
Priority: medium    
Version: 17.1 (Wallaby)CC: jelle.hoylaerts.ext, jkreger, jpretori, lbezdick, madgupta, ramishra, sbaker
Target Milestone: ---Keywords: Triaged
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2025-01-10 19:00:13 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Kenny Tordeurs 2024-07-03 13:28:09 UTC
Description of problem:
Wrong efiboot entries causing the server to boot

Version-Release number of selected component (if applicable):
16.2 > 17.1

How reproducible:
100%

Steps to Reproduce:
1. After upgrade reboot
2.
3.

Actual results:
 efibootmgr -v

BootCurrent: 001B

Timeout: 0 seconds

BootOrder: 001A,001B,000C,0010,000B,000A,0012,0014,0015,0013,0016,0018,0011,000E,000F,0017,0000,0001,0002,0003,0004,0005,0006,0007,0008,0009,0019

Boot0000* System Utilities      FvVol(cdbb7b35-6833-4ed6-9ab2-57d2acddf6f0)/FvFile(1fd631e5-44e0-2f91-10ab-f88f3568ef30)

Boot0001  Embedded UEFI Shell   FvVol(cdbb7b35-6833-4ed6-9ab2-57d2acddf6f0)/FvFile(c57ad6b7-0515-40a8-9d21-551652854e37)

Boot0002  Diagnose Error        FvVol(cdbb7b35-6833-4ed6-9ab2-57d2acddf6f0)/FvFile(0849279d-40d5-53ea-e764-2496766f9844)

Boot0003  Intelligent Provisioning      FvVol(cdbb7b35-6833-4ed6-9ab2-57d2acddf6f0)/FvFile(4a433501-ddaa-490b-96b2-04f42d8669b8)

Boot0004  Boot Menu     FvVol(cdbb7b35-6833-4ed6-9ab2-57d2acddf6f0)/FvFile(d3fd6286-43c5-bb8d-0793-07b70aa9de36)

Boot0005  Network Boot  FvVol(cdbb7b35-6833-4ed6-9ab2-57d2acddf6f0)/FvFile(0334f316-c276-49f6-9879-aaf1ecffa5d5)

Boot0006  View Integrated Management Log        FvVol(cdbb7b35-6833-4ed6-9ab2-57d2acddf6f0)/FvFile(93c92423-d1c6-4286-be67-b76b6671047e)

Boot0007  HTTP Boot     FvVol(cdbb7b35-6833-4ed6-9ab2-57d2acddf6f0)/FvFile(3f770860-3d63-4803-9ea3-df37144ab546)

Boot0008  PXE Boot      FvVol(cdbb7b35-6833-4ed6-9ab2-57d2acddf6f0)/FvFile(ee8b26b0-37e9-11e1-b86c-0800200c9a66)

Boot0009  Embedded Diagnostics  FvVol(cdbb7b35-6833-4ed6-9ab2-57d2acddf6f0)/FvFile(b57fe6f1-4f49-d46e-4bba-0a8add34d2f3)

Boot000A* Generic USB Boot      UsbClass(ffff,ffff,255,255)

Boot000B* Embedded RAID 1 : HPE Smart Array P408i-a SR Gen10 - 279.365 GiB, RAID1 Logical Drive 1(Target:379, Lun:0)    PciRoot(0x3)/Pci(0x0,0x0)/Pci(0x0,0x0)/SCSI(379,0)N.....YM....R,Y.

Boot000C* Redhat        PciRoot(0x3)/Pci(0x0,0x0)/Pci(0x0,0x0)/SCSI(379,0)/HD(1,GPT,2c8a5c6d-c5d7-46e8-b084-48a634fce58f,0x800,0x64000)/File(\EFI\redhat\grubx64.efi)

Boot000E* Slot 3 Port 1 : HPE Ethernet 1Gb 4-port 366T Adapter - NIC (HTTP(S) IPv4)     PciRoot(0x1)/Pci(0x2,0x0)/Pci(0x0,0x0)/MAC(d4f5ef2fc7a4,1)/IPv4(0.0.0.00.0.0.0,0,0)/Uri()N.....YM....R,Y.

Boot000F* Slot 3 Port 1 : HPE Ethernet 1Gb 4-port 366T Adapter - NIC (HTTP(S) IPv6)     PciRoot(0x1)/Pci(0x2,0x0)/Pci(0x0,0x0)/MAC(d4f5ef2fc7a4,1)/IPv6([::]:<->[::]:,0,0)/Uri()N.....YM....R,Y.

Boot0010* Slot 3 Port 1 : HPE Ethernet 1Gb 4-port 366T Adapter - NIC (PXE IPv4) PciRoot(0x1)/Pci(0x2,0x0)/Pci(0x0,0x0)/MAC(d4f5ef2fc7a4,1)/IPv4(0.0.0.00.0.0.0,0,0)N.....YM....R,Y.

Boot0011* Slot 3 Port 1 : HPE Ethernet 1Gb 4-port 366T Adapter - NIC (PXE IPv6) PciRoot(0x1)/Pci(0x2,0x0)/Pci(0x0,0x0)/MAC(d4f5ef2fc7a4,1)/IPv6([::]:<->[::]:,0,0)N.....YM....R,Y.

Boot0012* Embedded FlexibleLOM 1 Port 1 : HPE Eth 10/25Gb 2p 640FLR-SFP28 Adptr - NIC (HTTP(S) IPv4)    PciRoot(0x3)/Pci(0x2,0x0)/Pci(0x0,0x0)/MAC(9440c9bbd6f4,1)/IPv4(0.0.0.00.0.0.0,0,0)/Uri()N.....YM....R,Y.

Boot0013* Embedded FlexibleLOM 1 Port 1 : HPE Eth 10/25Gb 2p 640FLR-SFP28 Adptr - NIC (HTTP(S) IPv6)    PciRoot(0x3)/Pci(0x2,0x0)/Pci(0x0,0x0)/MAC(9440c9bbd6f4,1)/IPv6([::]:<->[::]:,0,0)/Uri()N.....YM....R,Y.

Boot0014* Embedded FlexibleLOM 1 Port 1 : HPE Eth 10/25Gb 2p 640FLR-SFP28 Adptr - NIC (PXE IPv4)        PciRoot(0x3)/Pci(0x2,0x0)/Pci(0x0,0x0)/MAC(9440c9bbd6f4,1)/IPv4(0.0.0.00.0.0.0,0,0)N.....YM....R,Y.

Boot0015* Embedded FlexibleLOM 1 Port 1 : HPE Eth 10/25Gb 2p 640FLR-SFP28 Adptr - NIC (PXE IPv6)        PciRoot(0x3)/Pci(0x2,0x0)/Pci(0x0,0x0)/MAC(9440c9bbd6f4,1)/IPv6([::]:<->[::]:,0,0)N.....YM....R,Y.

Boot0016* Slot 4 Port 1 : HPE Eth 10/25Gb 2p 640SFP28 Adptr - NIC (HTTP(S) IPv4)        PciRoot(0x8)/Pci(0x0,0x0)/Pci(0x0,0x0)/MAC(88e9a403e030,1)/IPv4(0.0.0.00.0.0.0,0,0)/Uri()N.....YM....R,Y.

Boot0017* Slot 4 Port 1 : HPE Eth 10/25Gb 2p 640SFP28 Adptr - NIC (HTTP(S) IPv6)        PciRoot(0x8)/Pci(0x0,0x0)/Pci(0x0,0x0)/MAC(88e9a403e030,1)/IPv6([::]:<->[::]:,0,0)/Uri()N.....YM....R,Y.

Boot0018* Slot 4 Port 1 : HPE Eth 10/25Gb 2p 640SFP28 Adptr - NIC (PXE IPv4)    PciRoot(0x8)/Pci(0x0,0x0)/Pci(0x0,0x0)/MAC(88e9a403e030,1)/IPv4(0.0.0.00.0.0.0,0,0)N.....YM....R,Y.

Boot0019* Slot 4 Port 1 : HPE Eth 10/25Gb 2p 640SFP28 Adptr - NIC (PXE IPv6)    PciRoot(0x8)/Pci(0x0,0x0)/Pci(0x0,0x0)/MAC(88e9a403e030,1)/IPv6([::]:<->[::]:,0,0)N.....YM....R,Y.

Boot001A* red   HD(1,GPT,2c8a5c6d-c5d7-46e8-b084-48a634fce58f,0x800,0x64000)/File(\EFI\red\grubx64.efi)                               [[[[ --> Wrong one containing only rhel7 boot entries ]]]]

Boot001B* Red Hat Enterprise Linux      HD(1,GPT,2c8a5c6d-c5d7-46e8-b084-48a634fce58f,0x800,0x64000)/File(\EFI\redhat\shimx64.efi)    [[[[ --> Correct one containing rhel8/9 entries ]]]]]


Expected results:
boot entries to be correct

Additional info:
On very old nodes that come from osp13 - rhel7 we have wrong efiboot entries as the default

Can be fixed with something like:

#!/bin/bash
BOOTORDER=$(efibootmgr|grep BootOrder|awk -F': ' '{ print $2 }')
CURRENT_BOOT=$(echo $BOOTORDER | awk -F',' '{ print $1 }')
REDHAT_BOOT=$(efibootmgr -v | grep "Red Hat Enterprise Linux" | awk -F'[ t*]' '{print$2}')
if [ "$CURRENT_BOOT" != "$REDHAT_BOOT" ]; then
efibootmgr -o $(echo $BOOTORDER| sed "s/$REDHAT_BOOT//g;s/^/$REDHAT_BOOT,/g;s/^,*//g;s/,*$//g;s/,\+/,/g")
echo "Set Red Hat as primary boot device"
else
echo "Bootorder already correct"
fi

Comment 18 Steve Baker 2024-08-19 19:55:10 UTC
We think we've provided all the input we can to this issue. The required EFI entry was there, and it is now up to upgrades to decide how to proceed.