Difference between revisions of "Internship ideas"
Dina Belova (talk | contribs) |
Dina Belova (talk | contribs) (→Documentation) |
||
Line 141: | Line 141: | ||
MENTORS=DinaBelova | | MENTORS=DinaBelova | | ||
STATUS=Open | | STATUS=Open | | ||
− | PROGRAM=Outreach | + | PROGRAM=Outreach May-Aug 2016 |
}} | }} | ||
Revision as of 16:32, 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 May-Aug 2016 |