GSoC/GCI Archive
Google Summer of Code 2010


Web Page:

Mailing List:

OpenNebula is an open-source toolkit to easily build Infrastructure-as-a-Service clouds. In a nutshell, it is a piece of software that manages the deployment of virtual machines (Xen, KVM, VMWare are currently supported) on a pool of physical resources. OpenNebula has also been designed to be integrated with existing networking and storage solutions, meaning OpenNebula will also handle VM image transfers, VM setup, network setup, etc.




OpenNebula is mainly developed by the DSA research group at the Complutense University of Madrid. Our group participates in a number of research and open source projects related to Grid Computing (most notably the GridWay project, part of the Globus Alliance) and Cloud Computing. The OpenNebula project, first released in 2008, originated to meet some of the requirements of the European RESERVOIR project, but has since evolved into an open source project in its own right. In particular, over the last year we have seen a growing community of users coalescing around OpenNebula and, more importantly, a community of developers who actively contribute patches or develop tools to complement OpenNebula (see and









  • Improve fault-tolerance in Haizea+OpenNebula When using OpenNebula and Haizea together, Haizea does not react to unexpected changes in the physical resources or the VMs. OpenNebula's new hook mechanism should be used to make sure that Haizea is aware of when an unexpected change happens.
  • OpenNebula Management Console This project will provide the option of managing OpenNebula via a web based interface, apart from currently available CLI and API based interfaces.
  • OpenNebula Service Management A service comprise of several components/tiers known as clustered service. Clustered services could be hosted as a group of interconnected virtual machines in a cloud with specific deployment requirements. Currently, OpenNebula does not offer a service management component allowing users to deploy and manage their clustered applications. The exact contribution of this project is to develop a component for OpenNebula that will allow users to control the life-cycle of clustered services easily.