Jump to: navigation, search

Difference between revisions of "GSoC2014"

(Mentors: Added contact/projects for Alejandro Cabrera)
(OpenStack Queues (Marconi): Added details for Openstack Queues project)
Line 59: Line 59:
 
==== OpenStack Queues (Marconi) ====
 
==== OpenStack Queues (Marconi) ====
  
* Add a new storage backend (Redis, RethinkDB, Cassandra, Swift, etc.)
+
Openstack Queues provides a distributed queue. The basic concept is simple:
  
 +
* Create a queue
 +
* Post messages
 +
* Read them or claim them
 +
 +
For full details on the Openstack Queues project, check out the [https://wiki.openstack.org/wiki/Marconi wiki]!
 +
 +
Project ideas are enumerated below.
 +
 +
===== 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
 +
** Core
 +
*** QueueController
 +
*** MessageController
 +
*** ClaimController
 +
** Sharding Support
 +
*** ShardsController
 +
*** CatalogueController
 +
* Watching the tests pass, bit by bit
 +
 +
A completed project will be expected to:
 +
 +
* 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
 +
 +
Additionally, great implementations will also:
 +
 +
* 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 [https://github.com/openstack/marconi/tree/master/marconi/queues/storage existing backends]
 +
 +
Some suggested engines:
 +
 +
* [http://redis.io/ Redis]
 +
* [http://rethinkdb.com/ RethinkDB]
 +
* [http://cassandra.apache.org/ Cassandra]
 +
* [http://basho.com/riak/ Riak]
  
 
==== OpenStack Incubator (Oslo) ====
 
==== OpenStack Incubator (Oslo) ====

Revision as of 16:53, 12 February 2014

Google Summer of Code 2014

OpenStack is applying as a mentoring organization for the 2014 Google Summer of Code. Check Google Developers site for more information on how the program works. We need to get in this time!

Link to call for participation: here

Link to FAQs: here


Mentors

Organizations application period opens February 3 and ends on February 14.

If you're interested in mentoring for this round, please add your name, email, IRC handle and the kind of projects you're interested in mentoring here:

  • Debo Dutta
  • Davanum Srinivas
  • Alejandro Cabrera (cpp.cabrera@gmail.com, freenode: alcabrera)
    • Any Marconi-related projects
    • Any oslo.cache-related projects
  • Yathiraj Udupi
  • Fei Long Wang (Glance)
  • Boris Pavlovic aka boris-42 (Rally)

Students

Students application period opens March 21 and ends on April 21.

If you'd like to get started on your proposal early, go ahead and add your name, location, e-mail, IRC handle and the project you are interested in (if you already know about that!) here:

  • Adnan Khan, Canada, khnd06@gmail.com [project not selected yet]
  • Anastasios Andronidis, Greece, andronat_asf@hotmail.com. Proposed: Glance Scalable Image Precaching
  • Artem Shepelev, Russia, e-mail: shepelev.artem@gmail.com, ashepelev at irc.freenode.net, OpenStack Scheduler.
  • Victoria Martínez de la Cruz - Argentina - victoria@vmartinezdelacruz.com - vkmc - Proposed: Error reporting enhancement in Horizon (Draft proposal and timelines in progress)
  • Wei Wang, China, damon.devops@gmail.com, Neutron & Keystone
  • Kumar Rishabh, India, email: shailrishabh@gmail.com [would fill more details later]

Communication

Get in touch with mentors and students through the openstack-dev mailing list. Also, you can find us at IRC in #openstack-gsoc at irc.freenode.org.


Ideas

Here are some project suggestions students can choose for their applications. This doesn't mean students have to stick strictly to this list; don't hesitate in propose projects by your own. For the latter, it would be great if you could submit a draft proposal and a estimated timeline.

When writing your proposal, try to estimate your timeline to fit the 4 month period of GSoC coding. Also, take into account that GSoC does not consider other projects than coding, so other ideas (like community tasks or i18n efforts) are not suitable for this internship.


OpenStack Scheduler (Gantt/Climate)

  • Implement a stand-alone scheduler based on the scheduler forklift code
  • Implement a scalable scheduler
  • Implement a cross-services scheduler


OpenStack Queues (Marconi)

Openstack Queues provides a distributed queue. The basic concept is simple:

  • Create a queue
  • Post messages
  • Read them or claim them

For full details on the Openstack Queues project, check out the wiki!

Project ideas are enumerated below.

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
    • Core
      • QueueController
      • MessageController
      • ClaimController
    • Sharding Support
      • ShardsController
      • CatalogueController
  • Watching the tests pass, bit by bit

A completed project will be expected to:

  • 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

Additionally, great implementations will also:

  • 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

Some suggested engines:

OpenStack Incubator (Oslo)

  • Add a new backend to oslo.cache (Redis, sqlite, etc.)

OpenStack Benchmarking System (Rally)

  • Benchmarking OpenStack
  • Writing new benchmarks
  • Integration of Rally & Tempest
  • Processing Results
  • Improving Rally deploying system


For more details ping me (boris-42 at freenode on #openstack-rally)

OpenStack Networking (Neutron)

  • Implement an application-level FWaaS driver (Zorp)

Projects

Current mentors are willing to supervise students in the following projects: