OCCI Plays a Key Role in EGI FedCloud Initiative

In the European Grid Initiative Inspired Newsletter for September the recent activities of the EGI FedCloud initiative are summarised. OCCI is playing a key role for the goal of the Task Force to deliver a blueprint defining how federated virtualised environments can be implemented. A workable test bed has been set up by members of EGI as the implementation and deployment of a blueprint for cloud interoperability. Other standards at play also include OVF and CDMI.

The results of the EGI FedCloud inititative will be presented during the EGI Technical Forum taking place from 17.9.-21.9.2012 in Prague.

The Next Step Towards Interoperability: OVF to OCCI mapping

We are glad to announce that parts of the OVF specification have been implemented by Kanchanna Ramasamy Balraj from Engineering and Florian Feldhaus of GWDG in the rOCCI framework which is now available as Ruby Gem. For detailed information check code and readme at https://github.com/gwdg/rOCCI.

To install the gem just issue the command:

gem install occi

Then start the Ruby Interpreter

irb

Import the necessary gems rubygems (only necessary for ruby < 1.9), occi and open-uri:

require 'rubygems'
require 'occi'
require 'open-uri'

Read in an OVA or OVF file. For testing purposes you can use the OVA file bundled with rOCCI which is based on the example from DMTF DSP 2021:

url='https://raw.github.com/gwdg/rOCCI/spec/occi/test.ova'
ova=open url

Now you can parse the OVA file to a collection of OCCI objects:

collection=OCCI::Parser.ova(ova.read)

The collection can now be used by other components (e.g. rOCCI-server) to interpret the data. To see the contents of the collection in JSON format use

jj JSON.parse(collection.to_json)

rOCCI – A Ruby OCCI Framework

rOCCI is an OCCI 1.1 compliant server implementation written in Ruby. Through its modular architecture it can be easily extended to support arbitrary Cloud Frameworks.

rOCCI as mentioned in our last blog post, is the OCCI implementation that powers the work which enables OCCI interoperability with Amazon EC2.

Work on rOCCI started as part of the EU FP7 project SLA@SOI under the working name OGF-OCCI in early 2011. The goal was to develop an OCCI 1.1 compliant server which initially supports OpenNebula and can later be easily extended to support other Cloud Frameworks. As OpenNebula offered a robust Ruby API binding, it was decided to develop the project in Ruby as well. Soon after work on the implementation started it was accepted as an official OpenNebula Ecosystem project.

Interoperability with other implementations of the OCCI standard was ensured by taking part in testing sessions during the SNIA Cloud Plugfests and using OCCI compliance tools such as the OCCI ANTLR Grammar and the DoYouSpeakOCCI tool. For the last Plugfest taking place at the end of February 2012, the project was renamed to rOCCI in order to distinguish it from the name of the standard (OGF-OCCI).

The current architecture of rOCCI is shown in the following overview:

Detailed architecture showing the components of rOCCI

Current features include:

rOCCI is currently mainly developed by employees of GWDG. New contributors are very welcome. For more information visit:

Home of rOCCI

rOCCI on GitHub