From 8de84a06b723a237aa34dd42d020ba06ae57dcf5 Mon Sep 17 00:00:00 2001 From: Alexandru Avadanii Date: Sat, 19 Jan 2019 21:10:49 +0100 Subject: [uefi_cleanup] Use grain targeting Alternating HA and no-HA scenario deployments on baremetal requires non-hostname targeting for UEFI cleanup (e.g. ctl01/gtw01/kvm01). Change-Id: I9f0e967b500856b65a69ea0ab6ea13e15b327d8b Signed-off-by: Alexandru Avadanii --- mcp/scripts/lib.sh | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) (limited to 'mcp/scripts/lib.sh') diff --git a/mcp/scripts/lib.sh b/mcp/scripts/lib.sh index 85360bf2e..6455a65c0 100644 --- a/mcp/scripts/lib.sh +++ b/mcp/scripts/lib.sh @@ -36,22 +36,17 @@ function wait_for { } function cleanup_uefi { - # Clean up Ubuntu boot entry if cfg01, kvm nodes online from previous deploy + # Clean up Ubuntu boot entry if cfg01, baremetal nodes online from previous deploy local cmd_str="ssh ${SSH_OPTS} ${SSH_SALT}" - local grain_virtual=$(salt -C 'I@nova:compute and *01*' grains.get virtual --out txt | cut -d ' ' -f2) ping -c 1 -w 1 "${SALT_MASTER}" || return 0 [ ! "$(hostname)" = 'cfg01' ] || cmd_str='eval' - # NOTE: Targeting nodes by hostname is fragile and should be refactored to - # also cover corner cases like noha scenarios on AArch64 baremetal's 'ctl01' - ${cmd_str} "sudo salt -C 'kvm* or cmp*' cmd.run \ + ${cmd_str} "sudo salt -C 'G@virtual:physical and not cfg01*' cmd.run \ \"which efibootmgr > /dev/null 2>&1 && \ efibootmgr | grep -oP '(?<=Boot)[0-9]+(?=.*ubuntu)' | \ xargs -I{} efibootmgr --delete-bootnum --bootnum {}; \ rm -rf /boot/efi/*\"" || true - if [ "${grain_virtual}" == physical ]; then - ${cmd_str} "sudo salt -C 'kvm* or cmp*' cmd.run 'shutdown now'" || true - fi + ${cmd_str} "sudo salt -C 'G@virtual:physical and not cfg01*' cmd.run 'shutdown now'" || true } function get_nova_compute_pillar_data { -- cgit 1.2.3-korg