From aa6c72b42783a4226c07e0b7af37434f13dc8c64 Mon Sep 17 00:00:00 2001 From: Alexandru Avadanii Date: Thu, 24 Aug 2017 04:24:31 +0200 Subject: [PATCH] states/maas: rm Ubuntu boot entry on EFI systems MaaS relies on IPMI to set boot order to PXE first; however on systems with buggy firmware or without full IPMI support, that fails, leading to booting Ubuntu from hard disk instead. Work around this by clearing any previous Ubuntu boot entry from board flash via `efibootmgr`. Change-Id: I531d4bcb9f8d45740764f0dbab8fda49fbffac7e Signed-off-by: Alexandru Avadanii --- ...-maas-rm-Ubuntu-boot-entry-on-EFI-systems.patch | 41 ++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 patches/opnfv-fuel/0021-states-maas-rm-Ubuntu-boot-entry-on-EFI-systems.patch diff --git a/patches/opnfv-fuel/0021-states-maas-rm-Ubuntu-boot-entry-on-EFI-systems.patch b/patches/opnfv-fuel/0021-states-maas-rm-Ubuntu-boot-entry-on-EFI-systems.patch new file mode 100644 index 00000000..792774f3 --- /dev/null +++ b/patches/opnfv-fuel/0021-states-maas-rm-Ubuntu-boot-entry-on-EFI-systems.patch @@ -0,0 +1,41 @@ +From: Alexandru Avadanii +Date: Thu, 24 Aug 2017 04:09:59 +0200 +Subject: [PATCH] states/maas: rm Ubuntu boot entry on EFI systems + +On EFI-enabled systems, grub-install from grub-efi-* package +installs a boot entry named "ubuntu". + +MaaS relies on IPMI to set boot order to PXE first; however +on systems with buggy firmware or without full IPMI support, +that fails, leading to booting Ubuntu from hard disk instead. + +Work around this by clearing any previous Ubuntu boot entry +from board flash. + +NOTE: This only runs against nodes that are online from a +previous deploy, and already automatically registered with +the new Salt master node. + +Closes: ARMBAND-47 + +Signed-off-by: Alexandru Avadanii +--- + mcp/config/states/maas | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git a/mcp/config/states/maas b/mcp/config/states/maas +index 14f32ee..b9f3ac6 100755 +--- a/mcp/config/states/maas ++++ b/mcp/config/states/maas +@@ -44,6 +44,11 @@ function maas_fixup() { + return 0 + } + ++# UEFI: Clean up Ubuntu boot entry if kvm node online from previous deploy ++salt -C 'kvm* or cmp*' cmd.run "(which efibootmgr > /dev/null 2>&1 && \ ++ efibootmgr | grep -oP '(?<=Boot)[0-9]+(?=.*ubuntu)' | \ ++ xargs -I{} efibootmgr --delete-bootnum --bootnum {}) || true" ++ + # MaaS rack/region controller, node commissioning + salt -C 'mas01*' cmd.run "add-apt-repository ppa:maas/stable" + -- 2.16.6