Openstack 16 to 17 FFU - During LEAPP upgrade UEFI systems do not boot due to invalid /boot/grub2/grub.cfg
Environment
- Red Hat Openstack Platform 16.2
- Red Hat Openstack Platform 17
Issue
-
During the Openstack 16 to 17 Fast-forward upgrade, UEFI systems may fail to reboot during the LEAPP OS upgrade if an old or invalid /boot/grub2/grub.cfg is present.
-
With tripleo-ansible version 3.3.1-17.1.20240603220822.8debef3 a change was introduced that made the default UEFI grub.cfg (/boot/efi/EFI/redhat/grub.cfg) a stub redirect to the default /boot/grub2/grub.cfg. This is consistent with the default RHEL 9 configuration and generally both grub.cfg files should be the same; however, it is possible that an incompatible grub.cfg exists causing a boot issue.
-
One possible scenario is that an incompatible grub.cfg exists from a previous OS upgrade such as RHEL 7 -> 8 where RHEL 7 used non-BLS grub configuration.
Resolution
Option 1.
- For broken systems, rescue boot, ensure /boot is mounted, and chroot /mnt/sysimage then run:
grub2-mkconfig -o /boot/grub2/grub.cfg
Option 2.
- To fix this for future upgrades, update templates (system_upgrade.yaml) to ensure grub.cfg is updated prior to the LEAPP upgrade.
LeappInitCommand: |
grub2-mkconfig -o /boot/grub2/grub.cfg
[...other config...]
-
Rerun upgrade prepare step (/home/stack/overcloud_upgrade_prepare.sh) before running OS upgrade for additional overcloud nodes.
-
Continue FFU procedure.
Root Cause
This content is not included.This content is not included.https://bugzilla.redhat.com/show_bug.cgi?id=2327390
This solution is part of Red Hat’s fast-track publication program, providing a huge library of solutions that Red Hat engineers have created while supporting our customers. To give you the knowledge you need the instant it becomes available, these articles may be presented in a raw and unedited form.