Jump to: navigation, search

Difference between revisions of "Internship ideas"

Line 116: Line 116:
 
SKILLS=Python |
 
SKILLS=Python |
 
MENTORS=nikhil |
 
MENTORS=nikhil |
 +
STATUS=Open |
 +
PROGRAM=Outreach Dec-Apr 2016
 +
}}
 +
 +
{{InternshipIdea|
 +
TITLE=OSprofiler - Implement new storage drivers for OSprofiler / add OSprofiler support to other OpenStack projects |
 +
DESCRIPTION= OSprofiler is an Oslo library allowing to trace cross-project requests and identify the OpenStack performance bottlenecks via understanding what time was spent on each request stage, how many requests were used, etc. Lots of developing efforts might be found here, including writing new storage drivers for OSprofiler and adding its integration to other OpenStack projects. |
 +
DIFFICULTY=Medium |
 +
TOPICS=OSprofiler |
 +
SKILLS=Python|
 +
MENTORS=DinaBelova |
 +
STATUS=Open |
 +
PROGRAM=Outreach Dec-Apr 2016
 +
}}
 +
 +
== Documentation ==
 +
 +
{{InternshipIdea|
 +
TITLE=Performance-docs - Add missing sections to http://docs.openstack.org/developer/performance-docs/# and identify the documentation gaps |
 +
DESCRIPTION= Performance-docs is quite new initiative leaded and pushed by OpenStack Performance Working Group - https://wiki.openstack.org/wiki/Performance_Team - and we really need your help to work on adding test results, topologies and environments description, etc. to make this source valuable for all community. |
 +
DIFFICULTY=Medium |
 +
TOPICS=Performance-docs |
 +
SKILLS=Good English and great communication skills to collect the information|
 +
MENTORS=DinaBelova |
 
STATUS=Open |
 
STATUS=Open |
 
PROGRAM=Outreach Dec-Apr 2016
 
PROGRAM=Outreach Dec-Apr 2016

Revision as of 15:58, 26 January 2016


To submit new ideas please consider creating a new page and use the Template:InternshipIdea (instructions are provided on that page) and you can see how a sample idea page would look like. The pages created with such template are listed on Category:Internship_idea.

List of Ideas for Internships

The OpenStack Foundation has multiple sources for internships, from Outreachy to Google Summer of Code and other opportunities. This page collects the ideas for candidate interns to work on.

Applicants may not have ever worked on FLOSS before and have different levels of competence. Since we have different programs, add here ideas that can be completed by inexperienced contributors, developers or other fields (marketing, communication, graphic design, and anything that may be useful for OpenStack and to include new people in this community).

Coding

Trove - Users and databases CRUD operations for CouchDB

Add basic support for user and databases management in CouchDB

Difficulty Medium
Topics Trove
Required skills Python
Extra skills NoSQL
Mentor vkmc
Status None
Program Outreach Dec-Apr 2016


Zaqar - Implement support for binary data in the websocket transport

Enable Zaqar to store and forward messages with binary content through the websocket transport

Difficulty Medium
Topics Zaqar
Required skills Python
Extra skills Websocket
Mentor vkmc
Status None
Program Outreach Dec-Apr 2016


Murano - Implementation of tagging heat stacks, created by murano

Allow attributing a set of simple string-based tags to stacks to easily manage their life-cycle.

Difficulty Medium
Topics Murano
Required skills Python
Extra skills REST API
Mentor efedorova
Status Started
Program Outreach Dec-Apr 2016


Murano - Full i18n and l10n support for murano projects

Allow users of murano, murano-dashboard, python-muranoclient, and murano-agent to translate messages using translate.openstack.org and import translated messages, to allow them to use murano in their own language

Difficulty Medium
Topics Murano
Required skills Python
Extra skills Unicode
Mentor kzaitsev
Status Not Started
Program Outreach Dec-Apr 2016


Sahara - Improve anti-affinity behavior for cluster creation

Enable sahara to distribute node creation in a more equitable manner with respect to compute hardware affinity. This will involve examining how sahara currently places nodes requesting anti-affinity into a server group, and then creating a solution for distributing the requested nodes. One possibility is for sahara to create more server groups and place nodes in those groups in a round-robin fashion.

Difficulty Medium-Advanced
Topics Sahara
Required skills Python
Extra skills Distributed computing
Mentor elmiko
Status None
Program Outreach Dec-Apr 2016


Neutron - Metering agent add port statistics

Neutron the metering agent collects statistics regarding bandwidth usage. Right now it only measure the bandwidth used by routers. The idea is to extend it and provide statistics also for ports. In the first implementation only openvswitch will be supported, since we will use openvswitch tools to get the port statistics. The first step will be getting familiar with the metering agent and with Neutron in general. Then you will approach openvswitch tools and think about how to use them for this project. After that you can reach out to the community to collect and discuss ideas. Neutron folks are pretty active on #openstack-neutron channel most of the time and would be willing to share their opinions on this or any other project. You'll submit your code upstream and address the comments you get till your patch gets merged.

Difficulty Medium-Advanced
Topics Neutron
Required skills Python
Extra skills Networking, OVS
Mentor rossella_s
Status None
Program Outreach Dec-Apr 2016


Neutron - ovsdb client monitor for Windows

The OVS agent monitors the ports that are added in the compute host to be able to wire them correctly. In Linux it uses the class InterfacePollingMinimizer that notifies the agent when a new port is plugged or unplugged and passes the related events (port added or deleted). For Windows it uses the class AlwaysPoll that doesn't notify any specific event, it returns always true. The OVS agent in Windows is forced to rescan the devices currently in the machine to infer which were added. This is because the current Windows implementation of the interface polling manager doesn't use ovsdb client monitor. The aim of this project is to use ovsdb client monitor also for Windows and make sure that the events are passed correctly to the OVS agent. This will improve the performance and will enable some clean up in the OVS agent code. The first step is getting familiar with the OVS agent and with Neutron in general. Then you will approach openvswitch tools and investigate how to use ovsdb monitor client in Windows. Neutron folks are pretty active on #openstack-neutron channel most of the time and would be willing to share their opinions on this or any other project. You'll submit your code upstream and address the comments you get till your patch gets merged.

Difficulty Medium
Topics Neutron
Required skills Python
Extra skills Networking, OVS
Mentor rossella_s
Status None
Program Outreach Dec-Apr 2016


Neutron - Pluggable IPAM support for host-dependent IP address allocation

Some use cases would like the IP address(es) that Neutron allocates to a VM to depend on the compute host that Nova chooses for that VM. For example, in the Calico approach where data is routed between compute hosts, it's desirable for the IP addresses that are used on a given host (or rack) to be clustered within a small IP prefix, so that the routes to those IP addresses can be aggregated. Neutron's new pluggable IPAM facility is the main ingredient needed for this, but two other ingredients are needed as well. (1) Review, understanding and enhancement of the port setup exchange between Nova and Neutron, such that Neutron can choose an IP address _after_ Nova has chosen the compute host. (2) Design and coding of a way to pass the chosen host into the pluggable IPAM module, so that the module can take the host into account. Demonstration of this all working will also require (3) A sample pluggable IPAM module that allocates IP addresses in some host-aware way.

This is a challenging but interesting project. Stages of the work will include becoming familiar with the relevant parts of Neutron; writing a spec for the work, and evolving this as feedback is received; and coding, and again evolving this as comments are received, until it's all done!

Difficulty Medium-Advanced
Topics Neutron
Required skills Python
Extra skills Networking
Mentor neiljerram
Status None
Program Outreach Dec-Apr 2016


Glance - Extended support for requests library

You would be learning about glance-replicator, glance_store drivers and if time permits other modules. You are then expected to add support for requests library ( https://pypi.python.org/pypi/requests ) starting with glance-replicator. Although, supporting more than glance-replicator is not expected, more support you add the better your internship will be. You will also help with bug triage and optimizations around that code base as you add more support.

Difficulty Medium
Topics Glance
Required skills Python
Extra skills State which other skills are needed
Mentor nikhil
Status Open
Program Outreach Dec-Apr 2016


OSprofiler - Implement new storage drivers for OSprofiler / add OSprofiler support to other OpenStack projects

OSprofiler is an Oslo library allowing to trace cross-project requests and identify the OpenStack performance bottlenecks via understanding what time was spent on each request stage, how many requests were used, etc. Lots of developing efforts might be found here, including writing new storage drivers for OSprofiler and adding its integration to other OpenStack projects.

Difficulty Medium
Topics OSprofiler
Required skills Python
Extra skills State which other skills are needed
Mentor DinaBelova
Status Open
Program Outreach Dec-Apr 2016

Documentation

Performance-docs - Add missing sections to http://docs.openstack.org/developer/performance-docs/# and identify the documentation gaps

Performance-docs is quite new initiative leaded and pushed by OpenStack Performance Working Group - https://wiki.openstack.org/wiki/Performance_Team - and we really need your help to work on adding test results, topologies and environments description, etc. to make this source valuable for all community.

Difficulty Medium
Topics Performance-docs
Required skills Good English and great communication skills to collect the information
Extra skills State which other skills are needed
Mentor DinaBelova
Status Open
Program Outreach Dec-Apr 2016
Past internship ideas