For your item number 3 , can you try :

Removing the keys for sub user  ( testuser:swf0001 )

Once Key is removed for sub user ,  try recreating the key  [ # radosgw-admin 
key create --subuser=testuser:swf0001 --key-type=swift --gen-secret ]


- Karan -

On 12 Aug 2014, at 11:26, debian Only <[email protected]> wrote:

> Dear all
> 
> i have meet some issue when access radosgw.
> Fobidden 403 and fail to create subuser key when use radosgw
> 
> ceph version 0.80.5(ceph osd, radosgw), OS Wheezy
> 
> (1) Reference of installation 
>     http://ceph.com/docs/master/radosgw/config/#configuring-print-continue
> 
> (2) Config File
>     root@ceph-radosgw:~# more /etc/ceph/ceph.conf
>     [global]
>     fsid = ae3da4d2-eef0-47cf-a872-24df8f2c8df4
>     mon_initial_members = ceph01-vm
>     mon_host = 192.168.123.251
>     auth_cluster_required = cephx
>     auth_service_required = cephx
>     auth_client_required = cephx
>     filestore_xattr_use_omap = true
>     
>     rgw print continue = false
>     rgw dns name = ceph-radosgw
>     debug rgw = 20
>     
>     
>     [client.radosgw.gateway]
>     host = ceph-radosgw
>     keyring = /etc/ceph/ceph.client.radosgw.keyring
>     rgw socket path = /var/run/ceph/ceph.radosgw.gateway.fastcgi.sock
>     log file = /var/log/ceph/client.radosgw.gateway.log
>     
>     root@ceph-admin:~# rados lspools
>      data
>      metadata
>      rbd
>      testpool
>      iscsi
>      pool-A
>      pool-B
>      iscsi_pool
>      .rgw.root
>      .rgw.control
>      .rgw
>      .rgw.gc
>      .users.uid
>      .users
>      .users.swift
>      .users.email
>      .rgw.buckets
>      .rgw.buckets.index
>      .log
>      .intent-log
>      .usage
> 
>  when access radosgw http://192.168.123.191, seam ok
>    <ListAllMyBucketsResult xmlns="http://s3.amazonaws.com/doc/2006-03-01/";>
>    <Owner>
>    <ID>anonymous</ID>
>    <DisplayName/>
>    </Owner>
>    <Buckets/>
>    </ListAllMyBucketsResult>
> 
> 
> (3) error meet when create radosgw user(swift) and gen-key
> 
>     root@ceph-radosgw:~# radosgw-admin user create --uid="testuser" 
> --display-nameFirst User"
>     { "user_id": "testuser",
>       "display_name": "First User",
>       "email": "",
>       "suspended": 0,
>       "max_buckets": 1000,
>       "auid": 0,
>       "subusers": [],
>       "keys": [
>             { "user": "testuser",
>               "access_key": "SU3L3KCDXQ31KJ6BZ04B",
>               "secret_key": "nhA2XNsqwJN8bZlkOEd2UyexMADC9THOhc7UmW4l"}],
>       "swift_keys": [],
>       "caps": [],
>       "op_mask": "read, write, delete",
>       "default_placement": "",
>       "placement_tags": [],
>       "bucket_quota": { "enabled": false,
>           "max_size_kb": -1,
>           "max_objects": -1},
>       "user_quota": { "enabled": false,
>           "max_size_kb": -1,
>           "max_objects": -1},
>       "temp_url_keys": []}
>     root@ceph-radosgw:~# radosgw-admin usage show --show-log-entries=false
>     { "summary": []}root@ceph-radosgw:~# radosgw-admin user create 
> --uid="testuser" First User"^Ce="F
>     root@ceph-radosgw:~# radosgw-admin subuser create --uid=testuser 
> --subuser=testuser:swf0001 --access=full
>     { "user_id": "testuser",
>       "display_name": "First User",
>       "email": "",
>       "suspended": 0,
>       "max_buckets": 1000,
>       "auid": 0,
>       "subusers": [
>             { "id": "testuser:swf0001",
>               "permissions": "full-control"}],
>       "keys": [
>             { "user": "testuser:swf0001",
>               "access_key": "9IN7P6HA6K4JCDO61N67",
>               "secret_key": ""},
>             { "user": "testuser",
>               "access_key": "SU3L3KCDXQ31KJ6BZ04B",
>               "secret_key": "nhA2XNsqwJN8bZlkOEd2UyexMADC9THOhc7UmW4l"}],
>       "swift_keys": [],
>       "caps": [],
>       "op_mask": "read, write, delete",
>       "default_placement": "",
>       "placement_tags": [],
>       "bucket_quota": { "enabled": false,
>           "max_size_kb": -1,
>           "max_objects": -1},
>       "user_quota": { "enabled": false,
>           "max_size_kb": -1,
>           "max_objects": -1},
>       "temp_url_keys": []}
>     root@ceph-radosgw:~# radosgw-admin key create --subuser=testuser:swf0001 
> --key-type=swift --gen-secret
>     could not create key: unable to add access key, unable to store user info
>     2014-08-11 19:56:35.834507 7f4c4f1af780  0 WARNING: can't store user 
> info, swift id () already mapped to another user (testuser)
>     
>     (find it maybe bug ,  http://tracker.ceph.com/issues/9002)
>     
>     
>     root@ceph-radosgw:~# radosgw-admin user create --subuser=testuser:swf0001 
> --display-name="Test User One" --key-type=swift --access=full
>     could not create user: unable to create user, user: testuser exists
>     root@ceph-radosgw:~# radosgw-admin user create --subuser=testuser:swf0001 
> --display-name="Test User One" --key-type=swift --access=full
>     could not create user: unable to create user, user: testuser exists
>     root@ceph-radosgw:~# radosgw-admin user rm --uid=testuser
>     
>     root@ceph-radosgw:~# radosgw-admin user create --subuser=testuser:swf0001 
> --display-name="Test User One" --key-type=swift --access=full
>     { "user_id": "testuser",
>       "display_name": "Test User One",
>       "email": "",
>       "suspended": 0,
>       "max_buckets": 1000,
>       "auid": 0,
>       "subusers": [],
>       "keys": [],
>       "swift_keys": [
>             { "user": "testuser:swf0001",
>               "secret_key": "W\/zZ8T09VPFoPKxnVAJocsmNALoPxEYPmjOwytCj"}],
>       "caps": [],
>       "op_mask": "read, write, delete",
>       "default_placement": "",
>       "placement_tags": [],
>       "bucket_quota": { "enabled": false,
>           "max_size_kb": -1,
>           "max_objects": -1},
>       "user_quota": { "enabled": false,
>           "max_size_kb": -1,
>           "max_objects": -1},
>       "temp_url_keys": []}
> 
> (4) Fobidden when access radosgw api
> 
>     root@ceph-radosgw:~# curl -v -i 
> http://192.168.123.191/auer:testuser:swf0001"; -H 
> "X-Auth-Key:W\/zZ8T09VPFoPKxnVAJocsmNALoPxEYPmjOwytCj"
>     * About to connect() to 192.168.123.191 port 80 (#0)
>     *   Trying 192.168.123.191...
>     * Connected to 192.168.123.191 (192.168.123.191) port 80 (#0)
>     > GET /auth HTTP/1.1
>     > User-Agent: curl/7.29.0
>     > Host: 192.168.123.191
>     > Accept: */*
>     > X-Auth-User:testuser:swf0001
>     > X-Auth-Key:W\/zZ8T09VPFoPKxnVAJocsmNALoPxEYPmjOwytCj
>     >
>     < HTTP/1.1 403 Forbidden
>     HTTP/1.1 403 Forbidden
>     < Date: Tue, 12 Aug 2014 05:00:11 GMT
>     Date: Tue, 12 Aug 2014 05:00:11 GMT
>     < Server: Apache/2.2.22 (Debian)
>     Server: Apache/2.2.22 (Debian)
>     < Accept-Ranges: bytes
>     Accept-Ranges: bytes
>     < Content-Length: 23
>     Content-Length: 23
>     < Content-Type: application/json
>     Content-Type: application/json
>     
>     <
>     * Connection #0 to host 192.168.123.191 left intact
>     {"Code":"AccessDenied"}
> 
> (5) rados gw Log  and my troubleshooting
> 
>     2014-08-11 22:00:11.741947 7f84c1ffb700 20 enqueued request req=0x1e73040
>     2014-08-11 22:00:11.741977 7f84c1ffb700 20 RGWWQ:
>     2014-08-11 22:00:11.741990 7f84c1ffb700 20 req: 0x1e73040
>     2014-08-11 22:00:11.742003 7f84c1ffb700 10 allocated request req=0x1eaaa80
>     2014-08-11 22:00:11.742035 7f84ad7d2700 20 dequeued request req=0x1e73040
>     2014-08-11 22:00:11.742038 7f84ad7d2700 20 RGWWQ: empty
>     2014-08-11 22:00:11.742142 7f84ad7d2700 20 DOCUMENT_ROOT=/var/www
>     2014-08-11 22:00:11.742149 7f84ad7d2700 20 FCGI_ROLE=RESPONDER
>     2014-08-11 22:00:11.742150 7f84ad7d2700 20 GATEWAY_INTERFACE=CGI/1.1
>     2014-08-11 22:00:11.742151 7f84ad7d2700 20 HTTP_ACCEPT=*/*
>     2014-08-11 22:00:11.742152 7f84ad7d2700 20 HTTP_AUTHORIZATION=
>     2014-08-11 22:00:11.742153 7f84ad7d2700 20 HTTP_HOST=192.168.123.191
>     2014-08-11 22:00:11.742154 7f84ad7d2700 20 HTTP_USER_AGENT=curl/7.29.0
>     2014-08-11 22:00:11.742155 7f84ad7d2700 20 
> HTTP_X_AUTH_KEY=W\/zZ8T09VPFoPKxnVAJocsmNALoPxEYPmjOwytCj
>     2014-08-11 22:00:11.742156 7f84ad7d2700 20 
> HTTP_X_AUTH_USER=testuser:swf0001
>     2014-08-11 22:00:11.742157 7f84ad7d2700 20 
> PATH=/usr/local/bin:/usr/bin:/bin
>     2014-08-11 22:00:11.742158 7f84ad7d2700 20 QUERY_STRING=
>     2014-08-11 22:00:11.742159 7f84ad7d2700 20 REMOTE_ADDR=192.168.123.191
>     2014-08-11 22:00:11.742160 7f84ad7d2700 20 REMOTE_PORT=54965
>     2014-08-11 22:00:11.742161 7f84ad7d2700 20 REQUEST_METHOD=GET
>     2014-08-11 22:00:11.742162 7f84ad7d2700 20 REQUEST_URI=/auth
>     2014-08-11 22:00:11.742162 7f84ad7d2700 20 
> SCRIPT_FILENAME=/var/www/s3gw.fcgi
>     2014-08-11 22:00:11.742163 7f84ad7d2700 20 SCRIPT_NAME=/auth
>     2014-08-11 22:00:11.742164 7f84ad7d2700 20 
> SCRIPT_URI=http://192.168.123.191/auth
>     2014-08-11 22:00:11.742165 7f84ad7d2700 20 SCRIPT_URL=/auth
>     2014-08-11 22:00:11.742166 7f84ad7d2700 20 SERVER_ADDR=192.168.123.191
>     2014-08-11 22:00:11.742166 7f84ad7d2700 20 
> [email protected]
>     2014-08-11 22:00:11.742167 7f84ad7d2700 20 SERVER_NAME=192.168.123.191
>     2014-08-11 22:00:11.742168 7f84ad7d2700 20 SERVER_PORT=80
>     2014-08-11 22:00:11.742169 7f84ad7d2700 20 SERVER_PROTOCOL=HTTP/1.1
>     2014-08-11 22:00:11.742170 7f84ad7d2700 20 SERVER_SIGNATURE=
>     2014-08-11 22:00:11.742170 7f84ad7d2700 20 SERVER_SOFTWARE=Apache/2.2.22 
> (Debian)
>     2014-08-11 22:00:11.742172 7f84ad7d2700  1 ====== starting new request 
> req=0x1e73040 =====
>     2014-08-11 22:00:11.742222 7f84ad7d2700  2 req 1:0.000051::GET 
> /auth::initializing
>     2014-08-11 22:00:11.742236 7f84ad7d2700 10 host=192.168.123.191 
> rgw_dns_name=ceph-radosgw
>     2014-08-11 22:00:11.742356 7f84ad7d2700  2 req 1:0.000184:swift-auth:GET 
> /auth::getting op
>     2014-08-11 22:00:11.742364 7f84ad7d2700  2 req 1:0.000193:swift-auth:GET 
> /auth:swift_auth_get:authorizing
>     2014-08-11 22:00:11.742371 7f84ad7d2700  2 req 1:0.000200:swift-auth:GET 
> /auth:swift_auth_get:reading permissions
>     2014-08-11 22:00:11.742374 7f84ad7d2700  2 req 1:0.000203:swift-auth:GET 
> /auth:swift_auth_get:init op
>     2014-08-11 22:00:11.742382 7f84ad7d2700  2 req 1:0.000211:swift-auth:GET 
> /auth:swift_auth_get:verifying op mask
>     2014-08-11 22:00:11.742390 7f84ad7d2700 20 required_mask= 0 user.op_mask=7
>     2014-08-11 22:00:11.742392 7f84ad7d2700  2 req 1:0.000221:swift-auth:GET 
> /auth:swift_auth_get:verifying op permissions
>     2014-08-11 22:00:11.742395 7f84ad7d2700  2 req 1:0.000224:swift-auth:GET 
> /auth:swift_auth_get:verifying op params
>     2014-08-11 22:00:11.742397 7f84ad7d2700  2 req 1:0.000226:swift-auth:GET 
> /auth:swift_auth_get:executing
>     2014-08-11 22:00:11.742508 7f84ad7d2700 20 get_obj_state: 
> rctx=0x7f84c402ff40 obj=.users.swift:testuser:swf0001 state=0x7f84c4030118 
> s->prefetch_data=0
>     2014-08-11 22:00:11.742527 7f84ad7d2700 10 cache get: 
> name=.users.swift+testuser:swf0001 : miss
>     2014-08-11 22:00:11.744140 7f84ad7d2700 10 cache put: 
> name=.users.swift+testuser:swf0001
>     2014-08-11 22:00:11.744168 7f84ad7d2700 10 adding 
> .users.swift+testuser:swf0001 to cache LRU end
>     2014-08-11 22:00:11.744180 7f84ad7d2700 20 get_obj_state: s->obj_tag was 
> set empty
>     2014-08-11 22:00:11.744192 7f84ad7d2700 10 cache get: 
> name=.users.swift+testuser:swf0001 : type miss (requested=1, cached=6)
>     2014-08-11 22:00:11.744223 7f84ad7d2700 20 get_obj_state: 
> rctx=0x7f84c402ff40 obj=.users.swift:testuser:swf0001 state=0x7f84c4030118 
> s->prefetch_data=0
>     2014-08-11 22:00:11.744230 7f84ad7d2700 10 cache get: 
> name=.users.swift+testuser:swf0001 : hit
>     2014-08-11 22:00:11.744234 7f84ad7d2700 20 get_obj_state: s->obj_tag was 
> set empty
>     2014-08-11 22:00:11.744241 7f84ad7d2700 20 get_obj_state: 
> rctx=0x7f84c402ff40 obj=.users.swift:testuser:swf0001 state=0x7f84c4030118 
> s->prefetch_data=0
>     2014-08-11 22:00:11.744244 7f84ad7d2700 20 state for 
> obj=.users.swift:testuser:swf0001 is not atomic, not appending atomic test
>     2014-08-11 22:00:11.744246 7f84ad7d2700 20 rados->read obj-ofs=0 
> read_ofs=0 read_len=524288
>     2014-08-11 22:00:11.745424 7f84ad7d2700 20 rados->read r=0 bl.length=12
>     2014-08-11 22:00:11.745450 7f84ad7d2700 10 cache put: 
> name=.users.swift+testuser:swf0001
>     2014-08-11 22:00:11.745453 7f84ad7d2700 10 moving 
> .users.swift+testuser:swf0001 to cache LRU end
>     2014-08-11 22:00:11.745487 7f84ad7d2700 20 get_obj_state: 
> rctx=0x7f84c4023660 obj=.users.uid:testuser state=0x7f84c4030118 
> s->prefetch_data=0
>     2014-08-11 22:00:11.745494 7f84ad7d2700 10 cache get: 
> name=.users.uid+testuser : miss
>     2014-08-11 22:00:11.746811 7f84ad7d2700 10 cache put: 
> name=.users.uid+testuser
>     2014-08-11 22:00:11.746829 7f84ad7d2700 10 adding .users.uid+testuser to 
> cache LRU end
>     2014-08-11 22:00:11.746835 7f84ad7d2700 20 get_obj_state: s->obj_tag was 
> set empty
>     2014-08-11 22:00:11.746843 7f84ad7d2700 10 cache get: 
> name=.users.uid+testuser : type miss (requested=1, cached=6)
>     2014-08-11 22:00:11.746866 7f84ad7d2700 20 get_obj_state: 
> rctx=0x7f84c4023660 obj=.users.uid:testuser state=0x7f84c4030118 
> s->prefetch_data=0
>     2014-08-11 22:00:11.746872 7f84ad7d2700 10 cache get: 
> name=.users.uid+testuser : hit
>     2014-08-11 22:00:11.746876 7f84ad7d2700 20 get_obj_state: s->obj_tag was 
> set empty
>     2014-08-11 22:00:11.746878 7f84ad7d2700 20 get_obj_state: 
> rctx=0x7f84c4023660 obj=.users.uid:testuser state=0x7f84c4030118 
> s->prefetch_data=0
>     2014-08-11 22:00:11.746880 7f84ad7d2700 20 state for 
> obj=.users.uid:testuser is not atomic, not appending atomic test
>     2014-08-11 22:00:11.746882 7f84ad7d2700 20 rados->read obj-ofs=0 
> read_ofs=0 read_len=524288
>     2014-08-11 22:00:11.748030 7f84ad7d2700 20 rados->read r=0 bl.length=322
>     2014-08-11 22:00:11.748074 7f84ad7d2700 10 cache put: 
> name=.users.uid+testuser
>     2014-08-11 22:00:11.748078 7f84ad7d2700 10 moving .users.uid+testuser to 
> cache LRU end
>     2014-08-11 22:00:11.748116 7f84ad7d2700  0 NOTICE: 
> RGW_SWIFT_Auth_Get::execute(): bad swift key
>     2014-08-11 22:00:11.748216 7f84ad7d2700  2 req 1:0.006044:swift-auth:GET 
> /auth:swift_auth_get:http status=403
>     2014-08-11 22:00:11.748230 7f84ad7d2700  1 ====== req done req=0x1e73040 
> http_status=403 ======
>     2014-08-11 22:00:11.748239 7f84ad7d2700 20 process_request() returned -1
> 
> 
>     root@ceph-radosgw:~# radosgw-admin --name client.radosgw.gateway metadata 
> list user
>     [
>         "johndoe",
>         "testuser"]
>         
>     root@ceph-radosgw:~# radosgw-admin zone list
>     2014-08-12 01:22:24.881714 7f216777c700  2 
> RGWDataChangesLog::ChangesRenewThread: start
>     2014-08-12 01:22:24.899503 7f21723cf780 20 RGWRados::pool_iterate: got 
> default.region
>     2014-08-12 01:22:24.899529 7f21723cf780 20 RGWRados::pool_iterate: got 
> region_info.default
>     2014-08-12 01:22:24.947162 7f21723cf780 20 RGWRados::pool_iterate: got 
> zone_info.default
>     { "zones": [
>             "default"]}
>     
>     
>     root@ceph-radosgw:~# radosgw-admin zone get default
>     { "domain_root": ".rgw",
>       "control_pool": ".rgw.control",
>       "gc_pool": ".rgw.gc",
>       "log_pool": ".log",
>       "intent_log_pool": ".intent-log",
>       "usage_log_pool": ".usage",
>       "user_keys_pool": ".users",
>       "user_email_pool": ".users.email",
>       "user_swift_pool": ".users.swift",
>       "user_uid_pool": ".users.uid",
>       "system_key": { "access_key": "",
>           "secret_key": ""},
>       "placement_pools": [
>             { "key": "default-placement",
>               "val": { "index_pool": ".rgw.buckets.index",
>                   "data_pool": ".rgw.buckets",
>                   "data_extra_pool": ".rgw.buckets.extra"}}]}
> _______________________________________________
> ceph-users mailing list
> [email protected]
> http://lists.ceph.com/listinfo.cgi/ceph-users-ceph.com

_______________________________________________
ceph-users mailing list
[email protected]
http://lists.ceph.com/listinfo.cgi/ceph-users-ceph.com

Reply via email to