summaryrefslogtreecommitdiffstats
path: root/ipaplatform
diff options
context:
space:
mode:
authorMartin Basti <mbasti@redhat.com>2014-11-18 19:49:15 +0100
committerJan Cholasta <jcholast@redhat.com>2014-12-10 16:59:56 +0000
commit337faf506462a01c6dbcd00f2039ed5627691864 (patch)
treec8996b70536e5f6d28a7951d7d244ad502d6e42f /ipaplatform
parent6d3403edacbf547c31085acb0d542ec7f56c6e90 (diff)
downloadfreeipa-337faf506462a01c6dbcd00f2039ed5627691864.tar.gz
freeipa-337faf506462a01c6dbcd00f2039ed5627691864.tar.xz
freeipa-337faf506462a01c6dbcd00f2039ed5627691864.zip
Using wget to get status of CA
This is just workaround Ticket: https://fedorahosted.org/freeipa/ticket/4676 Reviewed-By: Jan Cholasta <jcholast@redhat.com>
Diffstat (limited to 'ipaplatform')
-rw-r--r--ipaplatform/redhat/services.py27
1 files changed, 26 insertions, 1 deletions
diff --git a/ipaplatform/redhat/services.py b/ipaplatform/redhat/services.py
index 58ffebc48..20d0adec4 100644
--- a/ipaplatform/redhat/services.py
+++ b/ipaplatform/redhat/services.py
@@ -24,6 +24,7 @@ Contains Red Hat OS family-specific service class implementations.
import os
import time
+import xml.dom.minidom
from ipaplatform.tasks import tasks
from ipaplatform.base import services as base_services
@@ -185,7 +186,31 @@ class RedHatCAService(RedHatService):
op_timeout = time.time() + timeout
while time.time() < op_timeout:
try:
- status = dogtag.ca_status(use_proxy=use_proxy)
+ # FIXME https://fedorahosted.org/freeipa/ticket/4716
+ # workaround
+ #
+ # status = dogtag.ca_status(use_proxy=use_proxy)
+ #
+ port = 8443
+ if use_proxy:
+ port = 443
+
+ url = "https://%(host_port)s%(path)s" % {
+ "host_port": ipautil.format_netloc(api.env.ca_host, port),
+ "path": "/ca/admin/ca/getStatus"
+ }
+
+ args = [
+ paths.BIN_WGET,
+ '-S', '-O', '-',
+ '--timeout=30',
+ url
+ ]
+
+ stdout, stderr, returncode = ipautil.run(args)
+
+ status = dogtag._parse_ca_status(stdout)
+ # end of workaround
except Exception:
status = 'check interrupted'
root_logger.debug('The CA status is: %s' % status)