Jump to: navigation, search

Difference between revisions of "Internship ideas"

Line 27: Line 27:
  
 
Knowledge Prerequisites: Understanding of XML, HTML, build automation, APIs, javascript
 
Knowledge Prerequisites: Understanding of XML, HTML, build automation, APIs, javascript
Nice-to-have knowledge: REST API, JSON, programming, Git
+
Nice-to-have knowledge: WADL, REST API, JSON, programming, Git
  
Mentor: Anne Gentle
+
Mentor: Diane Fleming
  
=== Documentation Automation ===
+
=== API All-in-one Guide ==
  
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.
+
Description: Define new API Guide, and refactor of the API Reference/s and the API Complete Reference page.
  
Blueprint: https://blueprints.launchpad.net/openstack-manuals/+spec/restructure-documentation
+
Blueprint: https://wiki.openstack.org/w/index.php?title=Blueprint-os-api-docs
  
Expected results: Patchsets submitted for review that build output to the docs.openstack.org site, reviewed by community members.
+
Expected results: New Guide on the api.openstack.org/ site to offer uniform, consistent instructions across multiple OpenStack APIs.
  
Knowledge Prerequisites: Understanding of XML, HTML, build automation
+
Knowledge Prerequisites: Understanding of XML, HTML, build automation, APIs, javascript
Nice-to-have knowledge: cloud operations, programming, Git, yaml, Python
+
Nice-to-have knowledge: WADL, REST API, JSON, programming, Git
  
Mentor: Anne Gentle
+
Mentor: Diane Fleming
  
 
== Community ==
 
== Community ==

Revision as of 20:35, 11 October 2013

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: WADL, REST API, JSON, programming, Git

Mentor: Diane Fleming

= API All-in-one Guide

Description: Define new API Guide, and refactor of the API Reference/s and the API Complete Reference page.

Blueprint: https://wiki.openstack.org/w/index.php?title=Blueprint-os-api-docs

Expected results: New Guide on the api.openstack.org/ site to offer uniform, consistent instructions across multiple OpenStack APIs.

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

Mentor: Diane Fleming

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

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

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

Sparklines in Horizon

Description: A lot of work is currently being done to integrate metering (Ceilometer) better with the web dashboard (Horizon). One nice addition would be to add "sparklines" (for an example of what a sparkline is, see this) to some of the tables in Horizon, so that they poll the data from Ceilometer. The Line Charts library should already provide asynchronous polling.

Related blueprint: https://blueprints.launchpad.net/horizon/+spec/sparklines

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

Knowledge prerequisites: programming knowledge

Nice-to-have knowledge: Python, Django

Mentors: Julie Pichon, Ladislav Smola

Selenium integration

Description: The web dashboard (Horizon) unit tests heavily rely on mocking in order to run fast and avoid requiring a fully set up OpenStack environment to run. It would be good to expand the Selenium test suite and use it for integration tests that would test Horizon in more depth, including the APIs it relies on.

Members of the community already have ideas on how one might want to implement this, therefore the first step will be to reach out to the community to collect and discuss ideas. Investigating if Selenium is the best tool for the job or if another may suit better (PhantomJS, ...?) would also be part of the task.

Related blueprint: https://blueprints.launchpad.net/horizon/+spec/selenium-integration-testing

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

Knowledge prerequisites: programming knowledge

Nice-to-have knowledge: Python, Django, Selenium/UI Testing

Mentors: Julie Pichon