]> git.apps.os.sepia.ceph.com Git - teuthology.git/commitdiff
Don't assume y on distro kernel reinstall...
authorSandon Van Ness <sandon@redhat.com>
Tue, 9 Dec 2014 19:58:33 +0000 (11:58 -0800)
committerSandon Van Ness <sandon@redhat.com>
Tue, 9 Dec 2014 19:58:33 +0000 (11:58 -0800)
Because if its the running kernel yum will skip the current
version and install install an older package? WTF? I would not
expect such behavior from a reinstall but it is what it is...

Also skipping current running kernel output was in stderr not the
stdout so I made changes to reflect that.

Signed-off-by: Sandon Van Ness <sandon@redhat.com>
teuthology/task/kernel.py

index cb2216a0071efa43df9f73a0a394c8952548d081..bebf0a8d7eff77041b2b0d257d63f247837b37a1 100644 (file)
@@ -579,12 +579,14 @@ def need_to_install_distro(ctx, role):
         role_remote.run(args=['sudo', 'yum', 'install', '-y', 'kernel'], stdout=output, stderr=err_mess )
         if 'Nothing to do' in output.getvalue():
             output.truncate(0), err_mess.truncate(0)
-            role_remote.run(args=['sudo', 'yum', 'reinstall', '-y', 'kernel', run.Raw('||'), 'true'], stdout=output, stderr=err_mess )
-            if 'Skipping the running kernel' in output.getvalue():
-                if 'Error: Nothing to do' in output.getvalue():
-                    # Current running kernel is already newest and updated
-                    log.info('Newest distro kernel already installed/running')
-                    return False
+            role_remote.run(args=['echo', 'no', run.Raw('|'), 'sudo', 'yum', 'reinstall', 'kernel', run.Raw('||'), 'true'], stdout=output, stderr=err_mess )
+            if 'Skipping the running kernel' in err_mess.getvalue():
+                # Current running kernel is already newest and updated
+                log.info('Newest distro kernel already installed/running')
+                return False
+            else:
+                output.truncate(0), err_mess.truncate(0)
+                role_remote.run(args=['sudo', 'yum', 'reinstall', '-y', 'kernel', run.Raw('||'), 'true'], stdout=output, stderr=err_mess )
         #reset stringIO output.
         output.truncate(0), err_mess.truncate(0)
         role_remote.run(args=['rpm', '-q', 'kernel', '--last' ], stdout=output, stderr=err_mess )