Guard dbus.start() with dbus.is_running()

Some platforms like Debian protect the dbus.service with
RefuseManualStart=True. "systemctl start dbus" fails with operation
refused (it is configured to refuse manual start/stop). On Fedora
"systemctl start dbus" is a no-op when dbus is already running.

Signed-off-by: Christian Heimes <cheimes@redhat.com>
Reviewed-By: Alexander Bokovoy <abokovoy@redhat.com>
This commit is contained in:
Christian Heimes
2019-04-26 09:01:42 +02:00
parent beffa7bcda
commit 4f3c4f87a1
3 changed files with 16 additions and 8 deletions

View File

@@ -981,7 +981,9 @@ class CAInstance(DogtagInstance):
# cause files to have a new owner.
self.restore_state("user_exists")
services.knownservices.dbus.start()
if not services.knownservices.dbus.is_running():
# some platforms protect dbus with RefuseManualStart=True
services.knownservices.dbus.start()
cmonger = services.knownservices.certmonger
cmonger.start()