summaryrefslogtreecommitdiffstats
path: root/patches/opnfv-fuel/0012-lib.sh-rm-Ubuntu-boot-entry-on-EFI-systems.patch
diff options
context:
space:
mode:
authorAlexandru Avadanii <Alexandru.Avadanii@enea.com>2017-09-26 18:22:06 +0200
committerAlexandru Avadanii <Alexandru.Avadanii@enea.com>2017-09-28 03:29:48 +0000
commit3b19e08d3e10519efee7f3c9d40a740318f762dc (patch)
tree1858f8f17f308a94ab6fbdce65858eb314aee01d /patches/opnfv-fuel/0012-lib.sh-rm-Ubuntu-boot-entry-on-EFI-systems.patch
parent763cf5a07027d8c26b597a40051fd9af8fbe3f81 (diff)
u/fuel: Bump & rebase for full PDF support
Change-Id: I7ae833b429c018345d0ab061877d27e3183b3dc7 Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com> (cherry picked from commit 62d2ed716e79f9ee75d63543249bb21b9115b032)
Diffstat (limited to 'patches/opnfv-fuel/0012-lib.sh-rm-Ubuntu-boot-entry-on-EFI-systems.patch')
-rw-r--r--patches/opnfv-fuel/0012-lib.sh-rm-Ubuntu-boot-entry-on-EFI-systems.patch60
1 files changed, 60 insertions, 0 deletions
diff --git a/patches/opnfv-fuel/0012-lib.sh-rm-Ubuntu-boot-entry-on-EFI-systems.patch b/patches/opnfv-fuel/0012-lib.sh-rm-Ubuntu-boot-entry-on-EFI-systems.patch
new file mode 100644
index 00000000..d6c0b9d1
--- /dev/null
+++ b/patches/opnfv-fuel/0012-lib.sh-rm-Ubuntu-boot-entry-on-EFI-systems.patch
@@ -0,0 +1,60 @@
+::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
+: Copyright (c) 2017 Enea AB and others.
+:
+: All rights reserved. This program and the accompanying materials
+: are made available under the terms of the Apache License, Version 2.0
+: which accompanies this distribution, and is available at
+: http://www.apache.org/licenses/LICENSE-2.0
+::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
+From: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
+Date: Thu, 24 Aug 2017 04:09:59 +0200
+Subject: [PATCH] lib.sh: 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, before starting a new baremetal deploy.
+
+NOTE: This only runs against nodes that are online from a
+previous deploy.
+
+Closes: ARMBAND-47
+
+Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
+---
+ mcp/scripts/lib.sh | 10 ++++++++++
+ 1 file changed, 10 insertions(+)
+
+diff --git a/mcp/scripts/lib.sh b/mcp/scripts/lib.sh
+index 4b88ab7..90ab8c5 100644
+--- a/mcp/scripts/lib.sh
++++ b/mcp/scripts/lib.sh
+@@ -28,6 +28,15 @@ get_base_image() {
+ wget -P "${image_dir}" -N "${base_image}"
+ }
+
++cleanup_uefi() {
++ # Clean up Ubuntu boot entry if cfg01, kvm nodes online from previous deploy
++ # shellcheck disable=SC2086
++ ssh ${SSH_OPTS} "ubuntu@${SALT_MASTER}" "sudo 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
++}
++
+ cleanup_vms() {
+ # clean up existing nodes
+ for node in $(virsh list --name | grep -P '\w{3}\d{2}'); do
+@@ -45,6 +54,7 @@ prepare_vms() {
+ local base_image=$2
+ local image_dir=$3
+
++ cleanup_uefi
+ cleanup_vms
+ get_base_image "${base_image}" "${image_dir}"
+ # shellcheck disable=SC2016