diff options
Diffstat (limited to 'ipaplatform/redhat/services.py')
-rw-r--r-- | ipaplatform/redhat/services.py | 17 |
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 |