Merge pull request #272 from cbodley/wip-delete-retry

nuke_prefixed_buckets() ignores 404 from bucket delete
This commit is contained in:
Ali Maredia 2019-04-23 14:56:00 -04:00 committed by GitHub
commit 37e6825d04
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 15 additions and 2 deletions

View file

@ -91,7 +91,13 @@ def nuke_prefixed_buckets_on_conn(prefix, name, conn):
))
# key.set_canned_acl('private')
bucket.delete_key(key.name, version_id = key.version_id)
bucket.delete()
try:
bucket.delete()
except boto.exception.S3ResponseError as e:
# if DELETE times out, the retry may see NoSuchBucket
if e.error_code != 'NoSuchBucket':
raise e
pass
success = True
except boto.exception.S3ResponseError as e:
if e.error_code != 'AccessDenied':

View file

@ -1,6 +1,7 @@
import boto3
from botocore import UNSIGNED
from botocore.client import Config
from botocore.exceptions import ClientError
from botocore.handlers import disable_signing
import ConfigParser
import os
@ -123,7 +124,13 @@ def nuke_prefixed_buckets(prefix, client=None):
delete_markers = get_delete_markers_list(bucket_name, client)
for obj in delete_markers:
response = client.delete_object(Bucket=bucket_name,Key=obj[0],VersionId=obj[1])
client.delete_bucket(Bucket=bucket_name)
try:
client.delete_bucket(Bucket=bucket_name)
except ClientError, e:
# if DELETE times out, the retry may see NoSuchBucket
if e.response['Error']['Code'] != 'NoSuchBucket':
raise e
pass
print('Done with cleanup of buckets in tests.')