0
EGI-InSPIRE
rOCCI – Providing Interoperability
through OCCI v1.1 Support for
OpenNebula
Boris Parák, CESNET
OpenNebula Con...
Overview
∙ Introduction
∙ What is OCCI?
∙ rOCCI Framework
∙ rOCCI-{core, api, cli}
∙ rOCCI-server
∙ Plans for the Future
O...
Introduction
What is CESNET?
∙ association of universities and the Academy of Sciences of
the Czech Republic
∙ responsible...
What is OCCI? I.
∙ OCCI → Open Cloud Computing Interface
∙ OGF standard (GFD.183 - 185)
∙ text-based protocol and API focu...
What is OCCI? II.
OpenNebula Conf 2013, Berlin, DE 5
EGI-InSPIRE RI-261323 www.egi.eu
What is OCCI? III.
OpenNebula Conf 2013, Berlin, DE 6
EGI-InSPIRE RI-261323 www.egi.eu
What is OCCI? IV.
POST /compute/ HTTP/1.1
Category: compute;
scheme="http://.../occi/infrastructure#";
class="kind"
Catego...
rOCCI Framework
What is rOCCI?
∙ a framework implementing OCCI in Ruby
∙ a client providing shell-based user interface
∙ a...
rOCCI-core
∙ a collection of classes and helpers
∙ includes a parser for:
– text/plain
– text/occi
– application/occi+json...
rOCCI-api
∙ implements transport-level functionality
– HTTP(S)
– Advanced Message Queuing Protocol (AMQP)
∙ implements mod...
rOCCI-cli
Provided you have Ruby 1.9+ and Rubygems:
# ruby rubygems ruby-dev libxslt1-dev
# libxml2-dev libexpat1-dev
$ ge...
rOCCI-server I.
∙ a server-side implementation leveraging rOCCI
∙ a bridge between OpenNebula and the world of OCCI
∙ stat...
rOCCI-server II.
OpenNebula Conf 2013, Berlin, DE 13
EGI-InSPIRE RI-261323 www.egi.eu
rOCCI-server III.
OpenNebula Conf 2013, Berlin, DE 14
EGI-InSPIRE RI-261323 www.egi.eu
Plans for the Future I.
∙ extend rOCCI-core with the latest developments in OCCI
∙ extend rOCCI-cli with dynamic linking c...
Plans for the Future II.
OpenNebula Conf 2013, Berlin, DE 16
EGI-InSPIRE RI-261323 www.egi.eu
Plans for the Future III.
Key design elements:
∙ support for multiple CMFs (cloud stacks)
∙ modular (pre)authentication
∙ ...
Summary
1. OCCI is a generic boundary-level interoperability protocol
2. rOCCI is an OCCI framework written in/for Ruby
3....
References
What to read if you want to know more?
∙ http://occi-wg.org
∙ https://www.egi.eu/infrastructure/cloud
∙ https:/...
Upcoming SlideShare
Loading in...5
×

rOCCI – Providing Interoperability through OCCI 1.1 Support for OpenNebula

2,058

Published on

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
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
2,058
On Slideshare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
10
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Transcript of "rOCCI – Providing Interoperability through OCCI 1.1 Support for OpenNebula"

  1. 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. 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. 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. 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. 5. What is OCCI? II. OpenNebula Conf 2013, Berlin, DE 5 EGI-InSPIRE RI-261323 www.egi.eu
  6. 6. What is OCCI? III. OpenNebula Conf 2013, Berlin, DE 6 EGI-InSPIRE RI-261323 www.egi.eu
  7. 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. 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. 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. 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. 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. 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. 13. rOCCI-server II. OpenNebula Conf 2013, Berlin, DE 13 EGI-InSPIRE RI-261323 www.egi.eu
  14. 14. rOCCI-server III. OpenNebula Conf 2013, Berlin, DE 14 EGI-InSPIRE RI-261323 www.egi.eu
  15. 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. 16. Plans for the Future II. OpenNebula Conf 2013, Berlin, DE 16 EGI-InSPIRE RI-261323 www.egi.eu
  17. 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. 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. 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
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×