GSoC2012/Ideas

GSoC 2012 Ideas Page
Here's a listing of the ideas for students to peruse.

When adding an idea to this page, please try to include the following detailed information:


 * a description of what the particular project does and where its code lives
 * a brief explanation of the idea
 * the expected results
 * pre-requisites for working on the project encapsulated in the idea
 * if applicable, links to more information or discussions
 * mailing list or IRC channel for your application/library/module
 * mentor's name contact info

If you are not currently an OpenStack developer but have an idea for a proposal, get in contact with the relevant developers first.

Compute Data Store
Brief explanation:

Alternative Database Implementation for OpenStack Compute.

Expected results:

Store data in zookeeper/riak or some other distributed data store. Offer migration from current data store, such as !MySQL or !PostgreSQL. Documentation of configuration and deployment details.

Knowledge prerequisites: SQL, SQLAlchemy, Python

Mentor: Vish Ishaya, vish dot ishaya at rackspace dot com

Alternative Baremetal Backend for Compute
Brief explanation:

Alternative Baremetal Backend: Right now we only support Tilera. It would be awesome to support something else. ARM or basic x86_64 systems.

Expected results:

For boards that do not support PXE and IPMI, such as the TILEmpower board, specific back ends must be written and documented.

There are some blueprints already for other machine types:

http://wiki.openstack.org/HeterogeneousGpuAcceleratorSupport http://wiki.openstack.org/HeterogeneousSgiUltraVioletSupport

Knowledge prerequisites:

Python

Mentor: Vish Ishaya, vish dot ishaya at rackspace dot com

Network aware scheduling for Compute
Brief explanation:

Math optimization based network aware scheduling for where VMs get started.

Expected results:

At a given level/zone, plugin a math solver/optimizer for complex constraint based scheduling decisions for a specified optimization objective. How should knowledge of the network topology and resources/capacity be used to influence workload placement decisions by the scheduler? Consensus was that the scheduler within nova needed to be able to take advantage of data about the network. Two example use cases:


 * Network isolation is being performed using VLANs, so all VMs attached to a particular "network" must be placed in the same data center pod.
 * End-to-end QoS guarantees need to be provided between VMs. How to make sure that VMs are placed in a location that can satisfy this request?

Knowledge prerequisites:

Python, math algorithms

Mentor: Debo~ Dutta

Scaling OpenStack Compute
Brief explanation: Scale the data store and query layer for OpenStack that enables efficient resource allocation and monitoring/consumption of events.

Expected results:

Events and messaging tests show more efficient resource allocation.

Knowledge prerequisites:

Python, database, SQL, SQLAlchemy

Mentor: Debo~ Dutta

Improvement code for Quantum plugin communication to Open vSwitch.
Brief explanation: Scale the data store and query layer for OpenStack that enables efficient resource allocation and monitoring/consumption of events.

Expected results:

(Based on performance - Time and Space complexity).

Mentor:

Hitesh Wadekar

Improve python-nova-client code for OpenStack + XCP toolstack
Expected results:

(Based on performance - Time and Space complexity).

Mentor: Hitesh Wadekar

Schedulers for Compute
 Brief explanation: Implementing Greedy, Round Robin, Dynaamic Round Robin, Queueing in OpenStack Schedulers.

Optimized scheduling algorithm to achieve optimization for cloud scheduling problems.

Expected results:

An automated scheduling policy which can allocate the virtual machines in a flexible way to permit the maximum usage of of virtual resources.

Knowledge prerequisites:

Python

Mentor: Hitesh Wadekar

Test automation framework for OpenStack Dashboard
Brief explanation:

Expected results:

Knowledge Prerequisite:

Mentor: Hitesh Wadekar

Adding unit test coverage for the integration testing of OpenStack
Brief explanation:

Expected results:

Knowledge Prerequisite:

Mentor: Hitesh Wadekar

Improvement or discover code for OpenStack + Hyper-V integration
Brief explanation:

Expected results:

Knowledge Prerequisite:

Mentor: Hitesh Wadekar

Keystone HTTPD support
Brief explanation:

Expected results:

Knowledge Prerequisite:

Mentor: Adam Young

Eventlet support for GSSAPI
Brief explanation:

Expected results:

Knowledge Prerequisite:

Mentor: Adam Young

Support for Splitting authentication and authorization over multiple LDAP servers
Brief explanation:

Expected results:

Knowledge Prerequisite:

Mentor: Adam Young

PKI Based Tokens
Brief explanation:

Expected results:

Knowledge Prerequisite:

Mentor: Adam Young

Improving (unit) test coverage in Nova
Brief explanation:

Expected results:

Knowledge Prerequisite:

Mentor: Soren Hansen

Implement a fake DB driver
Brief explanation:

Expected results:

Knowledge Prerequisite:

Mentor: Soren Hansen

Implementation of a JavaScript API for swift and glance
Brief explanation:

JavaScript APIs for Object Storage and the Image Service will allow streaming writes from a client directly to a service endpoint via Horizon.

Expected results:

Knowledge Prerequisite:

Django; JavaScript

Mentor:

Tres Henry