Hi,
Most of it is described here: https://tracker.ceph.com/issues/22928
Buckets created under Jewel don't always have the *placement_rule* set
in their bucket metadata and this causes Nautilus RGWs to not serve
requests for them.
Snippet from the metadata:
{
"key": "bucket.instance:pbx:ams02.446941181.1",
"ver": {
"tag": "86lc3iVtQpPiJYkh95YCTnhu",
"ver": 2
},
"mtime": "2020-10-09 09:12:04.744423Z",
"data": {
"bucket_info": {
"bucket": {
"name": "pbx",
"marker": "ams02.241978.4",
"bucket_id": "ams02.446941181.1",
"tenant": "",
"explicit_placement": {
"data_pool": ".rgw.buckets",
"data_extra_pool": "",
"index_pool": ".rgw.buckets"
}
},
"creation_time": "2014-02-16 12:32:15.000000Z",
"owner": "vdvm",
"flags": 0,
"zonegroup": "eu",
"placement_rule": "",
Notice that *placement_rule* is empty and that this bucket has
*explicit_placement* set.
There is no way to update the bucket.instance metadata as far as I know,
otherwise I could have set a placement rule for the bucket.
Earlier on the ML this has been discussed:
https://lists.ceph.io/hyperkitty/list/ceph-users@xxxxxxx/thread/ULKK5RU2VXLFXNUJMZBMUG7CQ5UCWJCB/#R6CPZ2TEWRFL2JJWP7TT5GX7DPSV5S7Z
People there compiled a manual version of RGW, something I'd rather stay
away from.
Has anybody seen this and if so: Have you found a solution?
The commit that breaks these buckets is this one:
https://github.com/ceph/ceph/commit/2a8e8a98d8c56cc374ec671846a20e2b0484bc75
14.2.0 was the first release with that code in there.
So two things I'm thinking about and I don't know which one is best:
- Update RGW and modify the if-statement added by commit 2a8e8a
- Enhance 'bucket check --fix' to update the placement_rule if none is
set for a bucket
Any hints or suggestions?
Wido
_______________________________________________
ceph-users mailing list -- ceph-users@xxxxxxx
To unsubscribe send an email to ceph-users-leave@xxxxxxx