OCCI (Open Cloud Computing Interface ) [1] is an open protocol for management tasks in the cloud environment focused on integration, portability and interoperability with a high degree of extensibility. It is designed to bridge differences between various cloud platforms (or cloud middleware) and provide common ground for users and developers alike.
The rOCCI framework [2], originally developed by GWDG [3], was written to simplify the implementation of the OCCI 1.1 protocol in Ruby and later provided the base for a working client and server implementation targeting OpenNebula as its primary back-end cloud platform. The initial server-side implementation provided basic functionality and served as a proof of concept when it was adopted by the EGI Federated Cloud Task Force [4] and chosen to act as the designated VM management interface. This led to further funding from EGI-InSPIRE [5] and involvement of CESNET [6].
This talk aims to provide basic information about the OCCI protocol, introduce its implementation in rOCCI, describe and/or demonstrate some of the functionality provided by rOCCI client and rOCCI-server in concert with OpenNebula. It also briefly examines its use in the EGI FedCloud environment and explores the possibility of further integration with
OpenNebula as a part of the ON ecosystem or even as an integral part of OpenNebula itself in the future. All this with interoperability in mind.
COMPUTER 10: Lesson 7 - File Storage and Online Collaboration
rOCCI – Providing Interoperability through OCCI 1.1 Support for OpenNebula
1. EGI-InSPIRE
rOCCI – Providing Interoperability
through OCCI v1.1 Support for
OpenNebula
Boris Parák, CESNET
OpenNebula Conf 2013, Berlin, DE 1
EGI-InSPIRE RI-261323 www.egi.eu
2. Overview
∙ Introduction
∙ What is OCCI?
∙ rOCCI Framework
∙ rOCCI-{core, api, cli}
∙ rOCCI-server
∙ Plans for the Future
OpenNebula Conf 2013, Berlin, DE 2
EGI-InSPIRE RI-261323 www.egi.eu
3. Introduction
What is CESNET?
∙ association of universities and the Academy of Sciences of
the Czech Republic
∙ responsible for the National Research and Education
Network (NREN)
∙ operates the National Grid Infrastructure (NGI_CZ)
What is EGI Federated Cloud?
∙ federation of private academic clouds and virtualised
resources
∙ built around open standards (OCCI, CDMI, X.509, ...)
∙ focusing on the requirements of the scientific community
OpenNebula Conf 2013, Berlin, DE 3
EGI-InSPIRE RI-261323 www.egi.eu
4. What is OCCI? I.
∙ OCCI → Open Cloud Computing Interface
∙ OGF standard (GFD.183 - 185)
∙ text-based protocol and API focusing on interoperability in
the cloud
∙ originally designed for IaaS clouds, but is extensible
∙ works with resources, links, mixins and actions
OpenNebula Conf 2013, Berlin, DE 4
EGI-InSPIRE RI-261323 www.egi.eu
5. What is OCCI? II.
OpenNebula Conf 2013, Berlin, DE 5
EGI-InSPIRE RI-261323 www.egi.eu
6. What is OCCI? III.
OpenNebula Conf 2013, Berlin, DE 6
EGI-InSPIRE RI-261323 www.egi.eu
7. What is OCCI? IV.
POST /compute/ HTTP/1.1
Category: compute;
scheme="http://.../occi/infrastructure#";
class="kind"
Category: debian7;
scheme="http://.../infrastructure/os_tpl#";
class="mixin"
Category: small;
scheme="http://.../infrastructure/resource_tpl#";
class="mixin"
X-OCCI-Attribute: occi.compute.hostname="TestROCCI1"
X-OCCI-Attribute: occi.core.title="TestROCCI1"
OpenNebula Conf 2013, Berlin, DE 7
EGI-InSPIRE RI-261323 www.egi.eu
8. rOCCI Framework
What is rOCCI?
∙ a framework implementing OCCI in Ruby
∙ a client providing shell-based user interface
∙ a project distributed as three components:
– rOCCI-core
– rOCCI-api
– rOCCI-cli
∙ a tool providing interoperability (ON, OS, Synnefo, . . . )
What is rOCCI-server?
∙ a server-side implementation leveraging rOCCI
∙ a bridge between OpenNebula and the world of OCCI
OpenNebula Conf 2013, Berlin, DE 8
EGI-InSPIRE RI-261323 www.egi.eu
9. rOCCI-core
∙ a collection of classes and helpers
∙ includes a parser for:
– text/plain
– text/occi
– application/occi+json
– OVF/OVA (only basic features)
∙ focuses on Occi::Core and Occi::Infrastructure
OpenNebula Conf 2013, Berlin, DE 9
EGI-InSPIRE RI-261323 www.egi.eu
12. rOCCI-server I.
∙ a server-side implementation leveraging rOCCI
∙ a bridge between OpenNebula and the world of OCCI
∙ stateless proxy delegating authentication, authorization
and functionality to OpenNebula
∙ supports HTTP-compatible authentication methods such
as Basic, Digest or X.509 (VOMS)
OpenNebula Conf 2013, Berlin, DE 12
EGI-InSPIRE RI-261323 www.egi.eu
15. Plans for the Future I.
∙ extend rOCCI-core with the latest developments in OCCI
∙ extend rOCCI-cli with dynamic linking capabilities for
attaching block storage or network interfaces to running
instances
∙ extend rOCCI-cli with action support on various resources
∙ finish re-implementing the new rOCCI-server
∙ provide detailed installation & user documentation
OpenNebula Conf 2013, Berlin, DE 15
EGI-InSPIRE RI-261323 www.egi.eu
16. Plans for the Future II.
OpenNebula Conf 2013, Berlin, DE 16
EGI-InSPIRE RI-261323 www.egi.eu
17. Plans for the Future III.
Key design elements:
∙ support for multiple CMFs (cloud stacks)
∙ modular (pre)authentication
∙ real authentication left to the backend CMF
∙ backend interface implemented with Axiom
– relational algebra on structured data
– possibility to “merge” multiple data sources
∙ core functionality provided by rOCCI-core
OpenNebula Conf 2013, Berlin, DE 17
EGI-InSPIRE RI-261323 www.egi.eu
18. Summary
1. OCCI is a generic boundary-level interoperability protocol
2. rOCCI is an OCCI framework written in/for Ruby
3. rOCCI includes a shell-based user interface
4. rOCCI-server provides OCCI support for OpenNebula
OpenNebula Conf 2013, Berlin, DE 18
EGI-InSPIRE RI-261323 www.egi.eu
19. References
What to read if you want to know more?
∙ http://occi-wg.org
∙ https://www.egi.eu/infrastructure/cloud
∙ https://github.com/gwdg/rOCCI
∙ https://github.com/gwdg/rOCCI-server
Do you have any questions?
∙ ask us directly at parak@cesnet.cz or sustr4@cesnet.cz
∙ ask in our mailing lists rocci@gwdg.de or
inspire-mp-rocci@mailman.egi.eu
OpenNebula Conf 2013, Berlin, DE 19
EGI-InSPIRE RI-261323 www.egi.eu