Jump to: navigation, search

Difference between revisions of "GSoC2014/Queues/Storage"

(Students' proposals)
(Students' proposals)
Line 74: Line 74:
| Victoria Martinez de la Cruz || [[GSoC2014/Student/VictoriaMartinezdelaCruz|https://wiki.openstack.org/wiki/GSoC2014/Student/VictoriaMartinezdelaCruz]]
| Victoria Martinez de la Cruz || [[GSoC2014/Student/VictoriaMartinezdelaCruz|https://wiki.openstack.org/wiki/GSoC2014/Student/VictoriaMartinezdelaCruz]]
| Chenchong Qin || [[GSoC2014/Student/ChenchongQin|https://wiki.openstack.org/wiki/GSoC2014/Student/ChenchongQin]]
| Chenchong Qin || [[GSoC2014/Student/ChenchongQin|Adding Redis as a Storage Backend to OpenStack Marconi]]

Revision as of 02:01, 21 March 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

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
Chenchong Qin Adding Redis as a Storage Backend to OpenStack Marconi