Jump to: navigation, search

Internship ideas

Revision as of 11:36, 26 April 2013 by Flaper87 (talk | contribs)

Outreach Program for Women Ideas List

The GNOME Foundation provides an outreach program for women. You can learn more here: https://live.gnome.org/OutreachProgramForWomen.

OpenStack would like to participate as a project again. We have identified some mentors and have sponsorship from the Foundation to participate in this program. This page should collect the ideas for applicants to work on.

They definitely emphasize that applicants may not have ever worked on FLOSS before. There are several stages to the program, but the first stage is to mentor during the application process itself. Joining mailing lists, IRC, understanding the channels of communication are good first steps. Logging bugs and fixing bugs are also good ideas.

Interns are expected to spend 40 hours a week on the project.

So, feel free to list ideas here:

Documentation

OpenStack documentation is highly technical and processed like the code itself. See below for ideas on how to participate as a doc contributor.

API Try-it-out Website

Description: Try it out web forms on http://api.openstack.org/api-reference.html. To make it easier for users to understand the REST API calls, we want to use a javascript library called jstack to make calls to the TryStack cloud through a web interface. There are lots of tasks within the project: web design, forms design, javascript, CSS, HTML, possibly XSLT.

Blueprint: https://blueprints.launchpad.net/openstack-manuals/+spec/api-try-it-out

Expected results: Design for a web form that would enable jstack to integrate into a web page. Bonus results: A working proof-of-concept web page that uses jstack to make calls to the TryStack cloud and returns results to the web page.

Knowledge Prerequisites: Understanding of XML, HTML, build automation, APIs, javascript Nice-to-have knowledge: REST API, JSON, programming, Git

Mentor: Anne Gentle

Documentation Automation

Description: Documentation refactoring to do a massive refactor based on a "blueprint" which is a plan agreed upon by the community at a Summit. Includes debugging scripts that automate configuration listings directly from Python code. There will be both bug fixes and cleanup and new document creation. Documentation for OpenStack is a code-like task because you'll need to use Github and the Gerrit review process to submit changes. A list of the bugs for admin docs built to docs.openstack.org can be found at http://bugs.launchpad.net/openstack-manuals to get an idea of how technical some of these bugs are. A list of the bugs for API docs can be found at http://bugs.launchpad.net/openstack-api-site.

Blueprint: https://blueprints.launchpad.net/openstack-manuals/+spec/restructure-documentation

Expected results: Patchsets submitted for review that build output to the docs.openstack.org site, reviewed by community members.

Knowledge Prerequisites: Understanding of XML, HTML, build automation Nice-to-have knowledge: cloud operations, programming, Git, yaml, Python

Mentor: Anne Gentle

Community

  • Build a supply-chain management system to distribute merchandising to OpenStack User Groups around the world [reed on IRC / stefano at openstack org] Details
  • Write a mobile app for tablets to create a paperless kiosk for marketing collateral at events [reed on IRC / stefano at openstack org]
  • Investigate the availability of free software conferencing systems and deploy one inside the OpenStack Infrastructure [reed on IRC / stefano at openstack org]

Coding

Adding features to Python Clients of Various OpenStack Projects

Description: Adding features to existing python clients for various projects of OpenStack, for example glance client(https://launchpad.net/python-glanceclient), nova client (https://launchpad.net/python-novaclient), etc. It includes finding bugs and fixing them or implementing blue prints. This will help gain an overview of various parts of OpenStack project and improve the clients.

Expected results: Patchsets submitted for review, reviewed by community members.

Knowledge Prerequisites: programming knowledge

Nice-to-have knowledge: cloud operations, python, Git

Mentor: Iccha Sethi

Consistent Transaction ID across all projects

Description: To ensure that a consistent transaction id is set for a given user requested operation and is carried forward towards all the other projects where the request might have been made. This helps tie into together requests and transaction and better analyze what went wrong where. For example, a single create server request may cause multiple requests to glance(image service), and depending on the issue, it would be great to both tie those together or investigate separately.

Listserv discussion: https://lists.launchpad.net/openstack/msg13084.html

Expected results: Patchsets submitted for review, reviewed by community members.

Knowledge Prerequisites: programming knowledge

Nice-to-have knowledge: cloud operations, python, Git

Mentor: Iccha Sethi

DRY the templates

Description: Horizon, the OpenStack web dashboard, uses Django and Django's templating system. However there are many places where templates should be respecting the "Don't Repeat Yourself" motto but instead were copy-pasted, which now makes them cumbersome to maintain and leads to discrepancies. The existing templates should be analysed to see which ones are similar enough and could be merged. Then the code and templates should be updated to do just this.

Related blueprint: https://blueprints.launchpad.net/horizon/+spec/dry-templates

Expected results: Patchsets submitted for review, reviewed by community members.

Knowledge prerequisites: programming knowledge

Nice-to-have knowledge: Python, Django

Mentor: Julie Pichon

Surface the "Instance Actions" Information

Description: In the web dashboard (Horizon), it is possible to see information about the instances currently running. It would be nice to be able to see the instance history when clicking on the details, e.g. to figure out when an instance was shut down and by whom, etc. This information is already provided by an API in the compute service (Nova), and needs to be surfaced both for the user (who can see the history for their own instances) and the admin (who can see the history for everyone). This will probably require using Horizon Tabs and TabGroups, adding it to the instance details and finding a nice way to display the data.

Related blueprint: https://blueprints.launchpad.net/horizon/+spec/instance-actions-dashboard

Expected results: Patchsets submitted for review, reviewed by community members.

Knowledge prerequisites: programming knowledge

Nice-to-have knowledge: Python, Django

Mentor: Julie Pichon

Ceilometer improvements

Description: we have several features in Ceilometer that could be interested, depending on the interest of the internship.

Related blueprints:


Expected results: Patchsets submitted for review, reviewed by community members.

Knowledge prerequisites: programming knowledge

Nice-to-have knowledge: MongoDB, SQL

Mentor: Julien Danjou

Marconi WebSocket Transport

Description: Marconi, a queuing service for OpenStack, is in its early ages and some of its areas are still being designed and developed from scratch. It is a great opportunity for interns to learn about queuing systems, OpenStack architecture and development methodologies. The proposed project is to help developing a WebSocket based transport for Marconi.

Related blueprint: https://blueprints.launchpad.net/marconi/+spec/websocket-endpoint

Expected results: Patchsets submitted for review, reviewed by community members.

Knowledge prerequisites: programming knowledge

Nice-to-have knowledge: RESTFul APIs, HTTP, MongoDB

Mentor: Flavio Percoco