summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZuul <zuul@review.openstack.org>2018-07-12 01:46:49 +0000
committerGerrit Code Review <review@openstack.org>2018-07-12 01:46:49 +0000
commit25e23988b3be622d51c651f6db339594da01501b (patch)
tree9e7f131981fa2d6e6b99dd60e751e8d408073702
parent47fb18c41b4851ba6071f0215e96e222b8ccef29 (diff)
parent2901e1e9ef1932b0b3874e608422bbfdfbd1448a (diff)
downloadpython-swiftclient-25e23988b3be622d51c651f6db339594da01501b.tar.gz
Merge "Treat 404 as success when deleting segments"
-rw-r--r--swiftclient/service.py19
1 files changed, 10 insertions, 9 deletions
diff --git a/swiftclient/service.py b/swiftclient/service.py
index 0679fec..eedad46 100644
--- a/swiftclient/service.py
+++ b/swiftclient/service.py
@@ -2473,17 +2473,18 @@ class SwiftService(object):
def _delete_segment(conn, container, obj, results_queue=None):
results_dict = {}
try:
- conn.delete_object(container, obj, response_dict=results_dict)
res = {'success': True}
+ conn.delete_object(container, obj, response_dict=results_dict)
except Exception as err:
- traceback, err_time = report_traceback()
- logger.exception(err)
- res = {
- 'success': False,
- 'error': err,
- 'traceback': traceback,
- 'error_timestamp': err_time
- }
+ if not isinstance(err, ClientException) or err.http_status != 404:
+ traceback, err_time = report_traceback()
+ logger.exception(err)
+ res = {
+ 'success': False,
+ 'error': err,
+ 'traceback': traceback,
+ 'error_timestamp': err_time
+ }
res.update({
'action': 'delete_segment',