Increase s3 bank plugin

Change-Id: I5b0f6fd08d6dc0541785d3ce0f2aaa0b1a07edc7
Implements: blueprint s3-bank-plugin
This commit is contained in:
jiaopengju 2017-07-05 23:12:57 +08:00
parent 90f05b7c70
commit b8b228aa37

View File

@ -0,0 +1,143 @@
..
This work is licensed under a Creative Commons Attribution 3.0 Unported
License.
http://creativecommons.org/licenses/by/3.0/legalcode
==========================================
File System based Bank implementation
==========================================
https://blueprints.launchpad.net/karbor/+spec/s3-bank-plugin
Problem description
===================
Currently we suppport Swift and File System as bank implementations. We
should increase more bank plugin types so that users will have more choices
to feet their needs in different scenarios.
S3 compatible storage is a valid choice, which is used by many individuals
and companies in the public or private clouds. With S3 based implementation,
it will store objects and object metadata on S3 compatible Storage.
Use Cases
=========
As explained, deployers who want or will use S3 compatible storage in their
cloud.
Proposed change
===============
Objects would be stored under a object name with their ID having `/` be
defined as a separator.
For example::
Object ID: /checkpoints/2fd14f87-46bd-43a9-8853-9e1a84ebee3d/index.json
The metadata files will be in a JSON format. The name and format of these
files are same as the meatadata objects in the Swift bank.
For example::
/checkpoints/3a4d76e7-f8d8-4f2f-9c1d-107d88d7a815/ <- directory
/checkpoints/3a4d76e7-f8d8-4f2f-9c1d-107d88d7a815/metadata <- md file
/checkpoints/3a4d76e7-f8d8-4f2f-9c1d-107d88d7a815/status
Alternatives
------------
Do nothing, this is not a mission critical feature.
Technical details
-----------------
Related docs:
Amazon S3 REST API Introduction
* http://docs.aws.amazon.com/AmazonS3/latest/API/Welcome.html
The python client module that could be used is botocore
* https://github.com/boto/botocore
Data model impact
-----------------
None.
REST API impact
---------------
None
Security impact
---------------
None
Notifications impact
--------------------
None
Other end user impact
---------------------
None
Performance Impact
------------------
This API might be faster\slower than Swift depending on use case.
Other deployer impact
---------------------
None
Developer impact
----------------
None
Implementation
==============
Assignee(s)
-----------
Primary assignee:
Pengju Jiao <jiaopengju@cmss.chinamobile.com>
Work Items
----------
* Write Bank Plugin
* Add documentation
Dependencies
============
None
Testing
=======
Unit tests in Karbor.
Documentation Impact
====================
New docs to explain how to use and configure the alternative Bank
implementation.
References
==========
None