Openstack 16 to 17 FFU - During LEAPP upgrade UEFI systems do not boot due to invalid /boot/grub2/grub.cfg

Solution Unverified - Updated

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.

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

SBR
Components
Category

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.