]> git.apps.os.sepia.ceph.com Git - teuthology.git/commitdiff
task/kernel: don't fail if we're confused by grub 1378/head
authorSage Weil <sage@redhat.com>
Thu, 12 Dec 2019 20:05:35 +0000 (20:05 +0000)
committerSage Weil <sage@redhat.com>
Thu, 12 Dec 2019 20:05:35 +0000 (20:05 +0000)
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 <sage@redhat.com>
teuthology/task/kernel.py

index 9dfa862e446df05d5834d22c49c0eead70ab7dd5..5bc50420582ec27a9936a95c3bd34f01421489cb 100644 (file)
@@ -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):