Author:Rubén S. Montero
Version:$Revision: 0001 $

As planned in the BonFIRE description of work, the EPCC, HLRS and INRIA BonFIRE sites use OpenNebula as their core Virtual Infrastructure Manager (VIM). OpenNebula is an open and flexible tool that fits into existing data centre environments to build any type of Cloud deployment. OpenNebula can be primarily used as a virtualization tool to manage a virtual infrastructure in the data centre. It provides Cloud interfaces to expose its functionality for virtual machine, storage and network management. The OpenNebula OCCI is a web service that enables launching and managing of virtual machines in an OpenNebula installation using the OGF OCCI API specification. The OpenNebula OCCI service is implemented upon the new OpenNebula Cloud API (OCA) layer that exposes the full capabilities of an OpenNebula private cloud; and Sinatra, a widely used, light web framework.


Figure 7: OpenNebula OCCI service implementation.

APIs provided

OpenNebula exposes its IaaS functionality through a modified OGF OCCI API. The current OCCI implementation includes all the resources referenced in the latest draft of the OGF OCCI API specification, namely:

  • Compute: launch, retrieve, update and delete
  • Network: create, retrieve and delete
  • Storage: upload, retrieve and delete

This OCCI implementation needed to be extended to accommodate the requirements of the BonFIRE project. These modifications will also be available in the implementation of Cells and Virtual Wall. The following is an exhaustive list:

  • Ability to manage PERSISTENT attribute on STORAGE resources
  • Ability to manage PUBLIC attribute on STORAGE resources
  • Ability to manage DESCRIPTION attribute on STORAGE resources
  • Ability to manage DESCRIPTION attribute on NETWORK resources
  • Ability to define contextualization on COMPUTE resources
  • Ability to define SAVE_AS attribute for DISK sections on COMPUTE resources
  • Ability to define a GROUPS tag for the COMPUTE, NETWORK and STORAGE resources
  • Ability to define an image storage DATASTORE: create, retrieve and delete
  • Ability to migrate a COMPUTE
  • Ability to define a COMPUTE’s network mask

Message queue use

OpenNebula has been integrated with the Message Queue component with the use of hooks that are triggered on each event and that report the information back to the message queue. Currently there are hooks for the COMPUTE, STORAGE and VIRTUAL_NETWORKS resources supported.

For the COMPUTE resource, the following states are reported:

  • DONE

For the STORAGE resources, the following states are reported:


For the VIRTUAL_NETWORKS resources, the following states are reported:


This state changes are pushed to the message queue and consumed by the upper BonFIRE layers to notify the user through the portal.

These hooks are enabled in /etc/one/oned.conf and are automatically installed. Before being used, the Message Queue credentials must be added to the following file: /etc/one/mq_hook.conf. Addition documentation on hook can be found here.

Implementation details

The user will be able to use the PUBLIC attribute to share their storage resources with other users. The DESCRIPTION attributes will allow for a fuller description of the resource than just a name. The addition of contextualisation is powerful as it allows users to pass parameters into their compute resources, for example a reference to the IP address of the monitoring server to contact. SAVE_AS allows a modified VM to be saved. In Release 4.1, OpenNebula has been bumped from 3.6.0 to 4.0.1, which comes with many new features in most of its subsystems: completely redesigned Sunstone, with a fresh and modern look and an updated workflow for most of the dialogs; new Sunstone Views functionality allows to customize the GUI for each type of user or group, so the interface implements a different provisioning model for each role; a whole new set of operations for VMs like system and disk snapshoting, capacity re-sizing, programmable VM actions and IPv6 among others. There are some new drivers also, like Ceph; as well as improvements for VMware, KVM and Xen. The scheduler has received some attention to easily define more placement policies.

Specific to BonFIRE, we find the following: * Message queue notificatoins for STORAGE and VIRTUAL_NETWORK resources * Support for datastores, * Quotas and accounting redesigned for faster performance and integration with OpenNebula’s core, * New Transfer Drivers, including LVM drivers, with the ability of use different transfer drivers in a single host, * LDAP integration, * Storage hot-plugging, and * Clusters

The OCCI Server deserves a special mention, since it is the most dynamic component in BonFIRE’s OpenNebula. The following changes were introduced:

  • A complete rewrite of the GROUP handling in order to enforce BonFIRE’s authorization model,
  • Many new operations: COMPUTE’s migration, DATASTORE definition, support for network related attributes in the COMPUTES definition.
  • Different semantic for the CANCEL operation in COMPUTE resources
  • SAVES_AS image does not appear as available to user until after SHUTDOWN has completed successfully

Table Of Contents

Previous topic

Authorization Service

Next topic


This Page