On 13/11/13 21:16, lixuehui wrote:
Hi ,list
We've ever reflected that ,radosgw-agent sync data failed all the time ,before. We paste the concert log here to seek any help now .
application/json; charset=UTF-8
Wed, 13 Nov 2013 07:24:45 GMT
x-amz-copy-source:sss%2Frgwconf
/sss/rgwconf
2013-11-13T15:24:45.510 11171:DEBUG:boto:Signature:
AWS CQHH7O4XULLINBNQQSPB:9ktSGas0/iuekklDmHRuU+OItek=
2013-11-13T15:24:45.511 11171:DEBUG:boto:url = 'http://ceph-rgw41.com/sss/rgwconf'
params={'rgwx-op-id': 'ceph-rgw41:11160:2', 'rgwx-source-zone': u'us-east', 'rgwx-client-id': 'radosgw-agent'}
headers={'Content-Length': '0', 'User-Agent': 'Boto/2.16.0 Python/2.7.3 Linux/3.5.0-23-generic', 'x-amz-copy-source': 'sss%2Frgwconf', 'Date': 'Wed, 13 Nov 2013 07:24:45 GMT', 'Content-Type': 'application/json; charset=UTF-8', 'Authorization': 'AWS CQHH7O4XULLINBNQQSPB:9ktSGas0/iuekklDmHRuU+OItek='}
data=None
2013-11-13T15:24:45.519 11171:INFO:requests.packages.urllib3.connectionpool:Starting new HTTP connection (1): ceph-rgw41.com
2013-11-13T15:24:45.580 11171:DEBUG:requests.packages.urllib3.connectionpool:"PUT /sss/rgwconf?rgwx-op-id=ceph-rgw41%3A11160%3A2&rgwx-source-zone=us-east&rgwx-client-id=radosgw-agent HTTP/1.1" 403 78
2013-11-13T15:24:45.584 11171:DEBUG:radosgw_agent.worker:exception during sync: Http error code 403 content <?xml version="1.0" encoding="UTF-8"?><Error><Code>AccessDenied</Code></Error>
2013-11-13T15:24:45.587 11171:DEBUG:boto:StringToSign:
GET
Wed, 13 Nov 2013 07:24:45 GMT
/admin/opstate
2013-11-13T15:24:45.589 11171:DEBUG:boto:Signature:
AWS CQHH7O4XULLINBNQQSPB:JZwaFKhZEsQUj50jLxjNzni8n5Q=
2013-11-13T15:24:45.590 11171:DEBUG:boto:url = 'http://ceph-rgw41.com/admin/opstate'
params={'client-id': 'radosgw-agent', 'object': 'sss/rgwconf', 'op-id': 'ceph-rgw41:11160:2'}
headers={'Date': 'Wed, 13 Nov 2013 07:24:45 GMT', 'Content-Length': '0', 'Authorization': 'AWS CQHH7O4XULLINBNQQSPB:JZwaFKhZEsQUj50jLxjNzni8n5Q=', 'User-Agent': 'Boto/2.16.0 Python/2.7.3 Linux/3.5.0-23-generic'}
data=None
2013-11-13T15:24:45.594 11171:INFO:requests.packages.urllib3.connectionpool:Starting new HTTP connection (1): ceph-rgw41.com
2013-11-13T15:24:45.607 11171:DEBUG:requests.packages.urllib3.connectionpool:"GET /admin/opstate?client-id=radosgw-agent&object=sss%2Frgwconf&op-id=ceph-rgw41%3A11160%3A2 HTTP/1.1" 200 None
2013-11-13T15:24:45.612 11171:DEBUG:radosgw_agent.worker:op state is [{u'timestamp': u'2013-11-13 07:24:45.561401Z', u'op_id': u'ceph-rgw41:11160:2', u'object': u'sss/rgwconf', u'state': u'error', u'client_id': u'radosgw-agent'}]
2013-11-13T15:24:45.614 11171:ERROR:radosgw_agent.worker:failed to sync object sss/rgwconf: state is error
2013-11-13T15:24:45.616 11171:DEBUG:radosgw_agent.worker:syncing object "sss/iso"
2013-11-13T15:24:45.617 11171:DEBUG:radosgw_agent.worker:sync_object sss/iso
2013-11-13T15:24:45.620 11171:DEBUG:boto:StringToSign:
PUT
From the radosgw-agent log,we find the radosgw_agent.worker can not access the slave zone gateway instence .Finally , radosgw-agent returned the info: state is error.We've changed the users with "*"permission.
[client.radosgw.us-east-1]
key = AQAp5IJSmF+hNBAAdVHvbYJYVW9coWF6INm+LA==
caps mon = "allow *"
caps osd = "allow *"
[client.radosgw.us-west-1]
key = AQAq5IJSkJ2PMxAAYmAH1wQaE08z+dA0F5INZQ==
caps mon = "allow *"
caps osd = "allow *"
The region configured file:us.json
{ "name": "us",
"api_name": "us",
"is_master": "true",
"endpoints": [
"http:\/\/ceph-rgw40.com:80\/"],
"master_zone": "us-east",
"zones": [
{ "name": "us-east",
"endpoints": [
"http:\/\/ceph-rgw40.com:80\/"],
"log_meta": "true",
"log_data": "true"},
{ "name": "us-west",
"endpoints": [
"http:\/\/ceph-rgw41.com:80\/"],
"log_meta": "true",
"log_data": "true"}],
"placement_targets": [],
"default_placement": ""}
radosgw-agent's configure file is:
src_access_key: 471FCR73KPEY0EF8Q0AC
src_secret_key: BF0t5ESBIvT+GlIL+fxB6N7HmjhdbS3VXcFq5mA0
destination : http://ceph-rgw41.com:80
dest_access_key: CQHH7O4XULLINBNQQSPB
dest_secret_key: BR/UUadpxebiyTH7So42J/87F6jWMw4ddkjKxPRT
log_file: /var/log/radosgw/radosgw-sync-us-east-west.log
Addtional, we encountered another problem ,when we configured radosgw-agent. The destination means to protoca+zone2-name+fqdn+port ,while we can only write as protocal+fqdn+port.
If we added the slave zone name ,the info is like that :
/admin/config
DEBUG:boto:Signature:
AWS CQHH7O4XULLINBNQQSPB:4zdcvi1QVBSfTrKasHtauIdw3XY=
DEBUG:boto:url = 'http://us-west.ceph-rgw41.com/admin/config'
params={}
headers={'Date': 'Wed, 13 Nov 2013 08:13:54 GMT', 'Content-Length': '0', 'Authorization': 'AWS CQHH7O4XULLINBNQQSPB:4zdcvi1QVBSfTrKasHtauIdw3XY=', 'User-Agent': 'Boto/2.16.0 Python/2.7.3 Linux/3.5.0-23-generic'}
data=None
INFO:requests.packages.urllib3.connectionpool:Starting new HTTP connection (1): us-west.ceph-rgw41.com
DEBUG:requests.packages.urllib3.connectionpool:"GET /admin/config HTTP/1.1" 200 None
region map is: {u'us': [u'us-west', u'us-east']}
ERROR:root:http://us-west.ceph-rgw41.com:80 not found in region map
Does it matter ,or we made any mistake form the us.json?
FWIW - I am seeing exactly the same error, with a very similar topology
to yours (the us and eu region, east and west zones).
It *looked* to me like I needed to amend the config to something like
(using yours):
source: http://ceph-rgwxx.com:80 # guessing what your src zone endpoint is
src_access_key: 471FCR73KPEY0EF8Q0AC
src_secret_key: BF0t5ESBIvT+GlIL+fxB6N7HmjhdbS3VXcFq5mA0
destination : http://ceph-rgw41.com:80
dest_access_key: CQHH7O4XULLINBNQQSPB
dest_secret_key: BR/UUadpxebiyTH7So42J/87F6jWMw4ddkjKxPRT
log_file: /var/log/radosgw/radosgw-sync-us-east-west.log
Then I started getting other errors about which zone was the master
(I'll not post them on this thread, as your issue may be different). But
maybe try adding the source config line and see if anything changes.
Cheers
Mark
_______________________________________________
ceph-users mailing list
ceph-users@xxxxxxxxxxxxxx
http://lists.ceph.com/listinfo.cgi/ceph-users-ceph.com