From f8036d01a5208f4031534ee8deeb1d7096ae3960 Mon Sep 17 00:00:00 2001 From: Grzegorz Grasza Date: Sun, 2 Dec 2018 17:02:17 +0100 Subject: [PATCH] Reconnect on httplib.ResponseNotReady In CI we get a random ResponseNotReady exception, which is caused by the server closing the keepalive socket. This will close and retry the connection. This patch adds this reconnect in a second place that was missed. Change-Id: I745aea8dcb51598ca7d7a371dce66c7dd6ae8005 --- novajoin/ipa.py | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/novajoin/ipa.py b/novajoin/ipa.py index c099d37..dceb4d8 100644 --- a/novajoin/ipa.py +++ b/novajoin/ipa.py @@ -224,6 +224,14 @@ class IPANovaJoinBase(object): self.__backoff() else: raise + except http_client.ResponseNotReady: + # NOTE(xek): This means that the server closed the socket, + # so keep-alive ended and we can't use that connection. + api.Backend.rpcclient.disconnect() + if self.backoff: + self.__backoff() + else: + raise def _ipa_client_configured(self): """Determine if the machine is an enrolled IPA client.