- 1 Google Summer of Code 2014
- 1.1 What is Openstack?
- 1.2 Mentors
- 1.3 Students
- 1.4 Communication
- 1.5 Ideas
- 1.5.1 Fuzz Testing (various projects)
- 1.5.2 Common Scheduler (Gantt)
- 1.5.3 OpenStack Monitoring and Telemetry (Ceilometer)
- 1.5.4 OpenStack Message Queuing Service (Marconi)
- 1.5.5 OpenStack Common Libraries (Oslo)
- 1.5.6 Benchmarking System (Rally)
- 1.5.7 OpenStack Networking (Neutron)
- 1.5.8 OpenStack Data Processing (Savanna)
- 1.5.9 OpenStack Infrastructure (infra)
- 1.6 Projects
Google Summer of Code 2014
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.
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!
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
- 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 - email@example.com - Zorp
- Szilard Pfeiffer - firstname.lastname@example.org - Zorp
- Arnaud Legendre - arnaud, email@example.com - Oslo
- Joshua Hesketh - jhesketh, firstname.lastname@example.org - OpenStack Infrastructure
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:
- Manishanker Talusani,India,email@example.com[Project not selected yet]
- Saket Sinha, India, firstname.lastname@example.org [project not selected yet]
- Adnan Khan, Canada, email@example.com [project not selected yet]
- Anastasios Andronidis, Greece, firstname.lastname@example.org. Proposed: Glance Scalable Image Precaching
- Artem Shepelev, Russia, e-mail: email@example.com, ashepelev at irc.freenode.net, OpenStack/Gantt Cross-services Scheduler.
- Fabio Morais, Brazil, firstname.lastname@example.org [Ceilometer; Proposed: Applying OpenStack telemetry to understand the bursts lifecycle in resource usage]
- Victoria Martínez de la Cruz - Argentina - email@example.com - vkmc - OpenStack Message Queuing (Marconi)
- Wei Wang, China, firstname.lastname@example.org, Neutron & Keystone
- Kumar Rishabh, India, email: email@example.com [would fill more details later]
- Marc Solanas Tarre, US, email: firstname.lastname@example.org, mst89, [Monitoring and Telemetry how to detect network anomalies from telemetry data within Openstack]
- Pengfei Zhang, US, email@example.com, Sparky, [Monitoring and Telemetry Monitoring & Tuning network for QoS within Openstack]
- RobberPhex, China, firstname.lastname@example.org, Rally
- Rodrigo Duarte, Brazil, email@example.com, rodrigods at irc.freenode.net [Gantt]
- Rishi Raj Singh, India, firstname.lastname@example.org, [project not selected yet]
- Telles Nóbrega, Brazil, email@example.com, tellesnobrega at irc.freenode.net [Keystone, Nova, Savanna, Ceilometer]
- Md Ali Ahsan Rana, Canada, firstname.lastname@example.org, [Oslo, Rally]
- George Ebbinason, India, email@example.com, [OpenStack Networking (Neutron) - Implement an application-level FWaaS driver]
- Masaru Nomura, UK, firstname.lastname@example.org, [OpenStack Incubator (Oslo) - Implement a re-usable shared library for vmware (oslo.vmware)]
- Santosh Iyer, US, email@example.com, [Nova, Ceilometer, Savanna]
- Chenchong Qin, China, firstname.lastname@example.org, Neutron
- Andrew Chul, Russia, email@example.com, [project not selected yet]
- Fang Zhen, China, firstname.lastname@example.org,[Gantt, Ceilometer]
- Abhinav Saxena, India, email@example.com [project not yet selected]
- Pranav Singh, India, firstname.lastname@example.org, purple_haze, [project not yet selected]
- Demontiê dos Santos, Brazil, email@example.com, dsantos_ at irc.freenode.net, [Nova]
- Daniel Bruno, Brazil, firstname.lastname@example.org, danielbruno, [Heat, Savanna, Nova, Neutron]
- Dániel Csubák, Hungary, email@example.com, [OpenStack Networking (Neutron) - Implement an application-level FWaaS driver]
- Bruno Criado, Brazil, firstname.lastname@example.org, dropped at irc.freenode.net, [Implement a Fuzz testing framework that can be run on Tempest or a similar framework]
- Ondra Machacek, Czech Republic email@example.com, omachace [infra]
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.
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.
Common 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 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
|Topics||ceilometer, data science|
- 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!
|Topics||storage, python, marconi|
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
|Difficulty||Medium - Hard|
|Topics||storage, python, oslo|
|Mentor||Alejandro Cabrera, Davanum Srinivas|
- 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
|Topics||rally, benchmarks, deploying, python, tempest,|
- 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, python, networking, fwaas, neutron|
|Mentor||Balint Kovacs, Szilard Pfeiffer|
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. (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.
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)