Tracer for DNF

I’m currently analyzing an isuse, that a tracer information is shown, that rsyslog need to be restarted, but it’s not necessary: tracer wants me to unnecessarily restart services · Issue #126 · FrostyX/tracer · GitHub

Currently, the python lib tracer is only necessary for EL because it failed for suse and debian: https://github.com/Katello/katello-host-tools/blob/master/src/katello/tracer/__init__.py

What do you think to drop the tracer dependency in katello-host-tools and use “dnf needs-restarting” instead to determine if process restart or reboot is necessary: DNF needs-restarting Plugin — dnf-plugins-core 4.4.2-1 documentation

I don’t remember why we were not using this 100% @Jonathon_Turel do you remember why?

Thoughts: Use dnf needs-restarting to collect tracer information by sbernhard · Pull Request #149 · Katello/katello-host-tools · GitHub
?

Tracer is integrated in several places in Katello. There are at least two UI pages. The tracer “helpers” (restart commands) are saved in the Katello database. There are job templates to run tracer commands. It seems like all of the above would need rearchitecting; is this what you are proposing? Also katello-host-tools-tracer is packaged. I think this would also need some inputs from @packaging folks.

The target of this PR is, that everything stays the same but uses a different technology - “dnf needs-restarting”.
“dnf needs-restarting” should not have the issue mentioned in tracer wants me to unnecessarily restart services · Issue #126 · FrostyX/tracer · GitHub
(tracer expects a service should be restarted, even it was restarted during rpm post install routine from dnf - dnf needs-restarting does not print that the service needs to be restarted).

Of course, packaging needs to be done afterwards and hopefully, we can skip the python3-tracer delivery if we only need >= el8