From Fedora Project Wiki

< Features

Revision as of 00:59, 22 April 2012 by Spstarr (talk | contribs) (We're done! Package review and comps.xml addition is now needed)


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: (03/04/2012)
  • Percentage of completion: 95%


* Convert existing rubygem packages (not reviewed) to use RSpec 2.x from 1.x. DONE! (DataMapper packages not going to be used)
* Convert existing rubygem packages (not reviewed) to use Ruby SIG packaging guidelines DONE! (rubygem-idn, rubygem-addressable, rubygem-stringex)

  • Fix OpenNebula spec file to conform to Fedora standards

* Support SELinux Optional, it is only required if we want to harden oneadmin user account on Hypervisor, can be done in an update
* Submit rubygem packages for review

  • Submit OpenNebula package for review (tmpfs/lock, systemd files also) - Package builds, many rpmlint issues to fix up this week - Pending Upstream discussion (03/04/2012)
  • 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 DONE! maintained
rubygem-idn Ruby Bindings for the GNU LibIDN library DONE! maintained
rubygem-extlib Support library for DataMapper and Merb In Review, not blocking maintained
opennebula OpenNebula cloud computing tool to manage distributed data center infrastructure Not submitted spec done, rpmlint issues being fixed
rubygem-stringex Extensions to ruby String class Not required only was for DataMapper n/a
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 Ruby RSpec 2.x not compatible n/a
rubygem-dm-aggregates DataMapper plugin providing support for aggregates on collections Ruby RSpec 2.x not compatible n/a
rubygem-dm-constraints DataMapper plugin constraining relationships Ruby RSpec 2.x not compatible n/a
rubygem-dm-core An Object/Relational Mapper for Ruby - Core Ruby RSpec 2.x not compatible n/a
rubygem-dm-migrations DataMapper plugin for writing and specing migrations Ruby RSpec 2.x not compatible n/a
rubygem-dm-validations DataMapper plugin for performing validations on DM models and pure Ruby objects Ruby RSpec 2.x not compatible n/a
rubygem-dm-types DataMapper plugin providing extra data types Ruby RSpec 2.x not compatible n/a
rubygem-dm-transactions DataMapper plugin for transactions support for adapters Ruby RSpec 2.x not compatible n/a
rubygem-dm-timestamps DataMapper plugin for magical timestamps Ruby RSpec 2.x not compatible n/a
rubygem-dm-serializer DataMapper plugin for serializing Resources and Collections Ruby RSpec 2.x not compatible n/a
rubygem-dm-sqlite-adapter Sqlite Adapter for DataMapper Ruby RSpec 2.x not compatible n/a
rubygem-dm-mysql-adapter MySQL Adapter for DataMapper Ruby RSpec 2.x not compatible n/a
rubygem-dm-do-adapter DataObjects Adapter for DataMapper Ruby RSpec 2.x not compatible n/a
rubygem-data_objects A standard and simplified API for communicating with RDBMS from Ruby Ruby RSpec 2.x not compatible n/a
rubygem-do_mysql Implements the DataObjects API for MySQL Ruby RSpec 2.x not compatible n/a
rubygem-do_sqlite3 Implements the DataObjects API for Sqlite3 Ruby RSpec 2.x not compatible 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