summaryrefslogtreecommitdiffstats
path: root/ipaplatform/redhat/services.py
diff options
context:
space:
mode:
Diffstat (limited to 'ipaplatform/redhat/services.py')
-rw-r--r--ipaplatform/redhat/services.py17
1 files changed, 17 insertions, 0 deletions
diff --git a/ipaplatform/redhat/services.py b/ipaplatform/redhat/services.py
index 92dae452a..849737059 100644
--- a/ipaplatform/redhat/services.py
+++ b/ipaplatform/redhat/services.py
@@ -222,6 +222,23 @@ class RedHatCAService(RedHatService):
if wait:
self.wait_until_running()
+ def is_running(self, instance_name="", wait=True):
+ if instance_name:
+ return super(RedHatCAService, self).is_running(instance_name)
+ try:
+ status = dogtag.ca_status()
+ if status == 'running':
+ return True
+ elif status == 'starting' and wait:
+ # Exception is raised if status is 'starting' even after wait
+ self.wait_until_running()
+ return True
+ except Exception as e:
+ root_logger.debug(
+ 'Failed to check CA status: {err}'.format(err=e)
+ )
+ return False
+
# Function that constructs proper Red Hat OS family-specific server classes for
# services of specified name