Prashanth Pai 2014cdb906 Add support for Object Expiration feature
Preventing access to expired objects
------------------------------------
Re-enabled accepting X-Delete-At and X-Delete-After headers. During a GET on
an expired object, DiskFileExpired is raised by DiskFile class. This will
result in object-server returning HTTPNotFound (404) to the client.

Tracking objects to be deleted
------------------------------
Objects to be deleted are tracked using "tracker objects". These are PUT into
a special account(a volume, for now). These zero size "tracker objects" have
names that contain:
    * Expiration timestamp
    * Path of the actual object to be deleted

Deleting actual objects from GlusterFS volume
---------------------------------------------
The object-expirer daemon runs a pass once every X seconds. For every pass it
makes, it queries the special account for "tracker objects". Based on
(timestamp, path) present in name of "tracker objects", object-expirer then
deletes the actual object and the corresponding tracker object.

To run object-expirer forever:
    swift-init object-expirer start
To run just once:
    swift-object-expirer -o -v /etc/swift/object-expirer.conf

Caveat/Limitation: Object-expirer needs a separate account(volume) that
is not used by other services like gswauth. By default, this volume is
named "gsexpiring" and is configurable.

More info about object expiration:
http://docs.openstack.org/developer/swift/overview_expiring_objects.html

Change-Id: I876995bf4f16ef4bfdff901561e0558ecf1dc38f
Signed-off-by: Prashanth Pai <ppai@redhat.com>
Reviewed-on: http://review.gluster.org/6891
Tested-by: Chetan Risbud <crisbud@redhat.com>
Reviewed-by: pushpesh sharma <psharma@redhat.com>
Tested-by: pushpesh sharma <psharma@redhat.com>
Reviewed-by: Chetan Risbud <crisbud@redhat.com>
2014-03-24 22:14:15 -07:00
2013-08-13 12:43:54 -07:00
2013-11-14 15:14:35 -08:00
2013-10-15 16:26:59 -07:00
2013-09-13 06:21:29 -07:00
2014-01-21 10:09:44 -08:00

Gluster For Swift

Integrating GlusterFS as the back-end to OpenStack Swift implementation. This is a component of the Unified File and Object (UFO) story for GlusterFS, which allows files and directories created via gluster-native/nfs/samba mount(s) to be accessed as objects via the Swift API.

Table of Contents

  1. Quick Start Guide
  2. Developer Guide
Description
Swift Object Server implementation that enables objects created using the Swift API to be accessed as files on a POSIX filesystem.
Readme 1.8 MiB
Languages
Python 98.9%
Shell 0.8%
RPM Spec 0.3%