GSoC2014

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

Next Meeting

 * TBA

Agenda

 * TBA

Previous Meetings

 * Meeting #1 | Sorting Early Issues, Identifying Students/Mentors | etherpad

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!

Mentors
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 below. Please ensure that the projects are official projects in OpenStack and are registered in the governance projects.yaml


 * 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
 * Mikhail Dubov - msdubov - 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
 * Balint Kovacs - blint@balabit.hu - Zorp
 * Szilard Pfeiffer - floss@pfeifferszilard.hu - Zorp
 * Arnaud Legendre - arnaud, alegendre@vmware.com - Oslo
 * Joshua Hesketh - jhesketh, joshua.hesketh@rackspace.com - OpenStack Infrastructure

Students
Students application period opens March 10 and ends on March 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:
 * Sai Krishna,India,krishna1256@gmail.com,saikrishna_,https://wiki.openstack.org/wiki/GSoC2014/Queues/Storage][Add a New Backend to Oslo.Cache]
 * Shalmali Sahasrabudhe, India, shalmali.sahasrabudhe@gmail.com [Common Scheduler (Gantt) https://wiki.openstack.org/wiki/GSoC2014/Student/Shalmaliss ]
 * Manishanker Talusani,India,shanker.mani0@gmail.com[ Fuzzing framework https://wiki.openstack.org/wiki/GSoC2014/Testing/Fuzz]
 * Saket Sinha, India, saket.sinha89@gmail.com [project not selected yet]
 * 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/Gantt Cross-services Scheduler.
 * Fabio Morais, Brazil, fabio.jorge@gmail.com [Ceilometer; Proposed: Applying OpenStack telemetry to understand the bursts lifecycle in resource usage]
 * Victoria Martínez de la Cruz - Argentina - victoria@vmartinezdelacruz.com - vkmc - OpenStack Message Queuing (Marconi) - Add a new storage driver to the OpenStack Message Queuing Service
 * Wei Wang, China, damon.devops@gmail.com, Neutron & Keystone
 * Kumar Rishabh, India, email: shailrishabh@gmail.com, IRC - penguinRaider [Rally]
 * Marc Solanas, US, email: marc@solanas.cat, mst89, [Monitoring and Telemetry how to detect network anomalies from telemetry data within Openstack]
 * Pengfei Zhang, US, lalasjtu@gmail.com, Sparky, [Monitoring and Telemetry Monitoring & Tuning network for QoS within Openstack]
 * RobberPhex, China, robberphex@gmail.com, Rally
 * Rodrigo Duarte, Brazil, rodrigodsousa@gmail.com, rodrigods at irc.freenode.net [Gantt]
 * Rishi Raj Singh, India, rishiraj.devel@gmail.com, [project not selected yet]
 * Telles Nóbrega, Brazil, tellesnobrega@gmail.com, tellesnobrega at irc.freenode.net [Keystone, Nova, Savanna, Ceilometer]
 * Md Ali Ahsan Rana, Canada, aliahsanrana@gmail.com, [Oslo, Rally]
 * George Ebbinason, India, ebbinason@hotmail.com, [OpenStack Networking (Neutron) - Implement an application-level FWaaS driver]
 * Masaru Nomura, UK, massa.nomura@gmail.com, [OpenStack Incubator (Oslo) - Implement a re-usable shared library for vmware (oslo.vmware)]
 * Santosh Iyer, US, mails2santosh@gmail.com, [Nova, Ceilometer, Savanna]
 * Chenchong Qin - China - qinchenchong@gmail.com, chenchong - Adding Redis as a Storage Backend to OpenStack Marconi
 * Andrew Chul, Russia, andymitrich@gmail.com, [project not selected yet]
 * Fang Zhen, China, fz1989fz@gmail.com, fz1989 at irc.freenode.net, OpenStack/Gantt Cross-services Scheduler
 * Abhinav Saxena, India, abhinav.saxena.57@gmail.com [project not yet selected]
 * Pranav Singh, India, singh.pranavkumar10@gmail.com, purple_haze, [project not yet selected]
 * Demontiê dos Santos, Brazil, demontiejunior@gmail.com, dsantos_ at irc.freenode.net, [Nova]
 * Daniel Bruno, Brazil, danielbrunos@gmail.com, danielbruno, [Heat, Savanna, Nova, Neutron]
 * Dániel Csubák, Hungary, cyrrian@gmail.com, [OpenStack Networking (Neutron) - Implement an application-level FWaaS driver]
 * Bruno Criado, Brazil, brunocriado@gmail.com, dropped at irc.freenode.net, [Implement a Fuzz testing framework that can be run on Tempest or a similar framework]
 * Tzanetos Balitsaris, Greece, tzabal AT it DOT teithe DOT gr, tzabal, Developing Benchmarks for Virtual Machines of OpenStack with Rally
 * Junfeng Shen, China, yokoloki7@gmail.com, [OpenStack Networking (Neutron) - Implement an application-level FWaaS driver]
 * Jeremy Henriques, India, jeremyh28@gmail.com, [OpenStack Message Queuing Service (Marconi)]
 * Prashanth Raghu,India,pisprashanth@gmail.com, [OpenStack Message Queuing Service (Marconi)]
 * Angel Cambero, US, [ac5444@rit.edu/angelkanvero@gmail.com] [OpenStack Message Queuing Service (Marconi)]
 * Karim Benzidane, Morocco, k.benzidane@live.fr, [OpenStack Networking (Neutron) - Implement an application-level FWaaS driver]
 * Saad Khoudali, Morocco, s.khoudali@yahoo.fr, [ [Monitoring and Telemetry- Applying OpenStack telemetry to understand the bursts lifecycle in resource usage]
 * Renan Vicente, Brazil, renanvice@gmail.com,[OpenStack Networking (Neutron)]
 * Lionel Pereira, India, lpereira105@gmail.com, [Common Scheduler (Gantt)]
 * [Amar Sharma], India, amarsharma.hacker@gmail.com, [OpenStack Message Queuing Service (Marconi)]

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.

Then, let's start to write your proposal! A proposal template can be seen at GSoC2014/StudentApplicationTemplate.

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.

Click on the proposed project that caught your attention to get the details about the assumed knowledge, the project goals and more details related to it.

Fuzz Testing (various projects)
Fuzz testing or fuzzing is a software testing technique, often automated or semi-automated, that involves providing invalid, unexpected, or random data to the inputs of a computer program. The program is then monitored for exceptions such as crashes, or failing built-in code assertions or for finding potential memory leaks. Fuzzing is commonly used to test for security problems in software or computer systems.

Proposed ideas,


 * Implement a Fuzz testing framework that can be run on Tempest or a similar framework

Scheduler (Nova)
Nova (Compute) provides a scheduler framework which is aimed to be used by various OpenStack components.

Check out more details about Nova!

Proposed ideas,


 * Implement a scalable scheduler
 * Implement a cross-services scheduler

OpenStack Monitoring and Telemetry (Ceilometer)
Ceilometer aims to deliver a unique point of contact for billing systems to acquire all counters they need to establish customer billing, across all current and future OpenStack components. The delivery of counters must be traceable and auditable. The counters must be easily extensible to support new projects, and agents doing data collections should be independent of the overall system.

For more details about Ceilometer project, check out the wiki

Proposed ideas,


 * How to detect network anomalies from telemetry data within Openstack
 * Monitoring & Tuning network for QoS within Openstack
 * Applying OpenStack telemetry to understand the bursts lifecycle in resource usage

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!

Proposed ideas,


 * Add a New Storage Backend

OpenStack Common Libraries (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

Proposed ideas,


 * Add a new backend to oslo.cache
 * Implement a re-usable shared library for vmware (oslo.vmware) to be consumed by various OpenStack projects like Nova, Cinder or Glance
 * Define a new layer/abstraction in Nova for plugging-in vCenter and ovirt (since they span multiple hosts) (WIP)

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

Proposed ideas: https://docs.google.com/a/mirantis.com/document/d/1DWQzjQYMJI-70r76o8eyOSeQJoizceDuRVogAczxjbc/edit#


 * 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

Proposed ideas,


 * 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

Proposed ideas,


 * Develop a new plugin for Savanna to extend savanna.plugins.provisioning:ProvisioningPluginBase class and implement all the required methods. (WIP)

OpenStack Infrastructure (infra)
The project infrastructure encompasses all of the systems that are used in the day to day operation of the OpenStack project as a whole. This includes development, testing, and collaboration tools. All of the software that we run is open source, and its configuration is public. The project still uses a number of systems that do not yet fall under this umbrella (notably, the main website), but we’re working to incorporate them so that people may just as easily contribute to those areas. All new services used by the project should begin as part of the infrastructure project to ensure easy collaboration from the start.

Proposed ideas,


 * Replace Jenkins with a more scalable solution based on the zuul-gearman protocol

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


 * Openstack Compute (Nova)
 * Resource Reservation (Climate)
 * Common Scheduler (Gantt)
 * OpenStack Message Queuing (Marconi)
 * OpenStack Common Libraries (Oslo)
 * OpenStack Networking (Neutron)
 * OpenStack Object Storage (Swift)
 * OpenStack Block Storage (Cinder)
 * OpenStack Orchestration (Heat)
 * OpenStack Data Processing (Savanna)
 * OpenStack Telemetry (Ceilometer)
 * Benchmarking System (Rally)