Project

General

Profile

Actions

Bug #19277

closed

Legacy buckets cannot enable versioning

Added by Robin Johnson about 7 years ago. Updated over 6 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": "" 
            }
        ]
    }
}

Actions #1

Updated by Yehuda Sadeh about 7 years ago

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

Actions #2

Updated by Robin Johnson about 7 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.

Actions #3

Updated by Matt Benjamin almost 7 years ago

@Yehuda Sadeh, move to WONTFIX?

Matt

Actions #4

Updated by Orit Wasserman over 6 years ago

  • Status changed from New to Won't Fix
Actions

Also available in: Atom PDF