From 493cbe8a854ab560dc09aef914d67e18c4329312 Mon Sep 17 00:00:00 2001 From: Steve Baker Date: Fri, 15 May 2020 13:54:25 +1200 Subject: [PATCH] Handle generating grub config for EFI partitions The default overcloud-full image uses grub config path /boot/grub2/grub.cfg however images with EFI boot partitions use grub config path /boot/efi/EFI/redhat/grub.cfg. This means for EFI based images, persisting kernel boot args is currently broken. This change fixes this by checking a known list of grub.cfg paths and regenerating the config for each file which already exists. Change-Id: I9ef130a3f437c82e9e3ec2f2bc82df3ea45c410f Closes-Bug: #1877215 (cherry picked from tripleo-ansible commits 4cf48e9b755200911a00de5e258f18e43c254e79 and 09abd4aac6eba804df4d6f98aff6631905fba6ad) --- extraconfig/pre_network/boot_param_tasks.yaml | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/extraconfig/pre_network/boot_param_tasks.yaml b/extraconfig/pre_network/boot_param_tasks.yaml index bf2a936f20..b7eecc051b 100644 --- a/extraconfig/pre_network/boot_param_tasks.yaml +++ b/extraconfig/pre_network/boot_param_tasks.yaml @@ -20,8 +20,19 @@ dest: /etc/default/grub line: 'GRUB_CMDLINE_LINUX="${GRUB_CMDLINE_LINUX:+$GRUB_CMDLINE_LINUX }${TRIPLEO_HEAT_TEMPLATE_KERNEL_ARGS}"' insertafter: '^TRIPLEO_HEAT_TEMPLATE_KERNEL_ARGS.*' - - name: Generate grub config file - command: grub2-mkconfig -o /boot/grub2/grub.cfg + - 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 }}" - name: Set reboot required fact set_fact: reboot_required: true