]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commit
RGW:lifecycle feature[rebase]
authorJi Chen <insomnia@139.com>
Mon, 13 Jun 2016 02:32:34 +0000 (10:32 +0800)
committerJi Chen <insomnia@139.com>
Fri, 22 Jul 2016 04:22:12 +0000 (12:22 +0800)
commitabe4b1378cc0e23e0da9c76c034c6d592b81b105
tree545e3b31f4cb613aa5035eb01ffd0132e5309d29
parent01b10c3aaad8e076a32d269cfedf10a2ead348ab
RGW:lifecycle feature[rebase]
As same as amazon S3 interface,"PUT Bucket lifecycle" and
"DELETE Bucket lifecycle" have been implemented,
"GET Bucket lifecycle" not realized yet as S3cmd has not
realize it also.
The feature`s main point is to remove expire file per day.
Files transfer from hot layer to cold layer is not supported.
ToDo:Maybe to transfer from replicate pool to EC pool or
from ssd to sata pool will be valuable.

Now put all buckets which should do lifecycle into shard
objects in .rgw.lc pool.

lifecycle config file format:
<LifecycleConfiguration>
    <Rule>
        <ID>sample-rule</ID>
        <Prefix></Prefix>
        <Status>enable</Status>
        <Expiration>
           <Days>1</Days>
        </Expiration>
    </Rule>
</LifecycleConfiguration>

Signed-off-by: Ji Chen <insomnia@139.com>
29 files changed:
src/cls/rgw/cls_rgw.cc
src/cls/rgw/cls_rgw_client.cc
src/cls/rgw/cls_rgw_client.h
src/cls/rgw/cls_rgw_ops.h
src/cls/rgw/cls_rgw_types.h
src/common/config_opts.h
src/rgw/CMakeLists.txt
src/rgw/Makefile.am
src/rgw/librgw.cc
src/rgw/rgw_admin.cc
src/rgw/rgw_common.cc
src/rgw/rgw_common.h
src/rgw/rgw_lc.cc [new file with mode: 0644]
src/rgw/rgw_lc.h [new file with mode: 0644]
src/rgw/rgw_lc_s3.cc [new file with mode: 0644]
src/rgw/rgw_lc_s3.h [new file with mode: 0644]
src/rgw/rgw_main.cc
src/rgw/rgw_object_expirer.cc
src/rgw/rgw_op.cc
src/rgw/rgw_op.h
src/rgw/rgw_rados.cc
src/rgw/rgw_rados.h
src/rgw/rgw_realm_reloader.cc
src/rgw/rgw_rest.cc
src/rgw/rgw_rest.h
src/rgw/rgw_rest_s3.cc
src/rgw/rgw_rest_s3.h
src/test/cli/radosgw-admin/help.t
src/test/test_rgw_admin_opstate.cc