Hi, Martin asked me to update the patch I've attached to ticket https://fedorahosted.org/freeipa/ticket/3492 and here we go.
Process exceptions when talking to Dogtag The problem is the ca_status() uses an HTTP GET operation to check
Dogtag's status. Under some circumstances Dogtag may take a long time to respond, so the HTTP GET may time out much earlier than 2 minutes. And since the above code doesn't catch the exception, the whole loop fails immediately, so it doesn't wait for a full 2 minutes as expected. -- / Alexander Bokovoy
>From 15b60ee4f1dd39ccb406c3e35be086158eab782e Mon Sep 17 00:00:00 2001 From: Alexander Bokovoy <aboko...@redhat.com> Date: Wed, 6 Mar 2013 10:17:58 +0200 Subject: [PATCH 2/2] Process exceptions when talking to Dogtag The problem is the ca_status() uses an HTTP GET operation to check Dogtag's status. Under some circumstances Dogtag may take a long time to respond, so the HTTP GET may time out much earlier than 2 minutes. And since the above code doesn't catch the exception, the whole loop fails immediately, so it doesn't wait for a full 2 minutes as expected. https://fedorahosted.org/freeipa/ticket/3492 --- ipapython/platform/fedora16/service.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/ipapython/platform/fedora16/service.py b/ipapython/platform/fedora16/service.py index c2e35d3..dac8c00 100644 --- a/ipapython/platform/fedora16/service.py +++ b/ipapython/platform/fedora16/service.py @@ -136,7 +136,10 @@ class Fedora16CAService(Fedora16Service): timeout = api.env.startup_timeout op_timeout = time.time() + timeout while time.time() < op_timeout: - status = dogtag.ca_status() + try: + status = dogtag.ca_status() + except Exception: + status = 'check interrupted' root_logger.debug('The CA status is: %s' % status) if status == 'running': break -- 1.8.1.4
_______________________________________________ Freeipa-devel mailing list Freeipa-devel@redhat.com https://www.redhat.com/mailman/listinfo/freeipa-devel