From 099dd66265dfdc94e162eba4c1ec3a33b305bc26 Mon Sep 17 00:00:00 2001 From: Tim Burke Date: Fri, 17 Mar 2023 16:14:15 -0700 Subject: Retry on SSLError ...provided it isn't something to do with certification validation. Closes-Bug: #1641363 Closes-Bug: #2011731 Change-Id: Ic3acbf431e444fcd8bc0fe79571fe2db4140cf22 --- swiftclient/client.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'swiftclient') diff --git a/swiftclient/client.py b/swiftclient/client.py index b9f12aa..0635090 100644 --- a/swiftclient/client.py +++ b/swiftclient/client.py @@ -1798,8 +1798,13 @@ class Connection: service_token=self.service_token, **kwargs) self._add_response_dict(caller_response_dict, kwargs) return rv - except SSLError: - raise + except SSLError as e: + self._add_response_dict(caller_response_dict, kwargs) + if ('certificate verify' in str(e)) or \ + ('hostname' in str(e)) or \ + self.attempts > self.retries: + raise + self.http_conn = None except (socket.error, RequestException): self._add_response_dict(caller_response_dict, kwargs) if self.attempts > self.retries: -- cgit v1.2.1