Bug 1974507 - [OSP 16.1] THT KernelArgs not getting set on UEFI systems
Summary: [OSP 16.1] THT KernelArgs not getting set on UEFI systems
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat OpenStack
Classification: Red Hat
Component: tripleo-ansible
Version: 16.1 (Train)
Hardware: Unspecified
OS: Unspecified
high
high
Target Milestone: async
: 16.1 (Train on RHEL 8.2)
Assignee: Steve Baker
QA Contact: Paras Babbar
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2021-06-21 21:21 UTC by Matt Flusche
Modified: 2022-04-07 15:12 UTC (History)
23 users (show)

Fixed In Version: tripleo-ansible-0.5.1-1.20210323173507.el8ost
Doc Type: Bug Fix
Doc Text:
The grub2 tooling wrote Kernel argument changes to /boot/grub2/grubenv. This file was not available to UEFI boot systems. This issue caused Kernel argument changes to not persist across reboots on UEFI boot nodes. This fix changes both the /boot/grub2/grubenv file and the /boot/efi/EFI/redhat/grubenv files when you make Kernel argument changes. As a result, the director now applies persistent Kernel argument changes for UEFI boot nodes.
Clone Of:
: 1987092 (view as bug list)
Environment:
Last Closed: 2021-08-23 13:16:11 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
OpenStack gerrit 799132 0 None MERGED Copy generated /boot/grub2/grubenv to EFI dirs 2022-06-30 11:55:19 UTC
Red Hat Issue Tracker OSP-5355 0 None None None 2022-02-23 00:38:39 UTC
Red Hat Knowledge Base (Solution) 6167832 0 None None None 2021-07-06 05:53:56 UTC
Red Hat Product Errata RHBA-2021:3245 0 None None None 2021-08-23 13:16:12 UTC

Description Matt Flusche 2021-06-21 21:21:26 UTC
Description of problem:
On UEFI deployed systems, KernelArgs parameters are not applied on overcloud nodes during deployment.  This seems to impact newer version of 16.1 (16.1.5 and 16.1.6 perhaps).

We traced this down to an issue where grub2-mkconfig is not updating /boot/efi/EFI/redhat/grubenv and created the following bz: https://bugzilla.redhat.com/show_bug.cgi?id=1973289

There is discussion here that grubby should be used rather than grub2-mkconfig so I wanted to loop in deployment framework for input.


Version-Release number of selected component (if applicable):
OSP 16.1
tripleo-ansible-0.5.1-1.20201114030848.2.el8ost.noarch


rpm -qf /usr/share/ansible/roles/tripleo-kernel/tasks/kernelargs.yml
tripleo-ansible-0.5.1-1.20201114030848.2.el8ost.noarch


From /usr/share/ansible/roles/tripleo-kernel/tasks/kernelargs.yml"

    - name: Check grub config paths
      stat:
        path: "{{ item }}"
      register: grub_stat
      loop:
        - /boot/grub2/grub.cfg
        - /boot/efi/EFI/redhat/grub.cfg
        - /boot/efi/EFI/centos/grub.cfg
        - /boot/efi/EFI/fedora/grub.cfg
    - name: Generate grub config
      command: "grub2-mkconfig -o {{ item.stat.path }}"
      when: item.stat.exists|bool
      loop: "{{ grub_stat.results }}"



How reproducible:
100% in this UEFI deployment.

Steps to Reproduce:
1. deploy overcloud on UEFI systems with KernelArgs

Comment 3 Steve Baker 2021-06-22 20:01:31 UTC
I'll keep an eye on bug #1973289, but will also look into a followup ansible task which copies grubenv.

Longer term we can look into switching to grubby. This is something upstream diskimage-builder needs to consider as well.

Comment 6 Steve Baker 2021-07-28 20:40:14 UTC
The fix has landed in master upstream, I'll start the backports now.

Comment 38 errata-xmlrpc 2021-08-23 13:16:11 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 (Red Hat OpenStack Platform 16.1.6 async bug fix 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/RHBA-2021:3245


Note You need to log in before you can comment on or make changes to this bug.