From: Sage Weil Date: Thu, 12 Dec 2019 20:05:35 +0000 (+0000) Subject: task/kernel: don't fail if we're confused by grub X-Git-Tag: 1.1.0~179^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=da32cf1f9ec39c9505df728008ebbb889b48ce19;p=teuthology.git task/kernel: don't fail if we're confused by grub If we don't have menuitem in the grub conf, and we dn't see /boot/loader/entries file, just don't do grub2-set-default at all and hope for the best. Worst case we'll fail later because we didn't boot the right kernel. Signed-off-by: Sage Weil --- diff --git a/teuthology/task/kernel.py b/teuthology/task/kernel.py index 9dfa862e4..5bc504205 100644 --- a/teuthology/task/kernel.py +++ b/teuthology/task/kernel.py @@ -909,7 +909,7 @@ def grub2_kernel_select_generic(remote, newversion, ostype): entry_num = 0 if '\nmenuitem ' not in grub2conf: # okay, do the newer (el8) grub2 thing - grub2conf = remote.sh('sudo /bin/ls /boot/loader/entries') + grub2conf = remote.sh('sudo /bin/ls /boot/loader/entries || true') entry = None for line in grub2conf.split('\n'): if line.endswith('.conf') and newversion in line: @@ -923,7 +923,10 @@ def grub2_kernel_select_generic(remote, newversion, ostype): break entry_num += 1 entry = str(entry_num) - remote.run(args=['sudo', grubset, entry]) + if entry is None: + log.warning('Unable to update grub2 order') + else: + remote.run(args=['sudo', grubset, entry]) def generate_legacy_grub_entry(remote, newversion):