Jump to: navigation, search

Difference between revisions of "GSoC2014/Queues/Storage"

(Created storage backend project page)
 
(Add a New Storage Backend: added pre-reqs)
Line 18: Line 18:
 
# Running the unit tests with tox and watching them fail
 
# Running the unit tests with tox and watching them fail
 
# Iteratively filling in the various controllers
 
# 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 [https://github.com/cabrera/python-openstack-and-you/ Python, Openstack, and You] if you'd like to get a head start.
  
 
== Controller Summary ==
 
== Controller Summary ==

Revision as of 18:50, 12 February 2014

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:

  1. Creating a new github project
  2. Listing marconi as a dependency
  3. Stubbing out the driver implementation
  4. Running the unit tests with tox and watching them fail
  5. 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.