Hi Mark,
Good you got the solution. But since you have already done authenticating
RadosGW with Keystone, I am having one issue that you can help with. For me
I get an error "411 Length Required" with Keystone token authentication.
To fix this I use "WSGIChunkedRequest On" in rgw.conf as mentioned in
http://tracker.ceph.com/issues/7796.

Did you face the issue, if yes what was your solution.


On Wed, Oct 8, 2014 at 12:22 PM, Mark Kirkwood <
mark.kirkw...@catalyst.net.nz> wrote:

> On 08/10/14 18:46, Mark Kirkwood wrote:
>
>> I have a recent ceph (0.85-1109-g73d7be0) configured to use keystone for
>> authentication:
>>
>> $ cat ceph.conf
>> ...
>> [client.radosgw.gateway]
>> host = ceph4
>> keyring = /etc/ceph/ceph.rados.gateway.keyring
>> rgw_socket_path = /var/run/ceph/$name.sock
>> log_file = /var/log/ceph/radosgw.log
>> rgw_data = /var/lib/ceph/radosgw/$cluster-$id
>> rgw_dns_name = ceph4
>> rgw print continue = false
>> debug rgw = 20
>> rgw keystone url = http://stack1:35357
>> rgw keystone admin token = tokentoken
>> rgw keystone accepted roles = admin Member _member_
>> rgw keystone token cache size = 500
>> rgw keystone revocation interval = 500
>> rgw s3 auth use keystone = true
>> nss db path = /var/ceph/nss/
>>
>> So ceph4 is the rgw and stack1 is a devstack setup with keystone
>> endpoints for S3 and Swift pointing to the ceph4 host:
>>
>> $ keystone endpoint-list
>> ...
>> | b884053b2c6f4217ad643c25c001217b | RegionOne |
>> http://ceph4                 |                  http://ceph4
>> |                  http://ceph4                 |
>> be62ab8531d143a7bce5ae6020d13918 |
>> | d7a8338dd5684f5d8dfde406b0780462 | RegionOne |
>> http://ceph4/swift/v1/            |             http://ceph4/swift/v1/
>>            |             http://ceph4/swift/v1/            |
>> c2d4550d71e94a6a966af810c9ad0568 |
>>
>> When I create some buckets and keys using the S3 api (Boto) then I can
>> list them and their contents (see attached)
>>
>> demo-bucket0    2014-10-08T05:02:03.000Z
>>      hello.txt    12    2014-10-08T05:02:06.000Z
>>
>> When I try a similar thing via swift:
>> $ swift upload container0 file
>> Object PUT failed: http://ceph4/swift/v1/container0/local.conf 404 Not
>> Found   NoSuchBucket
>>
>> Hmm - using swift to list containers shows:
>>
>> $ swift list
>> /container0
>> demo-bucket0
>>
>> So a new bucket has been created, but note a leading '/' has been added
>> to the name. Now retrying my simple s3 list gets:
>>
>> /container0    2014-10-08T05:02:19.000Z
>> Traceback (most recent call last):
>>    File "./s3-test-ls.py", line 24, in <module>
>>      for key in bucket.list():
>>    File
>> "/usr/lib/python2.7/dist-packages/boto/s3/bucketlistresultset.py", line
>> 30, in bucket_lister
>>      delimiter=delimiter, headers=headers)
>>    File "/usr/lib/python2.7/dist-packages/boto/s3/bucket.py", line 392,
>> in get_all_keys
>>      '', headers, **params)
>>    File "/usr/lib/python2.7/dist-packages/boto/s3/bucket.py", line 343,
>> in _get_all
>>      response.status, response.reason, body)
>> boto.exception.S3ResponseError: S3ResponseError: 404 Not Found
>> <?xml version="1.0"
>> encoding="UTF-8"?><Error><Code>NoSuchBucket</Code></Error>
>>
>>
>> I'm guessing the leading '/' is the culprit.
>>
>>
>
> Well it certainly is. I wondered if the issue might be the apache2 fastcgi
> modules, so replaced it with the ceph one from
> http://gitbuilder.ceph.com/libapache-mod-fastcgi-deb-
> trusty-x86_64-basic/ref/master/ . No difference.
>
> The light dawned. My swift endpoint urls all have trailing '/' on them,
> viz:
>
>  | d7a8338dd5684f5d8dfde406b0780462 | RegionOne | http://ceph4/swift/v1/
>           |             http://ceph4/swift/v1/          |
> http://ceph4/swift/v1/            | c2d4550d71e94a6a966af810c9ad0568 |
>
> Changing  to:
>
> | d7a8338dd5684f5d8dfde406b0780462 | RegionOne | http://ceph4/swift/v1
>        |             http://ceph4/swift/v1           |
> http://ceph4/swift/v1            | c2d4550d71e94a6a966af810c9ad0568 |
>
>
> ...and redoing a swift upload:
> $ swift upload container1 stackrc
> stackrc
> $ swift list
> /container0
> container1
>
> Excellent, how about listing the container:
>
> $ swift list container1
> stackrc
>
> Ok, so looking good now. Checking the current docs
> http://docs.ceph.com/docs/master/radosgw/keystone/ they do *not* have the
> trailing '/'s, so unless I was looking at some older ones that *did* have
> 'em ...I managed to typo the url's myself. Hmm. Unfortunate.
>
> Regards
>
> Mark
>
>
> _______________________________________________
> ceph-users mailing list
> ceph-users@lists.ceph.com
> http://lists.ceph.com/listinfo.cgi/ceph-users-ceph.com
>



-- 

    .- <O> -.        .-====-.      ,-------.      .-=<>=-.
   /_-\'''/-_\      / / '' \ \     |,-----.|     /__----__\
  |/  o) (o  \|    | | ')(' | |   /,'-----'.\   |/ (')(') \|
   \   ._.   /      \ \    / /   {_/(') (')\_}   \   __   /
   ,>-_,,,_-<.       >'=jf='<     `.   _   .'    ,'--__--'.
 /      .      \    /        \     /'-___-'\    /    :|    \
(_)     .     (_)  /          \   /         \  (_)   :|   (_)
 \_-----'____--/  (_)        (_) (_)_______(_)   |___:|____|
  \___________/     |________|     \_______/     |_________|


Thanks and Regards

Ashish Chandra

Openstack Developer, Cloud Engineering

Reliance Jio
_______________________________________________
ceph-users mailing list
ceph-users@lists.ceph.com
http://lists.ceph.com/listinfo.cgi/ceph-users-ceph.com

Reply via email to