Trace status incorrect

Problem:

When checking in the GUI for traces I’ll get a lot of hosts with process_restart_needed. However, when I check on the hosts there is nothing to do:

# needs-restarting -s
# needs-restarting -r
# needs-restarting
# tracer

all report nothing. Even after I run

# /sbin/katello-tracer-upload 

it still reports traces in the GUI. For instance, I have just updated openssh on my hosts. I have run /sbin/katello-tracer-upload on all. Still, the GUI shows I have to restart sshd. But I even checked with lsof | fgrep -e DEL -e deleted: there is nothing which indicate that sshd needs to be restarted. It has been already restarted during the update.

Only after I restart the service on a host and run katello-tracer-upload again, it shows ‘No applications to restart’.

Expected outcome:
No traces.

Foreman and Proxy versions:
Foreman 3.10 with Katello 4.12, latest updates on AlmaLinux 8.

I am really puzzled how katello determines the traces and which command I have to use to either see the traces on the host and update the traces to foreman. The way it is now it’s kind of useless if I have to restart everything one additional time.

Are you searching for hosts based on trace status? That’s broken in 4.12: Bug #37354: Trace_status = reboot_needed not working after upgrade to 4.12 - Katello - Foreman
It should be fixed in 4.13.0.

Individual traces should still show correctly.

Traces are uploaded to Katello (by default) after any dnf or yum package action, if katello-host-tools-tracer is installed. You will see this:

Installed products updated.
Uploading Tracer Profile

To force this upload, you can run

katello-tracer-upload

The traces you see in the web UI for the host should match what you see when you run

tracer

.

To confirm a tracer upload on the server, you can check in /var/log/foreman/production.log for

Started PUT "/rhsm/consumers/c6a16ade-ff65-4545-9e10-19955cf053a1/tracer"

(with your host’s consumer ID there).