Bug 2004016

Summary: httpboot not working on GRUB version provided by RHEL7
Product: Red Hat Satellite Reporter: Roman Plevka <rplevka>
Component: ProvisioningAssignee: satellite6-bugs <satellite6-bugs>
Status: CLOSED ERRATA QA Contact: Roman Plevka <rplevka>
Severity: medium Docs Contact:
Priority: unspecified    
Version: 6.10.0CC: akjha, inecas, lzap, mhulan, sshtein
Target Milestone: 6.11.0Keywords: Triaged
Target Release: Unused   
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: 2022-07-05 14:29:38 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:
Attachments:
Description Flags
screenshot of OVMF firmware trying to load grub2 using httpboot none

Description Roman Plevka 2021-09-14 10:44:53 UTC
Created attachment 1822947 [details]
screenshot of OVMF firmware trying to load grub2 using httpboot

Description of problem:
HTTPBoot seems not to be able to load the GRUB2 version provided by RHEL7:

grub2-efi-x64-2.02-0.87.el7_9.6.x86_64

Since satellite uses the GRUB provided by the underlying OS, this blocks the usage of httpboot pxeloader during host provisioning.

This works with GRUB2 provided by RHEL8:

grub2-efi-x64-2.02-99.el8.x86_64.rpm

So the workaround would be to manually replace the GRUB binary located in the tftpboot by the new one.


Version-Release number of selected component (if applicable):
All satellite versions (installed on rhel7)


Steps to Reproduce:
1. get a bare metal host with UEFI fw
2. generate a new host record in satellite and choose GRUB2 HTTP UEFI pxe loader
3. attempt to use httpboot on the host.


Actual results:
GRUB seems to be downloaded, but fails to be loaded.

Comment 3 Lukas Zapletal 2021-12-09 13:43:05 UTC
We are discussing possibility to bring grub2 build from el8 into el7 via Satellite repos. In the meantime, the workaround is to download grubx64.efi from Fedora Rawhide or CentOS 9 Stream and replace /var/lib/tftpboot/grub2/grubx64.efi with it.

Extracted version is also available here: https://people.redhat.com/~lzapleta/grub/grub2-efi-x64-2.04-35.fc34.x86_64/

This is a support exception for HTTP UEFI Boot scenarios.

Comment 4 Lukas Zapletal 2022-01-27 14:18:54 UTC
QA: Please just confirm the workaround works for EL7 and for Capsule running on EL8 please verify the workflow, thank you!

Comment 5 Roman Plevka 2022-05-24 11:53:21 UTC
VERIFIED
satellite-6.11.0-1.el8sat.noarch

grub2-efi-x64-2.02-123.el8.x86_64

- I entered the setup utility of my UEFI-based VM and used HTTPboot directly from there.

the grub2 was successfully pulled:

```
==> /var/log/foreman-proxy/proxy.log <==
2022-05-24T07:45:03 59e55e3a [I] Started HEAD /httpboot/grub2/grubx64.efi 
2022-05-24T07:45:03 59e55e3a [I] Finished HEAD /httpboot/grub2/grubx64.efi with 200 (1.63 ms)
2022-05-24T07:45:03 75d83e3d [I] Started GET /httpboot/grub2/grubx64.efi 
2022-05-24T07:45:03 75d83e3d [I] Finished GET /httpboot/grub2/grubx64.efi with 200 (0.46 ms)


```

and loaded - next, the kicstart kicked in and the rest of automatized installation passed.

after the installation was finished and an updated grub config was generated, the VM was rebooted and successfully httpbooted the updated grub+config again.

Comment 8 errata-xmlrpc 2022-07-05 14:29:38 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory (Moderate: Satellite 6.11 Release), and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHSA-2022:5498