Bug 1493164

Summary: Enable workaround for broken grub2 in RHEL 7.4
Product: Red Hat Satellite Reporter: Lukas Zapletal <lzap>
Component: InstallationAssignee: Ewoud Kohl van Wijngaarden <ekohlvan>
Status: CLOSED ERRATA QA Contact: Roman Plevka <rplevka>
Severity: high Docs Contact:
Priority: unspecified    
Version: UnspecifiedCC: bbuckingham, ehelms, ekohlvan, lzap, rplevka
Target Milestone: UnspecifiedKeywords: Triaged
Target Release: Unused   
Hardware: Unspecified   
OS: Unspecified   
URL: http://projects.theforeman.org/issues/21006
Whiteboard:
Fixed In Version: foreman-installer-1.15.5 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2018-02-21 17:03:17 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:
Bug Depends On:    
Bug Blocks: 1487106    

Description Lukas Zapletal 2017-09-19 13:49:21 UTC
Grub2 have a regression when MAC-based loading of configs does not work, due to string manipulation in Red Hat patches MAC always ands with ":" or "-" character:

RRQ from 10.87.1.231 filename /grub2/grub.cfg-01-96-48-EE-44-80-43-

The correct path is:

RRQ from 10.87.1.231 filename /grub2/grub.cfg-01-96-48-EE-44-80-43

We file a bug and RH team is going to fix this, but we need a workaround as more and more users are hitting this. In order to have that workaround, we need regexp module which is unfortunately not present in grub2 build. Instead of copying the grub2 from EFI directory, we can refactor our puppet code to build the grub2 like debian does:

http://projects.theforeman.org/issues/21006

Second part is to have regexp in Grub2 Global Template and this is already present in 1.15.4 release, so no action here, only installer change.

TRIAGE NOTES:

This is blocker for ALL Grub2 provisioning, without this change customers are unable to do UEFI provisioning on RHEL 7.4 until errata with new grub2 comes out.

QA NOTES:

Test UEFI Grub2 provisioning with grub2 from RHEL 7.4 (no updates applied). Notice that it will try to load the incorrect file with "-" at the end, then it loads "grub2.cfg" and from there it loads the correct file via regexp.

Comment 7 Lukas Zapletal 2017-09-26 08:59:34 UTC
WORKAROUND FOR QA:

/usr/bin/grub2-mkimage -O x86_64-efi -d /usr/lib/grub/x86_64-efi -o /var/lib/tftpboot/grub2/grubx64.efi -p '' all_video boot btrfs cat chain configfile echo efifwsetup efinet ext2 fat font gettext gfxmenu gfxterm gfxterm_background gzio halt hfsplus iso9660 jpeg keystatus loadenv linux lsefi lsefimmap lsefisystab lssal memdisk minicmd normal part_apple part_msdos part_gpt password_pbkdf2 png reboot search search_fs_uuid search_fs_file search_label sleep test true video zfs zfscrypt zfsinfo linuxefi lvm mdraid09 mdraid1x raid5rec raid6rec tftp regexp

Comment 8 Lukas Zapletal 2017-09-26 11:16:33 UTC
QA NOTES: Broken Grub2 7.4 workaround will only work when both of the following Bfs are fixed:

https://bugzilla.redhat.com/show_bug.cgi?id=1487106
https://bugzilla.redhat.com/show_bug.cgi?id=1493164

Comment 9 Satellite Program 2017-10-03 16:35:42 UTC
Moving this bug to POST for triage into Satellite 6 since the upstream issue http://projects.theforeman.org/issues/21006 has been resolved.

Comment 10 Roman Plevka 2017-10-10 12:51:49 UTC
VERIFIED
on sat6.3.0-19

the regexp now matches the actual grub config file and grub loads as expected.

Comment 11 Lukas Zapletal 2017-10-18 07:29:57 UTC
Thanks all, Satellite 6.3 now uses bootloaders from our RPM which workarounds the issue with MAC loading in RHEL 7.4

Comment 12 Bryan Kearney 2018-02-21 17:03:17 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, 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-2018:0336