From a885078faf719d5dbd68981ed8f0420de36484ca Mon Sep 17 00:00:00 2001 From: Andy Boyett Date: Wed, 22 Feb 2017 01:43:03 -0800 Subject: [PATCH] fix(create-bucket): avoid S3 InvalidLocationConstraint error calling create_bucket(bucket_name, region="us-east-1") yields the following error: boto.exception.S3ResponseError: S3ResponseError: 400 Bad Request InvalidLocationConstraint The specified location-constraint is not valid us-east-1... based on the comments in boto/boto3#125 this commit omits the region kwarg to the create_bucket() call when `s3.region` is set to "us-east-1" --- rootfs/bin/create-bucket | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/rootfs/bin/create-bucket b/rootfs/bin/create-bucket index 9a3b891..6e5d2a9 100755 --- a/rootfs/bin/create-bucket +++ b/rootfs/bin/create-bucket @@ -25,7 +25,11 @@ if os.getenv('REGISTRY_STORAGE') == "s3" and os.getenv('REGISTRY_STORAGE_S3_BACK conn = boto.s3.connect_to_region(region) if not bucket_exists(conn, bucket_name): - conn.create_bucket(bucket_name, location=region) + if region == "us-east-1": + # use "US Standard" region. workaround for https://github.com/boto/boto3/issues/125 + conn.create_bucket(bucket_name) + else: + conn.create_bucket(bucket_name, location=region) elif os.getenv('REGISTRY_STORAGE') == "gcs": scopes = ['https://www.googleapis.com/auth/devstorage.full_control']