• Like
rOCCI – Providing Interoperability through OCCI 1.1 Support for OpenNebula
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

rOCCI – Providing Interoperability through OCCI 1.1 Support for OpenNebula

  • 1,952 views
Published

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 …

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.

Published in Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
1,952
On SlideShare
0
From Embeds
0
Number of Embeds
3

Actions

Shares
Downloads
10
Comments
0
Likes
1

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 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
  • 10. rOCCI-api ∙ implements transport-level functionality – HTTP(S) – Advanced Message Queuing Protocol (AMQP) ∙ implements modular authentication – Basic/Digest – X.509/VOMS – Keystone ∙ provides high-level API for developers (in Ruby) OpenNebula Conf 2013, Berlin, DE 10 EGI-InSPIRE RI-261323 www.egi.eu
  • 11. rOCCI-cli Provided you have Ruby 1.9+ and Rubygems: # ruby rubygems ruby-dev libxslt1-dev # libxml2-dev libexpat1-dev $ gem install occi-cli $ occi --help $ occi --action create --resource compute --mixin os#debian7 --mixin resource#small --attributes title=’rOCCI_VM’ --context public_key=’file:///tmp/id_rsa.pub’ OpenNebula Conf 2013, Berlin, DE 11 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
  • 13. rOCCI-server II. OpenNebula Conf 2013, Berlin, DE 13 EGI-InSPIRE RI-261323 www.egi.eu
  • 14. rOCCI-server III. OpenNebula Conf 2013, Berlin, DE 14 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