]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commit
LifeCycle feature 6331/head
authorJi Chen <insomnia@139.com>
Wed, 21 Oct 2015 02:10:39 +0000 (10:10 +0800)
committerJi Chen <insomnia@139.com>
Tue, 8 Dec 2015 03:22:26 +0000 (11:22 +0800)
commit7d48f62f5c86913d8f00b44d46a04a52d338907c
treed1e58cfde73ed5e186f496ba031c5e918b8a15b3
parente62954e07b69d963dca2ffc8b2d98be0b13cb93f
LifeCycle feature
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>
27 files changed:
src/CMakeLists.txt
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/Makefile.am
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_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