Bug 1308549

Summary: Configuration file /etc/dbus-1/system.d/com.redhat.tuned.conf was not loaded on s390x
Product: Red Hat Enterprise Linux 7 Reporter: Tereza Cerna <tcerna>
Component: dbusAssignee: David King <dking>
Status: CLOSED DUPLICATE QA Contact: Desktop QE <desktop-qa-list>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 7.2CC: andrey.arapov, jskarvad
Target Milestone: rc   
Target Release: 7.3   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2016-02-16 13:51:49 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 Tereza Cerna 2016-02-15 13:41:55 UTC
Configuration file /etc/dbus-1/system.d/com.redhat.tuned.conf was not loaded.

Service tuned is dead after installation machine of architecture s390x. Restart of this service does not work. 

# journalctl -u dbus
...
úno 15 04:08:29 ibm-z10-56.rhts.eng.bos.redhat.com dbus[1100]: Encountered error 'Failed to open "/etc/dbus-1/system.d/com.redhat.tuned.conf": Permission denied' while parsing '/etc/dbus-1/system.d/com.redhat.tu
úno 15 04:08:29 ibm-z10-56.rhts.eng.bos.redhat.com dbus[1100]: [system] Reloaded configuration
úno 15 04:08:29 ibm-z10-56.rhts.eng.bos.redhat.com dbus-daemon[1100]: dbus[1100]: Encountered error 'Failed to open "/etc/dbus-1/system.d/com.redhat.tuned.conf": Permission denied' while parsing '/etc/dbus-1/sys
úno 15 04:08:29 ibm-z10-56.rhts.eng.bos.redhat.com dbus-daemon[1100]: dbus[1100]: [system] Reloaded configuration


Problem is solved when service dbus is restarted.


=== REPRODUCER ===

# rpm -q tuned dbus
tuned-2.5.1-4.el7_2.3.noarch
dbus-1.6.12-13.el7.s390x

# arch
s390x

# systemctl status tuned | grep Active
   Active: failed (Result: timeout) since Po 2016-02-15 07:24:50 EST; 18min ago
# systemctl start tuned
Job for tuned.service failed because a timeout was exceeded. See "systemctl status tuned.service" and "journalctl -xe" for details.

# tuned -D
...
2016-02-15 07:37:43,950 DEBUG    tuned.utils.plugin_loader: loading module tuned.plugins.plugin_disk
Exception in thread Thread-1:
Traceback (most recent call last):
  File "/usr/lib64/python2.7/threading.py", line 811, in __bootstrap_inner
    self.run()
  File "/usr/lib64/python2.7/threading.py", line 764, in run
    self.__target(*self.__args, **self.__kwargs)
  File "/usr/lib/python2.7/site-packages/tuned/exports/dbus_exporter.py", line 93, in _thread_code
    bus_name = dbus.service.BusName(self._bus_name, bus)
  File "/usr/lib64/python2.7/site-packages/dbus/service.py", line 131, in __new__
    retval = bus.request_name(name, name_flags)
  File "/usr/lib64/python2.7/site-packages/dbus/bus.py", line 303, in request_name
    'su', (name, flags))
  File "/usr/lib64/python2.7/site-packages/dbus/connection.py", line 651, in call_blocking
    message, timeout)
DBusException: org.freedesktop.DBus.Error.AccessDenied: Connection ":1.47" is not allowed to own the service "com.redhat.tuned" due to security policies in the configuration file
...

# rpm -qV tuned
# echo $?
0

# journalctl -u dbus 
...
úno 15 04:08:29 ibm-z10-56.rhts.eng.bos.redhat.com dbus[1100]: Encountered error 'Failed to open "/etc/dbus-1/system.d/com.redhat.tuned.conf": Permission denied' while parsing '/etc/dbus-1/system.d/com.redhat.tuned.conf'
...

=== SOLUTION ===

Problem was resolved by restart of dbus:

# systemctl status dbus | grep Active
   Active: active (running) since Po 2016-02-15 08:14:42 EST; 1min 4s ago
# systemctl status tuned | grep Active
   Active: failed (Result: timeout) since Po 2016-02-15 07:27:06 EST; 48min ago

# systemctl restart dbus
# systemctl restart tuned

# systemctl status tuned | grep Active
   Active: active (running) since Po 2016-02-15 08:16:05 EST; 2s ago

=== PROBLEM WAS NOT REPRODUCED WITH THE SAME VERSION OF DBUS AND OLDER VERSION OF TUNED ===

# rpm -q tuned dbus
tuned-2.5.1-4.el7_2.2.noarch
dbus-1.6.12-13.el7.s390x

# arch
s390x

# systemctl status tuned | grep Active
   Active: inactive (dead) since Po 2016-02-15 08:04:35 EST; 7min ago
# systemctl start tuned
# systemctl status tuned | grep Active
   Active: active (running) since Po 2016-02-15 08:12:36 EST; 2s ago

Comment 2 Jaroslav Škarvada 2016-02-15 14:27:10 UTC
From the log it seems like some race, when RPM installs /etc/dbus-1/system.d/com.redhat.tuned.conf, it is sometimes not fully read and applied by dbus. Dbus restart seems to resolve the problem.

Comment 4 David King 2016-02-16 13:51:49 UTC
Installing a new dbus configuration file does not automatically restart the daemon (and restarted the daemon can cause unexpected side effects, such as terminating graphical sessions), so this is in effect a duplicate of an RFE to load the new configuration file automatically.

*** This bug has been marked as a duplicate of bug 1258868 ***

Comment 5 Andrey Arapov 2017-04-26 12:39:07 UTC
Not sure if this has been resolved already, since I have no access to see the bug 1258868. But ``killall -HUP dbus-daemon`` at the RPM's %post scriptlet should be sufficient.

I've hit a similar issue, but with the lightdm, see my comment https://bugzilla.redhat.com/show_bug.cgi?id=1428379#c9