]> git.apps.os.sepia.ceph.com Git - ceph-ci.git/commit
rgw/CloudTransition: Handle versioned objects
authorSoumya Koduri <skoduri@redhat.com>
Wed, 17 Mar 2021 21:12:54 +0000 (02:42 +0530)
committerSoumya Koduri <skoduri@redhat.com>
Thu, 18 Nov 2021 07:22:48 +0000 (12:52 +0530)
commitcf241166900c9102feacacdcf0ff4e2aaf89142c
tree9a81f9400ef36cf440a06a3b37c73f5fdf9aba49
parent585684a93f1a55d56766601b53a529e7b47bd2dc
rgw/CloudTransition: Handle versioned objects

For versioned and locked objects, similar semantics as that of LifecycleExpiration are applied as stated below -

If the bucket versioning is enabled and the object transitioned to cloud is
 - current version, irrespective of what the config option "retain_object" value is, the object is not deleted but instead delete marker is created on the source rgw server.
 - noncurrent version, it is deleted or retained based on the config option "retain_object" value.

If the object is locked, and is
 - current version, it is transitioned to cloud post which it is made noncurrent with delete marker created.
 - noncurrent version, transition is skipped.

Also misc rebase fixes and cleanup -

* Rename config option to "retain_head_object"

to reflect its functionality to keep head object post transitioning
to cloud if enabled

Signed-off-by: Soumya Koduri <skoduri@redhat.com>
doc/radosgw/cloud-transition.rst
src/rgw/rgw_cr_rest.cc
src/rgw/rgw_json_enc.cc
src/rgw/rgw_lc.cc
src/rgw/rgw_lc_tier.cc
src/rgw/rgw_zone.cc
src/rgw/rgw_zone.h