Project

General

Profile

Bug #19277

Legacy buckets cannot enable versioning

Added by Robin Johnson over 4 years ago. Updated almost 4 years ago.

Status:
Won't Fix
Priority:
Normal
Assignee:
-
Target version:
% Done:

0%

Source:
Tags:
rgw, versioning
Backport:
jewel
Regression:
No
Severity:
2 - major
Reviewed:
Affected Versions:
ceph-qa-suite:
Pull request ID:
Crash signature (v1):
Crash signature (v2):

Description

On old Argonaut/Bobtail era buckets, versioning cannot be enabled.

Sending the PUT ...?versioning with payload VersioningConfiguration w/ Status=Enabled, returns 200 OK, but thereafter GET ?versioning still returns an empty VersioningConfiguration.

Presently confirmed in v10.2.5 + patches for most of 10.2.6; confirmation in 10.2.6 to follow.

$ sudo radosgw-admin metadata get bucket:(censored)
{
    "key": "bucket:(censored)",
    "ver": {
        "tag": "",
        "ver": 0
    },
    "mtime": "2012-12-13 20:43:19.001853Z",
    "data": {
        "bucket": {
            "name": "",
            "pool": "",
            "data_extra_pool": "",
            "index_pool": "",
            "marker": "",
            "bucket_id": "",
            "tenant": "" 
        },
        "owner": "",
        "creation_time": "0.000000",
        "linked": "false",
        "has_bucket_info": "true",
        "old_bucket_info": {
            "bucket": {
                "name": "(censored)",
                "pool": ".rgw.data.1",
                "data_extra_pool": "",
                "index_pool": ".rgw.data.1",
                "marker": "8267616.473502",
                "bucket_id": "8267616.473502",
                "tenant": "" 
            },
            "creation_time": "0.000000",
            "owner": "justinlund",
            "flags": 0,
            "zonegroup": "",
            "placement_rule": "",
            "has_instance_obj": "false",
            "quota": {
                "enabled": false,
                "max_size_kb": -1,
                "max_objects": -1
            },
            "num_shards": 0,
            "bi_shard_hash_type": 0,
            "requester_pays": "false",
            "has_website": "false",
            "swift_versioning": "false",
            "swift_ver_location": "",
            "index_type": 0
        }
    }
}
$ sudo radosgw-admin   metadata get bucket.instance:(censored):8267616.473502
{
    "key": "bucket.instance:(censored):8267616.473502",
    "ver": {
        "tag": "ksPQ3qo\/3PwXicGLnF9Y16QI",
        "ver": 15
    },
    "mtime": "2017-03-14 21:17:29.351405Z",
    "data": {
        "bucket_info": {
            "bucket": {
                "name": "(censored)",
                "pool": ".rgw.data.1",
                "data_extra_pool": "",
                "index_pool": ".rgw.data.1",
                "marker": "8267616.473502",
                "bucket_id": "8267616.473502",
                "tenant": "" 
            },
            "creation_time": "0.000000",
            "owner": "(censored)",
            "flags": 2,
            "zonegroup": "",
            "placement_rule": "",
            "has_instance_obj": "true",
            "quota": {
                "enabled": false,
                "max_size_kb": -1,
                "max_objects": -1
            },
            "num_shards": 0,
            "bi_shard_hash_type": 0,
            "requester_pays": "false",
            "has_website": "false",
            "swift_versioning": "false",
            "swift_ver_location": "",
            "index_type": 0
        },
        "attrs": [
            {
                "key": "user.rgw.acl",
                "val": "(censored)" 
            },
            {
                "key": "user.rgw.idtag",
                "val": "" 
            },
            {
                "key": "user.rgw.manifest",
                "val": "" 
            }
        ]
    }
}

History

#1 Updated by Yehuda Sadeh about 4 years ago

@robbat2 can you try changing acls on such a bucket? how does the metadata entries look then?

#2 Updated by Robin Johnson about 4 years ago

Yes, changing the bucket ACL to public, then back to private, and versioning works now.

Possibly some rewrite call needs to also happen in the versioning path. Would be useful to have it available seperately so we can just tell people to fixup their buckets on upgrade.

#3 Updated by Matt Benjamin almost 4 years ago

@yehuda, move to WONTFIX?

Matt

#4 Updated by Orit Wasserman almost 4 years ago

  • Status changed from New to Won't Fix

Also available in: Atom PDF