From Fedora Project Wiki


Feature Name OpenNebula

OpenNebula is an Open Source Toolkit for Data Center Virtualization.

Summary

OpenNebula is an open-source cloud computing toolkit for managing heterogeneous distributed data center infrastructures. The OpenNebula toolkit manages a data center's virtual infrastructure to build private, public and hybrid IaaS (Infrastructure as a Service) clouds.

Owner

Current status

  • Targeted release: Fedora 17
  • Last updated: (01/02/2012)
  • Percentage of completion: 42%


  • Convert existing rubygem packages (not reviewed) to use RSpec 2.x from 1.x.
  • Convert existing rubygem packages (not reviewed) to use Ruby SIG packaging guidelines
  • Fix OpenNebula spec file to conform to Fedora standards
  • Support SELinux
  • Submit rubygem packages for review
  • Submit OpenNebula package for review (tmpfs/lock, systemd files also)
  • Request Comps XML Changes - cloud-infrastructure - group


Detailed Description

OpenNebula is an Open Source framework for Data Center Virtualization. The project is designed to be scalable and offer compatibility with Amazon EC2 the Open Cloud Computing Interface (OCCI).

It includes a core (oned) which orchestrates the deployment and management of Virtual Machines, and is managed via a CLI, a web service (Sunstone), and language specific bindings (Ruby, Java and Python).

It also features management of Virtual Data Centers.

Benefit to Fedora

Allow Fedora to have an integrable and extensible framework for Data Center Virtualization.

Scope

Get all dependencies into Fedora, and build a single package that provides OpenNebula. Upstream will test it.

How To Test

OpenNebula must be tested in a physical server, not a Virtual Machine, since it requires virtualization extensions to manage Virtual Machines. The physical server must have virtualization capabilites.

A typical OpenNebula installation requires external servers to handle virtualization, but for these purposes the same server can be used as:

  • OpenNebula frontend: opennebula package + dependencies
  • OpenNebula node: a hypervisor of choice. Libvirt + KVM recommended.

After installing the software, these tests should be run to validate the package:

  • Manage a Virtual Machine with the CLI (following these instructions). This implies creating a network, registering a host, an image, etc.
  • Use the graphical user interface (sunstone) to do the same thing.


User Experience

Fedora users will be provided with a CLI and a web-based GUI to manage VMs.

Dependencies

Package Name Description Package Review Status
rubygem-addressable Improved URI/URL handling Pending final reviews maintained
rubygem-idn Ruby Bindings for the GNU LibIDN library DONE! maintained
rubygem-extlib Support library for DataMapper and Merb In Review maintained
rubygem-stringex Extensions to ruby String class In Review maintained
rubygem-xmlparser Ruby bindings to the Expat XML parsing library DONE! package is obsolete use rubygem-nokogiri
rubygem-data_mapper An Object/Relational Mapper for Ruby Not submitted n/a
rubygem-dm-aggregates DataMapper plugin providing support for aggregates on collections Not submitted n/a
rubygem-dm-constraints DataMapper plugin constraining relationships Not submitted n/a
rubygem-dm-core An Object/Relational Mapper for Ruby - Core Not submitted n/a
rubygem-dm-migrations DataMapper plugin for writing and specing migrations Not submitted n/a
rubygem-dm-validations DataMapper plugin for performing validations on DM models and pure Ruby objects Not submitted n/a
rubygem-dm-types DataMapper plugin providing extra data types Not submitted n/a
rubygem-dm-transactions DataMapper plugin for transactions support for adapters Not submitted n/a
rubygem-dm-timestamps DataMapper plugin for magical timestamps Not submitted n/a
rubygem-dm-serializer DataMapper plugin for serializing Resources and Collections Not submitted n/a
rubygem-dm-sqlite-adapter Sqlite Adapter for DataMapper Not submitted n/a
rubygem-dm-mysql-adapter MySQL Adapter for DataMapper Not submitted n/a
rubygem-dm-do-adapter DataObjects Adapter for DataMapper Not submitted n/a
rubygem-data_objects A standard and simplified API for communicating with RDBMS from Ruby Not submitted n/a
rubygem-do_mysql Implements the DataObjects API for MySQL Not submitted n/a
rubygem-do_sqlite3 Implements the DataObjects API for Sqlite3 Not submitted n/a
opennebula OpenNebula cloud computing tool to manage distributed data center infrastructure Not submitted n/a

Contingency Plan

Delay the release to F18.

Documentation

Release Notes

  • OpenNebula, the open-source cloud computing toolkit, will be available for the first time in Fedora 17.

Comments and Discussion