Sounds like the go sdk adds a location constraint to requests that
don't go to us-east-1. RGW itself is definitely isn't tied to
us-east-1, and does not know anything about it (unless you happen to
have a zonegroup named us-east-1). Maybe there's a way to configure
the sdk to avoid doing that?


On Sun, Feb 18, 2018 at 1:54 PM, F21 <> wrote:
> I am using the AWS Go SDK v2 ( to talk
> to my RGW instance using the s3 interface. I am running ceph in docker using
> the ceph/daemon docker images in demo mode. The RGW is started with a
> zonegroup and zone with their names set to an empty string by the scripts in
> the image.
> I have ForcePathStyle for the client set to true, because I want to access
> all my buckets using the path: myrgw.instance:8080/somebucket.
> I noticed that if I set the region for the client to anything other than
> us-east-1, I get this error when creating a bucket:
> InvalidLocationConstraint: The specified location-constraint is not valid.
> If I set the region in the client to something made up, such as "ceph" and
> the LocationConstraint to "ceph", I still get the same error.
> The only way to get my buckets to create successfully is to set the client's
> region to us-east-1. I have grepped the ceph code base and cannot find any
> references to us-east-1. In addition, I looked at the AWS docs for
> calculating v4 signatures and us-east-1 is the default region but I can see
> that the region string is used in the calculation (i.e. the region is not
> ignored when calculating the signature if it is set to us-east-1).
> Why do my buckets create successfully if I set the region in my s3 client to
> us-east-1, but not otherwise? If I do not want to use us-east-1 as my
> default region, for example, if I want us-west-1 as my default region, what
> should I be configuring in ceph?
> Thanks,
> Francis
> _______________________________________________
> ceph-users mailing list
ceph-users mailing list

Reply via email to