adapter of other object storage interface

Registered by Tong Yanqun on 2014-06-16

The fragment nature of Object Storage APIs slows the adopting of object storage. Maybe we can make swift as a gateway of object storage to supply an uniform API. Add an adapter to swift to transform swift APIs to other object storage APIs. Then, the data is stored in other object storage devices. Now, here is the blueprint. Let's hack out the details of the requirements.

The full specification link is: http://docs-draft.openstack.org/30/108230/1/check/gate-swift-specs-docs/34b8223/doc/build/html/specs/swift/gateway-of-object-storage.html

Blueprint information

Status:
Not started
Approver:
None
Priority:
Undefined
Drafter:
Tong Yanqun
Direction:
Needs approval
Assignee:
None
Definition:
New
Series goal:
None
Implementation:
Unknown
Milestone target:
None

Related branches

Whiteboard

With the adapter middle-ware configured in Swift, the whole work flow will like the image below:

(Note: This image will be normally displayed in edit view.)

                               +---------------+
                               | End Users |
                               +-------^-------+
                                       |
                                       |
+------------------+ +------+------+ +-----------+
| | | | Swift | |
| | | Swift | APIs | |
| KeyStone <------------+ Proxy <--------+ Glance |
| | | | | |
| | | | | |
+------^-----------+ +------+------+ +-----------+
       | |
       | |
       | |
       | +----------v----------+
       | | |
       | | Object, Container, |
       | | Account Controller |
       | +----------+----------+
       | | Object Storage
       | | APIs(S3, CDMI, etc.)
       | +------v------+
       | | Object |
       | | Storage |
       +------------------------+ Device |
                                | |
                                +-------------+

The Object Storage Device will use the KeyStone as the Auth server. It is plug-able in the whole system. All the object storage device which can authenticate request with keystone can be plugged in the Swift. So this adapter layer will make Swift's logic more simple, and make focus to the expansibility and compatibility.

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.

Subscribers

No subscribers.