OCCI and OVF

Posted May 3rd, 2012 in News by admin

A team in Engineering (partially funded by Venus-C) have released a tool, ovf4one, which provides an OCCI interface that accepts OVF and provisions resources through the OpenNebula OCA interface. It is implemented in Java and implements the OCCI specifications and uses OVF messages and OpenNebula as backend.

From a technical perspective, ovf4one is an OCCI to OCA gateway, translating RESTful OCCI calls into OCA RESTful calls and the OVF XML message is translated into OpenNebula VM templates. This project has been realised as part of Venus-C EU project.

OCCI OpenStack Demo

Posted April 17th, 2012 in News by admin

We blogged previously about the availability of an OCCI implementation for OpenStack. Below is a screen cast that demonstrates some, not all, of the functionality available.

Demonstration of OCCI on OpenStack from dizz on Vimeo.

 

OCCI at the OpenStack Design Summit

Posted April 14th, 2012 in News by admin

Hot on the heels of the OCCI OpenStack implementation (wiki, code review) a number of our community members (big thanks to Eugene from R2AD) will be organising an OpenStack Design Summit unconference OCCI session. All are welcome to it from the inquisitive to the sceptical!

Topics to be discussed include:

  • What is OCCI and its goals?
  • Where does OCCI fit the OpenStack picture?
  • How should OpenStack address “extra” APIs?
  • Q&As

The session will be on Wednesday at 4.30pm.in the Golden Gate room.

rOCCI – A Ruby OCCI Framework

Posted April 2nd, 2012 in News by FlorianFeldhaus

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


OCCI’fied Amazon EC2

Posted March 21st, 2012 in News by admin

OCCI has been successfully mapped and implemented upon the Amazon EC2 API. The work has been carried out by TU Dortmund University in cooperation with the compute and research center GWDG. The implementation uses the rOCCI framework – more on that in a later post!

Screencast EC2 in rOCCI from Max Günther on Vimeo.

 

Do You Speak OCCI?

Posted March 5th, 2012 in News by admin

The doyouspeakOCCI Compliance Testing Facility is a Google App Engine (GAE)-based checking tool for the Open Cloud Computing Interface (OCCI) family of specifications. More specifically, it provides a full compliance test suite for the OCCI Core (GFD.183)OCCI Infrastructure (GFD.184), and OCCI RESTful HTTP Rendering (GFD.185)specifications.

doyouspeakOCCI is written in Python and heavily building on the GAE services, mainly Task QueueURL Fetch, and the webapp Framework.

Note that doyouspeakOCCI is not to be considered the “official” testing suite for OCCI endorsed by the Open Grid Forum, but rather than that, a third-party contribution which aims to be as close as possible. For a more thorough explanation, please take a look at the wiki pages.

How to Use

doyouspeakOCCI was hard to implement, but is simple to use. Just point your browser tohttp://doyouspeakocci.appspot.com, enter the base URL of your OCCI implementation, and press “Go!”.

Optionally, you can provide credentials for HTTP basic auth, if your service is secured. We strongly recommend to use a one-time test account; although we promise to use the credentials only for the compliance test, we cannot guarantee what others on the way (especially GAE) will do with them. In the near future, doyouspeakOCCI will support OAuth to ameliorate this issue.

Please note that doyouspeakOCCI records data on every test run in the GAE DataStore. This is done solely for the sake of displaying usage statistics. Within the limitations of applicable jurisdiction and the GAE Terms of Service, we will not disclose this data to anyone beyond what is being displayed on the doyouspeakOCCI web presence.

For other questions, please also take a look at the FAQ.

Where to Get

doyouspeakOCCI is available as a source code release only, which can be obtained by two ways:

Alternatively, you might want to pick one of the advertised downloads (click on the “Downloads” button in the upper right of the doyouspeakOCCI development home page at GitHub.

If you wish to run the service on your local system for testing purposes, please take a look at the doyouspeakOCCI Installation Guide for a detailed explanation on how to setup the environment.

Contributing

doyouspeakOCCI aims to be a community effort, and help is always welcome. Please contact us on the mailing list to learn more.

License

We think that doyouspeakOCCI should be available to everyone with the utmost amount of freedom. To make sure that contributions to doyouspeakOCCI itself remain perpetually free, the code has been developed under the GNU General Public License, Version 3. The documentation coming with doyouspeakocci is available under a Creative Commons Attribution Share-Alike 3.0 License.

OCCI and OpenStack

Posted March 1st, 2012 in News by admin

OpenStack is one of the major players in the cloud community at the moment. Still it currently lacks an standardized Interface which can be used to manage VMs. This changes now! During the Cloud Plugfest OCCI has been demoed on top of OpenStack.

The blueprint (details on wiki) for this feature enhancement has been around a while now. And based on this blueprint a first implementation has been created.

Andy Edmonds presented the following slides during the Cloud Plugfest in Düsseldorf which highlight more details of the OCCI interface for OpenStack

As noted this work has partly been sponsored by dgsi and FI-WARE. Now on to interoperability testing and looking into getting other Standards like CDMI on top of OpenStack.

OCCI & CompatibleOne

Posted September 23rd, 2011 in Implementations by admin

CompatibleOne provides an implementation of the OCCI server in C. You can also see all the OCCI-based services and interfaces that CompatibleOne supports. CompatibleOne has a clear focus on the need of interoperability in the Cloud and so uses OCCI.

Dortmund’s Present to OCCI’s 2nd Birthday – An OCCI-libvirt Implementation

Posted April 14th, 2011 in News by admin

TU Dortmund University is proud to announce the official release of “OCCI4Java“, an open-source, Java-based implementation of OCCI on top of the libvirt Hypervisor Abstraction API on the second birthday of the OCCI Working Group. The first release offers a maven-based loose coupling of all three specification documents and supports all possible actions on compute resources and several actions on network and storage resources.

“After six month of intense work, we are proud to release our implementation to the public. During my collaboration with the OCCI-WG (especially Andy Edmonds and Thijs Metsch), I have gained valuable experience and had also a lot of fun.” says Sebastian Heckmann, responsible for the first maven project organization and the Core, Infrastructure and HTTP implementations.

The packages are structured along the specification documents (Core,Infrastructure, HTTP). This, along with the provisioning via Maven, allows the independent use of one or more modules in the context of other projects: other implementors can reuse either of the implemented parts, and interdependencies are automatically resolved and managed. Using this mechanism, the “Core”,”Infrastructure” and “HTTP” parts stack properly on each other. Implementation of additional flavors (i.e. new extensions for other use cases besides IaaS) can be done easily by extending the core mechanisms (such as a comprehensive action model), using software engineering best practices. The use of Spring as base framework technology ensures dynamic loading and thus loose coupling of the specific actions on infrastructure resources – third-party implementations plugin seamlessly via configurable run-time loading.

“It was a lot of work to implement every detail of the OCCI specification, but it was also a great pleasure to see that everything works.” says Sebastian Laag, responsible for parts of the OCCI and libvirt implementation.

Alexander Papaspyrou, co-author of the OCCI family of specifications, was pleased to see a complete implementation of all parts in such a short timeframe.

“The fact that two young developers are able to do a full OCCI implementation as part of a graduate student project in six months proved OCCI’s claim of implementation ease, and the enthusiastic feedback during their pioneering work helped the group to better understand idiosyncrasies in the specification text towards further improvement for future implementors.”

The release is available via GitHub and licensed under the GNU Lesser General Public License (LGPL). Feedback on issues with and improvements of the code, its documentation, or any kind of runtime problems is highly appreciated and can be communicated via the GitHub platform. If you want to join the team, please feel more than welcome to contact Sebastian Heckmann or Sebastian Laag.