Next revision of OCCI becomes proposed recommendation!

We are very happy to announce that the updated revision of the OCCI documents series has been published by OGF.  All OGF documents may be found here:

Here is the complete document list:

  • GFD.221.pdf – Open Cloud Computing Interface – Core
  • GFD.222.pdf – OCCI Compute Resource Templates Profile
  • GFD.223.pdf – Open Cloud Computing Interface – HTTP Protocol
  • GFD.224.pdf – Open Cloud Computing Interface – Infrastructure
  • GFD.226.pdf – Open Cloud Computing Interface – JSON Rendering
  • GFD.227.pdf – Open Cloud Computing Interface – Platform
  • GFD.228.pdf – Open Cloud Computing Interface – Service Level Agreements
  • GFD.229.pdf – Open Cloud Computing Interface – Text Rendering

Big thanks to everybody who helped shaping these documents! This is another good step towards an open interoperable cloud language.

[Update – 2016/12/20] Fixed permanent links to the PDF documents.

OCCI 1.2

We are very happy to announce, that thanks to a lot of help from the community, the documents which will become OCCI rev 1.2 are ready:

  • Our core document has been update with minor tweaks. [pdf]
  • We’ve update the Text rendering document – propose however that this will be deprecated over time. [pdf]
  • As a substitute to the Text rendering we now suggest using JSON. [pdf]
  • To allow for the deprecation of the Text rendering, and addition of the JSON rendering we’ve moved the generic protocols pieces to this new recommendation. [pdf]
  • We’ve captured some minor tweaks in the Infrastructure document. [pdf]
  • A new addition is the support for machine readable SLA. [pdf]
  • Furthermore OCCI now also support PaaS/CaaS. [pdf]
  • We’re very happy to announce a profile for OCCI. [pdf]

The OCCI revision 1.1 documents can still be found on the Specification page.

OCCI 1.2 revision in public comment

Thanks to the help of many helpers a set of documents describing OCCI revision 1.2 is now in public comment. Similar to IETF OGF uses a very open policy – so this is the point in time where we need your help. Please read the docs and provide us with comments and suggestions.

OCCI 1.2 targets to be backwards compatible with OCCI rev 1.1. An overall of 9 documents is now ready for your comments at the OGF website.

The 9 documents are:

  • A updated core model – which includes minor updates and e.g. refinements about the usage of Attributes in the Meta-model.
  • A updated Infrastructure model – which minor tweaks on the state models of the kind descriptions
  • The HTTP text rendering document has been split:
    • in a protocol definition defining how OCCI is RESTfully modeled over HTTP, and
    • a text rendering document containing the text rendering
  • A newly defined JSON rendering based on the new protocol document
  • A newly defined extension to render Service Level Agreements
  • A newly defined extension to deal with Platform as a Service Service Providers over OCCI
  • A Profile which is a recommendation driven by the EGI project.
  • and last – but definitely not least – and informal document describing how OCCI can be used to Monitor resources.

Again – many thanks to those who helped to achieve this milestone. And already many thanks in advance to the community for helping forming OCCI 1.2 through this public comment phase.

Big growth in OCCI community implementation activities, and OCCIware project announced

A recent search through GitHub shows that there is a tremendous amount of activity taking place in various portions of the developer community to implement the OCCI standards, which currently stand as a set of Proposed Recommendations in OGF.

Here’s a quick run-down of recent active work:

  • jOCCI-api: A java library implementing transport functions for rendered OCCI (Open Cloud Computing Interface) queries

  • occi-os OCCI standards-based interface for OpenStack, used in several projects including the EGI Federated Cloud

  • snf-occi implements the OCCI specification and maps it to the @Synnefo OpenStack API

  • rOCCI – A Ruby OCCI Framework consisting of rOCCI-core, rOCCI-api, rOCCI-cli, and rOCCI-server

  • The CESNET rOCCI-testsuites provide functionality tests for the rOCCI server and client.
  • The related occi-cli and occi-server Omnibus projects create full-stack platform-specific packages for the indicated components through easily-implemented commands, for example, “$ bin/omnibus publish path/to/*.deb –backend s3” (very useful if you are a fan of the Chef packaging tool!)

  • OCCIViz: A general purpose visualization tool for OCCI Entity instances from Intel Labs.

  • occi-js: a Javascript OCCI client library

  • OCCI/VOMS integration endpointsA list of astakos API endpoints to faciliate the OCCI/VOMS integration (apiary documentation).

  • erocci: An erlang OCCI implementation,

Finally but not at all least, is the news that the OCCIware project was launched last month with a large group of contributing organizations and companies. This project has as its goal to produce “a formal framework for the management of any digital resource in the cloud,” explicitly extending use of the OCCI standards to implementation areas that cover multiple levels of service architecture, including “all steps from modelization, design, development, simulation, deployment, execution and administration of cloud computing resources.” Please visit the OCCIware site to find out more.

Many of these developments will be discussed at the upcoming “Cloud Standards Ready for Prime-time” workshop on standards-based interoperability sponsored by the CloudWATCH project at CloudScape VII, which will be held 9-10 March 2015 in Brussels, Belgium and also at a panel on this topic to be held at Cloud Expo Europe, 11-12 March 2015 in London, UK.

There will also be a talk on the OCCIware project to be presented the Open Cloud Park Developer Forum at @CloudExpoEurope 11-12 Mar 2015, sponsored by @OpenStack, @opennebula, and @ow2.

If you are developing other implementations in or beyond this growing list, please be sure to post on Twitter with a mention to @occiwg or @OGFStandards, or join the occi-wg mailing list and send updates and information on what you are doing. Join the mailing list also if you have implementation questions! See other blog posts here for further information on other activities and on how you can contribute to further developments of implementations or to refinement, extension and further enhancements of the standards.

OGF42 Updates from the Group

The OCCI working group has been quite busy in the past months to work on new revision of the OCCI specs. This has lead to contributions from multiple individuals at the OGF 42 event in London, which was held at the Imperial College. Four sessions in total and with plenty of coffee in between guided the attendees through no less then 9 PDF document drafts which were discussed. Alongside this there were a number of demos.

With this blog post we like to inform you that the upcoming revision of the OCCI specs will be a backward compatible update adding some features to the specification. Some of these will be:

  • Updates to the core model specification for readability alongside with the introduction of the OCCI Attribute type which now allows for types and default values of attributes
  • A split of the current HTTP text rendering document into a HTTP Protocol and a Text Rendering document. Also Sub-resources within the HTTP protocol will be introduced
  • Updates of the infrastructure specification document which update state models for the resource instances
  • JSON Rendering specification which can be used alongside with the Text Rendering
  • PaaS specification which allows for management of PaaS cloud resource
  • SLA extension for handling SLA of your cloud resources
  • DRMAA binding which will allow job job submission via a RESTful OCCI compliant interface
  • Drafts on Monitoring and Billing extensions for OCCI.
  • Minor additions of useful features in any of the above specifications

We as a group are thrilled about the ongoings and wild usage of OCCI and hope these changes will make your work with OCCI more satisfying. Again thanks to the individuals in the community which made this round of revision possible.

OCCI & Erlang


erOCCI is a framework for building OCCI like API (similar to rOCCI or pyOCNI), with the following objectives:

  • 100% compliance with OCCI specifications (core and rendering)
  • scalability
  • clear separation between
    • rendering: text/occi, text/plain, application/occi+json, etc.
    • transport: HTTP, etc (XMPP planned)
    • backends: storage (Riak, etc.), “procci” to other APIs
  • small and heavily tested (planned.. but some unit tests already there)