Bug 2203100

Summary: needs-restarting -s fail with mysql container
Product: Red Hat Enterprise Linux 9 Reporter: Jan Kolarik <jkolarik>
Component: dnf-plugins-coreAssignee: Jan Kolarik <jkolarik>
Status: CLOSED ERRATA QA Contact: Jan Blazek <jblazek>
Severity: unspecified Docs Contact: Mariya Pershina <mpershin>
Priority: unspecified    
Version: 9.3CC: james.antill, jkolarik, jose-angel.orueta, mpershin, nsella, swm-qe, toddr
Target Milestone: rcKeywords: Triaged
Target Release: ---Flags: pm-rhel: mirror+
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: dnf-plugins-core-4.3.0-8.el9 Doc Type: Bug Fix
Doc Text:
.The `dnf needs-restarting -s` command now correctly displays the list of systemd services Previously, when you used the `needs-restarting` command with the `-s` or `--services` option, an error occurred when a non-systemd or malfunctioning process was detected. With this update, the `dnf needs-restarting -s` command ignores such processes and displays a warning instead with the list of affected systemd services.
Story Points: ---
Clone Of: 2122587 Environment:
Last Closed: 2023-11-07 08:54:31 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:
Bug Depends On: 2122587    
Bug Blocks:    

Description Jan Kolarik 2023-05-11 09:14:51 UTC
+++ This bug was initially created as a clone of Bug #2122587 +++

Description of problem:
The "dnf needs-restarting -s" command fail when a mysql container is running in the same host and a "systemd-libs" update has been donwloaded by dnf-automatic.

The command seems to identify the MySQL container like a service.

Steps to Reproduce:
1. Deploy a MySQL container mapping the /var/lib/mysql to a volume.
2. dnf-automatic donwloads a new version of "systemd-libs" package.
3. Execute "dnf needs-restarting -s".

Actual results:
[root@xxxxxxx ~]# dnf needs-restarting -s
Traceback (most recent call last):
  File "/usr/bin/dnf", line 58, in <module>
    main.user_main(sys.argv[1:], exit_code=True)
  File "/usr/lib/python3.6/site-packages/dnf/cli/main.py", line 201, in user_main
    errcode = main(args)
  File "/usr/lib/python3.6/site-packages/dnf/cli/main.py", line 67, in main
    return _main(base, args, cli_class, option_parser_class)
  File "/usr/lib/python3.6/site-packages/dnf/cli/main.py", line 106, in _main
    return cli_run(cli, base)
  File "/usr/lib/python3.6/site-packages/dnf/cli/main.py", line 122, in cli_run
    cli.run()
  File "/usr/lib/python3.6/site-packages/dnf/cli/cli.py", line 1055, in run
    return self.command.run()
  File "/usr/lib/python3.6/site-packages/dnf-plugins/needs_restarting.py", line 278, in run
    names = set([get_service_dbus(pid) for pid in sorted(stale_pids)])
  File "/usr/lib/python3.6/site-packages/dnf-plugins/needs_restarting.py", line 278, in <listcomp>
    names = set([get_service_dbus(pid) for pid in sorted(stale_pids)])
  File "/usr/lib/python3.6/site-packages/dnf-plugins/needs_restarting.py", line 142, in get_service_dbus
    systemd_manager_interface.GetUnitByPID(pid)
  File "/usr/lib64/python3.6/site-packages/dbus/proxies.py", line 70, in __call__
    return self._proxy_method(*args, **keywords)
  File "/usr/lib64/python3.6/site-packages/dbus/proxies.py", line 145, in __call__
    **keywords)
  File "/usr/lib64/python3.6/site-packages/dbus/connection.py", line 651, in call_blocking
    message, timeout)
dbus.exceptions.DBusException: org.freedesktop.systemd1.NoUnitForPID: PID 1456 does not belong to any loaded unit.

Expected results:


Additional info:
"dnf needs-restarting -r" shows the following result:

Core libraries or services have been updated since boot-up:
  * systemd

Reboot is required to fully utilize these updates.
More information: https://access.redhat.com/solutions/27943

--- Additional comment from Jaroslav Mracek on 2023-03-21 15:32:22 CET ---

We should investigate what we can do with it.

--- Additional comment from Todd Rinaldo on 2023-04-28 22:39:59 CEST ---

There's a proposed patch for this at https://github.com/cpanel/elevate/pull/245

--- Additional comment from Todd Rinaldo on 2023-04-28 22:41:18 CEST ---

Sorry, bad link. There's a proposed fix at https://github.com/rpm-software-management/dnf-plugins-core/pull/487

Comment 1 Jan Kolarik 2023-05-11 09:16:26 UTC
Cloned from the RHEL 8 bug: https://bugzilla.redhat.com/show_bug.cgi?id=2122587.

Comment 9 errata-xmlrpc 2023-11-07 08:54:31 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 (dnf-plugins-core bug fix and enhancement update), 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/RHBA-2023:6641