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.
Contents
- 1 GSoC 2012 Ideas Page
- 1.1 Compute Data Store
- 1.2 Alternative Baremetal Backend for Compute
- 1.3 Network aware scheduling for Compute
- 1.4 Scaling OpenStack Compute
- 1.5 Improvement code for Quantum plugin communication to Open vSwitch.
- 1.6 Improve python-nova-client code for OpenStack + XCP toolstack
- 1.7 Schedulers for Compute
- 1.8 Test automation framework for OpenStack Dashboard
- 1.9 Adding unit test coverage for the integration testing of OpenStack
- 1.10 Improvement or discover code for OpenStack + Hyper-V integration
- 1.11 Keystone HTTPD support
- 1.12 Eventlet support for GSSAPI
- 1.13 Support for Splitting authentication and authorization over multiple LDAP servers
- 1.14 PKI Based Tokens
- 1.15 Improving (unit) test coverage in Nova
- 1.16 Implement a fake DB driver
- 1.17 Implementation of a JavaScript API for swift and glance
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