Internship ideas
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 - 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 |