Contacts and Mentors

For general information about Eucalyptus involvement with the GSoC, please contact community@eucalyptus.com. For specific questions on any of the proposed Eucalyptus projects, please contact our project administrators:

Project mentors:

Proposed Projects:

The table below lists the proposed Eucalyptus project by name, description, recommended skills, and project scope. The following terms are used to define the scope:

Research: The project does not have a specific deadline or well-defined requirements. The student must specify the deadline and define the requirements to limit the scope of the project

Open-ended: The project has a very broad scope. The student should be careful in defining the objectives to limit the scope of his engagement.

Production: The project is scheduled to be integrated very soon into Eucalyptus (i.e., next release). Initial requirements and milestones are already understood.

Focus (Deep or Broad): A Deep focus project targets a few specific technologies (e.g., one language and either server or client side) while a Broad focus project targets multiple technologies (e.g., working on back end and front end, or server and client side).

Project Name

Description

Skills

Scope

EucaUI

There are many ways to interact with a Eucalyptus cloud via the EC2 and S3 APIs, such as using Euca2ools, the Boto library, and Rightscale. However, having an basic GUI within eucalyptus may help to get started. A HTML5 / Javascript UI that can run in a web browser would be helpful for many types of users.

HTML5 / Javascript / Ajaxy

Open-end / Broad

World Map

Investigate and implement the best method for reporting on Eucalyptus installations worldwide (including generic info such as country, size, and version). To include a means for visualizing this information, for example a world map or a running table showing specific stats, such as latest installation, largest installation of the month, etc.

Scripts / Java / web presentation

Open-end / Broad

EucaDroid

Android is an increasingly important open-source user-facing graphical operating system, running in smart phones, in handheld and wallmounted devices, and tablet computers. It would be useful to have a well written Android application that can manage and control storage and compute resources on AWs and in Eucalyptus clouds.

Android

Research / Focus

CloudDesktop

This project targets the development of a Web UI to display remote desktops of VMs running in a Eucalyptus cloud. Using this Web UI, administrators can debug their VMs or extend the interface into a “Desktop in the Cloud.” HTML5/Javascript are expected to implement this feature (to avoid cumbersome Flash or Java applet). Remoting technology can be RDP, VNC or SPICE (if there is enough time).

HTML5 / Javascript / VNC / RDP / SPICE

Open end / Broad

Euca2ools challenge

The Boto library and Euca2ools are open-source libraries and command line tools that use the published AWS API to interact with Eucalyptus, AWS, and OpenStack resources. A comprehensive framework to do correctness and conformance testing of the tools against the published API is the goal of this project. The AWS API is ever expanding, so the framework must be able to handle multiple versions of the API.

Python

Production / Focus

Euca2ools NG

The Boto library and the Euca2ools scripts are written in Python 2, and work well in the Python interpreter up to version 2.7.1. This project will focus on porting Euca2tools and Boto to Python 3.x interpreters.

Python 3.x

Production / Focus

RoboUI

The roboto project uses JSON data structures to fully describe the requests and responses of HTTP-based distributed systems like Eucalyptus. We then use those JSON descriptions to automatically generate command line interfaces for new services. It is believed that these JSON descriptions could also be useful in helping to automatically generate user interfaces for these services. This project would explore these possibilities with a goal of auto-generating admin-level web user interfaces for a subset of Eucalyptus services.

JSON / Java/ Javascript

Research / Focus

Cluster GPU

GPUs can now be used to accelerate the performance of many general purpose computing problems. The goal of this project is to explore and implement a mechanism for exposing the GPUs present on the system to the instances. An application needs to be identified that showcases implementation.