Difference between revisions of "GSoC2014/Queues/Storage"
< GSoC2014
(→Add a New Storage Backend: added pre-reqs) |
(→Add a New Storage Backend) |
||
Line 66: | Line 66: | ||
* [http://cassandra.apache.org/ Cassandra] | * [http://cassandra.apache.org/ Cassandra] | ||
* [http://basho.com/riak/ Riak] | * [http://basho.com/riak/ Riak] | ||
+ | |||
+ | ==Students' proposals== | ||
+ | {| class="wikitable" | ||
+ | |- | ||
+ | | Student || Proposal Link | ||
+ | |- | ||
+ | | Victoria Martinez de la Cruz || [[GSoC2014/Student/VictoriaMartinezdelaCruz|https://wiki.openstack.org/wiki/GSoC2014/Student/VictoriaMartinezdelaCruz]] | ||
+ | |} |
Revision as of 23:55, 20 March 2014
Contents
Add a New Storage Backend
Difficulty | Medium |
Topics | storage, python, marconi |
Mentor | Alejandro Cabrera |
The Queues project is architected in such a way that adding a new storage driver isn't a difficult endeavor. It involves:
- Creating a new github project
- Listing marconi as a dependency
- Stubbing out the driver implementation
- Running the unit tests with tox and watching them fail
- Iteratively filling in the various controllers
Assumed Knowledge
- Python - basics, class/module management
- Command Line - a little bit of git, code editing, navigation
I'm happy to help with filling in the rest of the missing gaps. Refer to Python, Openstack, and You if you'd like to get a head start.
Controller Summary
Name | Type | Description |
QueueController | Data | Handles queue CRUD operations |
MessageController | Data | Handles message CRUD operations |
ClaimsController | Data | Handles claiming of messages |
ShardsController | Control | Handles registration of shards |
CatalogueController | Control | Lists association of queues to shards |
Project Goals
- Identify the storage backend to be supported
- Provide an implementation that passes all core tests
- Provide additional tests that test the nuances of that backend
- The core suite is fairly thorough - few additional tests, if any, should be needed
Project Nice-to-Haves
- Provide setup documentation (at least a README)
- a package available on PyPI (marconi-redis, for example)
- Benchmarks comparing their backend to existing backends
- v. mongodb, for example
- Indicate where their particular backend would be more effective than existing backends
Suggestions
The following are interesting storage engines to consider.
Students' proposals
Student | Proposal Link |
Victoria Martinez de la Cruz | https://wiki.openstack.org/wiki/GSoC2014/Student/VictoriaMartinezdelaCruz |