Jump to: navigation, search

Internship ideas

Revision as of 15:46, 16 September 2014 by Tahmina (talk | contribs) (Keystone - Project Name: Implementation of Attribute and Graph Based Access Control Model (AGBAC) for Openstack)

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 for the Dec. 2013 to March 2014 session. We have identified some mentors and have sponsorship from the OpenStack Foundation, Rackspace and HP to participate in this program. This page should collect the ideas for applicants to work on.

GNOME OPW emphasizes 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

Outdated: Waiting for mentor confirmation

OpenStack documentation is highly technical and processed like the code itself.

Our tool chain is a maven plugin housed in http://github.com/stackforge/clouddocs-maven-plugin and currently includes all branding, CSS, and xslts. We would like to separate those out so individuals or organizations could maintain their own branding files separately from the plugin. We also are looking to output xhtml that could be styled separately.

Expected results: Patchsets to the maven plugin submitted for review, reviewed by community members.

Knowledge prerequisites: Documentation value proposition

Nice-to-have knowledge: git source control, Java, XSLT, CSS, HTML5, XML

Mentor: Contact Anne Gentle (anne dot gentle at rackspace dot com) for information. Your first documentation patch walk-through is documented at https://wiki.openstack.org/wiki/Documentation/HowTo/FirstTimers.

Community

Outdated: Waiting for mentor confirmation

  • Build a supply-chain management system to distribute merchandising to OpenStack User Groups around the world [reed on IRC / stefano at openstack org] Details
  • Add audio and video real time collaboration capabilities to OpenStack User Groups portal [reed on IRC / stefano at openstack org]
  • Write puppet scripts to automatically deploy/manage Ask OpenStack [reed on IRC / stefano at openstack org]

Coding

Zaqar: TBD

Mentor: Flavio Percoco

Glance - adding NoSQL support

Outdated: Waiting for mentor confirmation

Description: Glance is used as metadata repository management tool within OpenStack for server Images. NoSQL can be really useful for DB backend for Glance.

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. Glance folks are pretty active on #openstack-glance channel most of the time and would be willing to share their opinions on this or any other project.

Related blueprint: https://blueprints.launchpad.net/glance/+spec/enable-mongo-db

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

Knowledge prerequisites: programming knowledge

Nice-to-have knowledge: Python, NoSQL

Mentors: Nikhil Komawar

Glance - Implement Tasks scrubber

Outdated: Waiting for mentor confirmation

Description: Glance Tasks are currently never deleted. This project would involve writing a scrubber logic for soft-deleting tasks as a part of Glance codebase.

Glance folks are pretty active on #openstack-glance channel most of the time and would be willing to share their opinions on this or any other project. Please reach out to me on IRC to get a detailed information on this.

Related blueprint: https://blueprints.launchpad.net/glance/+spec/async-glance-workers

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

Knowledge prerequisites: programming knowledge

Nice-to-have knowledge: Python

Mentors: Nikhil Komawar

Glance - Swift ranged uploads

Outdated: Waiting for mentor confirmation

Description: We currently retry the entire upload process if it fails. Need to add the ranged uploads logic from swift store to improve performance.

Glance folks are pretty active on #openstack-glance channel most of the time and would be willing to share their opinions on this or any other project. Please reach out to me on IRC to get a detailed information on this.

Related blueprint: TBA

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

Knowledge prerequisites: programming knowledge

Nice-to-have knowledge: Python

Mentors: Nikhil Komawar

Neutron - add an extension for port statistics

Outdated: Waiting for mentor confirmation

Description:

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. 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 create an extension for Neutron [1] to be able to expose monitoring data regarding ports (byte or packets transmitted or received). You´ll provide an implementation of the extension using the ML2 framework [2] and openvswitch. This feature will be implemented end to end, from api design to unit testing.

Related blueprint: https://blueprints.launchpad.net/neutron/+spec/port-statistics

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

Knowledge prerequisites: programming knowledge

Nice-to-have knowledge: Python, Openvswitch

Mentors: Rossella Sblendido

Ceilometer - Period-spanning statistics

Outdated: Waiting for mentor confirmation

Description: Currently, in Ceilometer, statistical aggregates are calculated over discrete periods. However, there are many interesting statistical techniques that naturally span across multiple periods. Examples range from simple moving averages to more sophisticated exponential smoothing with the potential for forecasting & prediction bands. This project would involve designing the method for calculating period-spanning statistics and implementing period-spanning statistics in the storage drivers (MongoDB, SQL, etc.)

Related blueprint: https://blueprints.launchpad.net/ceilometer/+spec/period-spanning-statistics

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

Knowledge prerequisites: programming knowledge

Nice-to-have-knowledge: Python, MongoDB, SQL, basic statistics

Mentors: Eoghan Glynn

Proposed by applicants

Keystone - Project Name: Implementation of Attribute and Graph Based Access Control Model (AGBAC) for Openstack

Proposed by: Name - Tahmina Ahmed

Description: Core Openstack Access Control Module according to identity API V3 (user, token,project, domain, group, role association.) [1]can be abstracted as a graphOSAC.jpg. Using a property graph database (where both nodes and edges have attributes) as a backend for identity we can express contextual association between any two entities of openstack. For property graph representation of Openstack entities (user, group, role, project, domain) are nodes in the graph and they have their attributes and association between any two of them can be depicted as edge and each edge has it's attributes. Like a project is associated with a domain and this association can be depicted as temporal if we can say that the association is only active from 8am to 5pm this is something to say about the project-domain association. We can express this as an attribute of project-domain association edge and use this for access control perspective. Incorporating a property graph database like neo4j http://neo4j.com/ as openstack identity backend can give us the flexibility to express contextual association of different entities in openstack. Steps to Implement AGBAC in Openstack 1. Change openstack identity backend to configure for a open source graph database Neo4j <ref> http://neo4j.com/.

2. In policy specification use path expression based policy.

3. Make a policy analyzer that translates the path expression based policy to “Cypher” query for Neo4j.

Extra details:
  1. ] Bo Tang and Ravi Sandhu, Extending Openstack Access Control With Domain Trust. In Proceedings 8th International Conference on Network and System Security (NSS 2014), Xi'an, China, October 15-17, 2014, 15 pages