Jump to: navigation, search

Difference between revisions of "GSoC2014"

(OpenStack Incubator (Oslo))
Line 132: Line 132:
| Topics || storage, python, oslo
| Topics || storage, python, oslo
| Mentor || Alejandro Cabrera
| Mentor || Alejandro Cabrera, Davanum Srinivas
* Add a new backend to oslo.cache (Redis, sqlite, etc.)
* Add a new backend to oslo.cache (Redis, sqlite, etc.)
* Implement a re-usable shared library for vmware (oslo.vmware) to be consumed by various OpenStack projects like Nova, Cinder, Glance etc
* Define a new layer/abstraction in Nova for plugging-in vCenter and ovirt (since they span multiple hosts)
==== OpenStack Benchmarking System (Rally) ====
==== OpenStack Benchmarking System (Rally) ====

Revision as of 15:24, 14 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

What is Openstack?

Openstack is an open-source IaaS cloud computing platform. Its mission is to provide a flexible solution for both public and private clouds of any size, and for this matter two basic requirements are considered: clouds must be simple to implement and massively scalable.

To meet these principles OpenStack is divided into different components that work together. It's computing, storage, networking, and all the other bits that help make this project, The Cloud.

OpenStack is continuously growing and new and exciting projects are being discussed everyday.

We encourage new contributors to participate and help us make OpenStack the most complete, reliable and flexible open-source cloud service!


Due date: February 14, 19:00 UTC.

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:

  • Davanum Srinivas - dims - Nova, Oslo
  • Debo Dutta - dedutta - Nova, Ceilometer
  • Alejandro Cabrera - alcabrera - Marconi, Oslo
  • Yathiraj Udupi - Yathi - Nova, Ceilometer
  • Fei Long Wang - flwang- Glance
  • Boris Pavlovic - boris-42 - Rally
  • Sergey Lukjanov - SergeyLukjanov - Savanna (proxy to help find mentor in Savanna community)
  • Colin McNamara - colinmcnamara - OpenStack Docs, OpenStack Training and ToolChains
  • Sriram Subramanian - Fuzz Testing, OpenStack Security


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 - OpenStack Message Queuing (Marconi)
  • Wei Wang, China, damon.devops@gmail.com, Neutron & Keystone
  • Kumar Rishabh, India, email: shailrishabh@gmail.com [would fill more details later]


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.


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.

Fuzz Testing (various projects)

Topics testing, tempest
Mentor Sriram Subramanian
  • Implement a Fuzz testing framework that can be run on Tempest or a similar framework
  • Enable project by project, success being enabling on at least 1 complete project

OpenStack Scheduler (Gantt)

Gantt provides a common scheduler framework for use by various OpenStack components.

Check out more details about Gantt!

Topics schedulers, python, gantt
  • Implement a stand-alone scheduler based on the scheduler forklift code
  • Implement a scalable scheduler
  • Implement a cross-services scheduler

OpenStack Message Queuing Service (Marconi)

Openstack Message Queuing Service (Marconi) provides a distributed queue. The basic concept is simple:

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

For full details on Marconi project, check out the wiki!

Difficulty Medium
Topics storage, python, marconi
Mentor Alejandro Cabrera

OpenStack Incubator (Oslo)

The Oslo program produces a set of python libraries containing infrastructure code shared by OpenStack projects. The APIs provided by these libraries should be high quality, stable, consistent and generally useful.

Check out more details about Oslo project on the wiki

Topics storage, python, oslo
Mentor Alejandro Cabrera, Davanum Srinivas
  • Add a new backend to oslo.cache (Redis, sqlite, etc.)
  • Implement a re-usable shared library for vmware (oslo.vmware) to be consumed by various OpenStack projects like Nova, Cinder, Glance etc
  • Define a new layer/abstraction in Nova for plugging-in vCenter and ovirt (since they span multiple hosts)

OpenStack Benchmarking System (Rally)

OpenStack QA team mostly works on CI/CD that ensures that new patches don't break specific single node installation of OpenStack. On the other hand it's clear that such CI/CD is only an indication and does not cover all cases (e.g. if cloud works well on single node installation it doesn't mean that it will work good as well on 1k servers installation under high load).. Rally aims to fix this and help us to get answer on question "How OpenStack works at scale". To make it possible we are going to automate and unify all steps that are required for benchmarking OpenStack at scale: multi node OS deployment, verification, benchmarking & profiling.


  • Deploy is not yet another deployer of OpenStack it is just a plugable mechanism that allows to unify & simplify work with different deployers like: DevStack, Fuel, Anvil on hardware/VMs that you have.
  • Verify - (work in progress) Use tempest to verify functionality of deployed openstack. In future Rally will support other OS verifiers.
  • Benchmark - Smart combination of Framework, Load generation & Big repository of benchmarks.

For more details about Rally project, check out wiki

Difficulty Medium
Topics rally, benchmarks, deploying, python, tempest,
Mentor Boris Pavlovic
  • Benchmarking OpenStack
  • Writing new benchmarks
  • Integration of Rally & Tempest
  • Processing Results
  • Improving Rally deploying system

OpenStack Networking (Neutron)

Neutron is an OpenStack project to provide Networking-as-a-Service between interface devices (e.g., vNICs) managed by other Openstack services (e.g., Nova).

For full details about Neutron, check out the wiki

Topics drivers, fwaas, neutron
  • Implement an application-level FWaaS driver (Zorp)

OpenStack Data Processing (Savanna)

Savanna aims to provide users with simple means to provision a Hadoop cluster by specifying several parameters like Hadoop version, cluster topology, nodes hardware details and a few more. The aim of this project is to enable users provision and management of Hadoop clusters on OpenStack.

Check out the wiki to learn more about Savanna

Topics plugins, hadoop provision, savanna

  • Develop a new plugin for savanna to extend savanna.plugins.provisioning:ProvisioningPluginBase class and implement all the required methods.


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