RGW region metadata sync prevents writes to non-master region

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

I am following http://docs.ceph.com/docs/master/radosgw/federated-config/ using cepg 0.91 (0.91-665-g6f44f7a):

- 2 regions (US and EU). US is the master region
- 2 ceph clusters, one per region
- 4 zones (us east and west, eu east and west
- 4 hosts (ceph1 + ceph2 being us-west + us-east rgws, ceph3 + ceph4 same for eu region)
- us.east, eu-east are master zones
- us.east has metadata replicated to eu-east

Now all that works fine, I can see the meta data replicated.

Also I can list buckets when connected to the eu-east rgw. So the unified namespace thing seems to be working at that level. However if I try to write to eu-west I get:

Traceback (most recent call last):
  File "./test-backup.py", line 17, in <module>
    bucket = conn.create_bucket('bucket1', location='eu')
File "/usr/lib/python2.7/dist-packages/boto/s3/connection.py", line 504, in create_bucket
    response.status, response.reason, body)
boto.exception.S3ResponseError: S3ResponseError: 403 Forbidden
<?xml version="1.0" encoding="UTF-8"?><Error><Code>AccessDenied</Code></Error>


In the rgw log (see below) I see the request is being forwarded to the master region (US), however it is going to the endpoint for the us-*west* zone for some reason. This makes me wonder if I have understood how this is supposed to work - in particular is the multi region metadata sync supposed to allow writes to the non master regions?

Fri, 23 Jan 2015 02:17:48 GMT
/bucket1/
2015-01-23 02:17:47.785011 7fe6bbfa7700 15 calculated digest=tnADNHPx1FmGsEZ7IdIlDS8j5ds= 2015-01-23 02:17:47.785013 7fe6bbfa7700 15 auth_sign=tnADNHPx1FmGsEZ7IdIlDS8j5ds=
2015-01-23 02:17:47.785014 7fe6bbfa7700 15 compare=0
2015-01-23 02:17:47.785016 7fe6bbfa7700 2 req 1:0.002936:s3:PUT /bucket1/:create_bucket:reading permissions 2015-01-23 02:17:47.785019 7fe6bbfa7700 2 req 1:0.002940:s3:PUT /bucket1/:create_bucket:init op 2015-01-23 02:17:47.785024 7fe6bbfa7700 2 req 1:0.002945:s3:PUT /bucket1/:create_bucket:verifying op mask
2015-01-23 02:17:47.785029 7fe6bbfa7700 20 required_mask= 2 user.op_mask=7
2015-01-23 02:17:47.785030 7fe6bbfa7700 2 req 1:0.002951:s3:PUT /bucket1/:create_bucket:verifying op permissions 2015-01-23 02:17:47.785721 7fe6bbfa7700 2 req 1:0.003640:s3:PUT /bucket1/:create_bucket:verifying op params 2015-01-23 02:17:47.785726 7fe6bbfa7700 2 req 1:0.003647:s3:PUT /bucket1/:create_bucket:executing 2015-01-23 02:17:47.785802 7fe6bbfa7700 20 create bucket input data=<CreateBucketConfiguration><LocationConstraint>eu</LocationConstraint></CreateBucketConfiguration> 2015-01-23 02:17:47.785804 7fe6bbfa7700 10 create bucket location constraint: eu 2015-01-23 02:17:47.785817 7fe6bbfa7700 20 get_obj_state: rctx=0x7fe6bbfa61c0 obj=.eu-east.domain.rgw:bucket1 state=0x7fe72402b870 s->prefetch_data=0 2015-01-23 02:17:47.785821 7fe6bbfa7700 10 cache get: name=.eu-east.domain.rgw+bucket1 : miss 2015-01-23 02:17:47.786387 7fe6bbfa7700 10 cache put: name=.eu-east.domain.rgw+bucket1 2015-01-23 02:17:47.786393 7fe6bbfa7700 10 adding .eu-east.domain.rgw+bucket1 to cache LRU end 2015-01-23 02:17:47.786396 7fe6bbfa7700 0 sending create_bucket request to master region 2015-01-23 02:17:47.786418 7fe6bbfa7700 20 RGWEnv::set(): HTTP_DATE: Fri Jan 23 02:17:47 2015 2015-01-23 02:17:47.786421 7fe6bbfa7700 0 > HTTP_DATE -> Fri Jan 23 02:17:47 2015 2015-01-23 02:17:47.786426 7fe6bbfa7700 10 get_canon_resource(): dest=/bucket1/
2015-01-23 02:17:47.786427 7fe6bbfa7700 10 generated canonical header: PUT


Fri Jan 23 02:17:47 2015
/bucket1/
2015-01-23 02:17:47.786434 7fe6bbfa7700 15 generated auth header: AWS eu-east key:9apR1YHZnkBjJf2cetbhrZF4SZY= 2015-01-23 02:17:47.786462 7fe6bbfa7700 20 sending request to http://ceph1:80/bucket1/?rgwx-uid=markir&rgwx-region=eu
2015-01-23 02:17:47.916656 7fe6bbfa7700 10 receive_http_header
2015-01-23 02:17:47.916669 7fe6bbfa7700 10 received header:HTTP/1.1 403 Forbidden
2015-01-23 02:17:47.916671 7fe6bbfa7700 10 receive_http_header
2015-01-23 02:17:47.916672 7fe6bbfa7700 10 received header:Date: Fri, 23 Jan 2015 02:17:48 GMT
2015-01-23 02:17:47.916681 7fe6bbfa7700 10 receive_http_header
2015-01-23 02:17:47.916681 7fe6bbfa7700 10 received header:Server: Apache/2.4.7 (Ubuntu)
2015-01-23 02:17:47.916683 7fe6bbfa7700 10 receive_http_header
2015-01-23 02:17:47.916684 7fe6bbfa7700 10 received header:Accept-Ranges: bytes
2015-01-23 02:17:47.916687 7fe6bbfa7700 10 receive_http_header
2015-01-23 02:17:47.916688 7fe6bbfa7700 10 received header:Content-Length: 84
2015-01-23 02:17:47.916699 7fe6bbfa7700 10 receive_http_header
2015-01-23 02:17:47.916700 7fe6bbfa7700 10 received header:Connection: close
2015-01-23 02:17:47.916702 7fe6bbfa7700 10 receive_http_header
2015-01-23 02:17:47.916702 7fe6bbfa7700 10 received header:Content-Type: application/xml
2015-01-23 02:17:47.916703 7fe6bbfa7700 10 receive_http_header
2015-01-23 02:17:47.916704 7fe6bbfa7700 10 received header:
2015-01-23 02:17:47.916809 7fe6bbfa7700 2 req 1:0.134729:s3:PUT /bucket1/:create_bucket:http status=403 2015-01-23 02:17:47.916814 7fe6bbfa7700 1 ====== req done req=0x7fe71c036e40 http_status=403 ======
_______________________________________________
ceph-users mailing list
ceph-users@xxxxxxxxxxxxxx
http://lists.ceph.com/listinfo.cgi/ceph-users-ceph.com




[Index of Archives]     [Information on CEPH]     [Linux Filesystem Development]     [Ceph Development]     [Ceph Large]     [Ceph Dev]     [Linux USB Development]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [xfs]


  Powered by Linux