Bug 1122359 - [RFE][swift]: Support immutability policy on object
Summary: [RFE][swift]: Support immutability policy on object
Alias: None
Product: Red Hat OpenStack
Classification: Red Hat
Component: RFEs
Version: unspecified
Hardware: Unspecified
OS: Unspecified
Target Milestone: ---
: ---
Assignee: RHOS Maint
QA Contact:
URL: https://blueprints.launchpad.net/swif...
Whiteboard: upstream_milestone_none upstream_defi...
Depends On:
TreeView+ depends on / blocked
Reported: 2014-07-23 04:07 UTC by RHOS Integration
Modified: 2015-03-19 17:43 UTC (History)
2 users (show)

Fixed In Version:
Doc Type: Enhancement
Doc Text:
Clone Of:
Last Closed:

Attachments (Terms of Use)

Description RHOS Integration 2014-07-23 04:07:48 UTC
Cloned from launchpad blueprint https://blueprints.launchpad.net/swift/+spec/immutability-middleware.


When being used as the data store repository of enterprise content management software, immutability of record management is a top requirement in order for some record regulatory compliance such as DoD 5015.02-STD. 

This blueprint is to propose the immutability capability on Swift as the storage side support which is similar to any other "WORM" storage system. 

Here are the top requirements for the immutability support:
- If an object in Swift is marked as immutable for a given period of time, within this period neither its data nor meta-data can be modified or deleted by anyone. In addition, a new version of the object cannot be created.
- If the retention period expires, the object can only be deleted, but cannot be modified. Neither its data nor its metadata can be modified.
- Once the retention period is set, it can only be extended whether current retention period expires or not, but cannot be decreased or disabled.
- Container or account cannot be completely deleted if it has one or more objects that are still in retention period.
REST API to configure the retention settings should be provided.

The initial design is to define a middleware with a set of metadata to support the immutability, more details will be covered in low level design document after this is accepted.

Specification URL (additional information):


Note You need to log in before you can comment on or make changes to this bug.