summaryrefslogtreecommitdiff
path: root/swiftclient
diff options
context:
space:
mode:
authorZuul <zuul@review.opendev.org>2023-03-21 19:37:06 +0000
committerGerrit Code Review <review@openstack.org>2023-03-21 19:37:06 +0000
commit62641a2f49e0d9e66730e0c5932c4350cad44cc4 (patch)
tree83d1120469fdcea0c9982ce6877d093b9269c564 /swiftclient
parent9e703b9345cffd90d723e0ce5c180a385c75c62e (diff)
parent099dd66265dfdc94e162eba4c1ec3a33b305bc26 (diff)
downloadpython-swiftclient-62641a2f49e0d9e66730e0c5932c4350cad44cc4.tar.gz
Merge "Retry on SSLError"
Diffstat (limited to 'swiftclient')
-rw-r--r--swiftclient/client.py9
1 files changed, 7 insertions, 2 deletions
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: