Bug 1709842

Summary: Tracer shows the machines needs rebooting even after reboot if kernel-debug is installed
Product: Red Hat Satellite Reporter: Ahmed Eladawy <aeladawy>
Component: katello-tracerAssignee: Jonathon Turel <jturel>
Status: CLOSED ERRATA QA Contact: Ondrej Gajdusek <ogajduse>
Severity: high Docs Contact:
Priority: unspecified    
Version: UnspecifiedCC: egolov, jturel, patalber
Target Milestone: 6.8.0Keywords: Triaged
Target Release: Unused   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: tracer-0.7.2-1 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2020-10-27 12:58:35 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Ahmed Eladawy 2019-05-14 12:02:47 UTC
Description of problem:

- If the kernel-debug is installed on the machine, the tracer command output will be like the following even after rebooting the machine.

You should restart:
  * These applications rebooting your computer:
      kernel
- This will case the machine to be marked as "Reboot Required" on the machine Properties and on Content Hosts

Application    | Type	   |  Helper
kernel	       | static	   |  You will have to reboot your computer

Version-Release number of selected component (if applicable):

katello-host-tools-tracer-3.3.5-3.el7sat.noarch
tracer-common-0.7.0-3.el7sat.noarch
python2-tracer-0.7.0-3.el7sat.noarch


How reproducible:Confirmed

Steps to Reproduce:
1. Install katello-host-tools-tracer package on any registered machine.
2. Install kernel-debug package
3. Reboot the machine.
4. Run "tracer -a"
5. Check the machine on the satellite "All Hosts" and "Content Hosts -> Traces"

Actual results:

You should restart:
  * These applications rebooting your computer:
      kernel

Expected results:

The machine does not need to be rebooted because of the kernel.

Comment 3 Ahmed Eladawy 2019-05-14 12:06:39 UTC
Extract the kernel checking code from /usr/lib/python2.7/site-packages/tracer/resources/tracer.py and run it on the machine :

------
        def _has_updated_kernel(self):
                if os.path.isdir('/lib/modules/'):
                        for k_version in next(os.walk('/lib/modules/'))[1]:
                                if parse_version(os.uname()[2]) < parse_version(k_version):
                                        return True
                        return False
                return False
-----

Run it on the machine after modifying it to print the valuses:

-----
import os
from pkg_resources import parse_version

print "All Installed Kernel"
print next(os.walk('/lib/modules/'))[1]
print "Current running kernel"
print os.uname()[2]

for k_version in next(os.walk('/lib/modules/'))[1]:
	if parse_version(os.uname()[2]) < parse_version(k_version):
		print parse_version(os.uname()[2]) 
		print parse_version(k_version) 
-----

The output:

All Installed Kernel
['3.10.0-957.el7.x86_64', '3.10.0-957.5.1.el7.x86_64.debug']
Current running kernel
3.10.0-957.el7.x86_64
('00000003', '00000010', '*final-', '00000957', '*el', '00000007', '*x', '00000086', '*_', '00000064', '*final')
('00000003', '00000010', '*final-', '00000957', '00000005', '00000001', '*el', '00000007', '*x', '00000086', '*_', '00000064', '*debug', '*final')

Comment 4 Jonathon Turel 2020-03-30 13:05:27 UTC
Created redmine issue https://projects.theforeman.org/issues/29435 from this bug

Comment 5 Bryan Kearney 2020-04-01 14:05:08 UTC
Moving this bug to POST for triage into Satellite 6 since the upstream issue https://projects.theforeman.org/issues/29435 has been resolved.

Comment 6 Ondrej Gajdusek 2020-08-13 14:42:33 UTC
$ rpm -q kernel
kernel-3.10.0-1062.9.1.el7.x86_64

$ uname -r
3.10.0-1062.9.1.el7.x86_64

$ rpm -q kernel-debug
kernel-debug-3.10.0-1127.18.2.el7.x86_64
kernel-debug-3.10.0-1062.9.1.el7.x86_64

$ rpm -qa | grep tracer
katello-host-tools-tracer-3.5.1-2.el7sat.noarch
python2-tracer-0.7.1-2.el7sat.noarch
tracer-common-0.7.1-2.el7sat.noarch

$ tracer --user=* -av
You should restart:
  * These applications rebooting your computer:
      kernel

katello-tracer-upload

On Satellite:
$ hammer host traces list --host myhost.com
---------|-------------|---------------------------------------|-------
TRACE ID | APPLICATION | HELPER                                | TYPE  
---------|-------------|---------------------------------------|-------
534      | kernel      | You will have to reboot your computer | static
---------|-------------|---------------------------------------|-------

Back on client:
$ yum update katello-host-tools-tracer katello-host-tools-tracer katello-host-tools-tracer
... output omitted ...

$ rpm -qa | grep tracer
tracer-common-0.7.3-1.el7sat.noarch
katello-host-tools-tracer-3.5.4-1.el7sat.noarch
python2-tracer-0.7.3-1.el7sat.noarch

$ tracer --user=* -av
(shows no output)

katello-tracer-upload

On Satellite, no traces are shown:
$ hammer host traces list --host dhcp-3-49.vms.sat.rdu2.redhat.com
---------|-------------|--------|-----
TRACE ID | APPLICATION | HELPER | TYPE
---------|-------------|--------|-----

Comment 9 errata-xmlrpc 2020-10-27 12:58:35 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory (Important: Satellite 6.8 release), and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHSA-2020:4366