OpenNebulaConf 2013 - rOCCI – Providing Interoperability through OCCI 1.1 Support for OpenNebula by Boris Parak

596 views

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.

Bio:
CESNET (Czech Education and Scientific Network provider) offers long-term experience in cloud and hybrid grid/cloud solutions through NGI activities and participates in the EGI Federated Cloud Task Force as a resource and technology provider contributing a testbed based on the OpenNebula cloud management framework and exposing an OCCI service endpoint which is based on the current rOCCI-server implementation. It also runs its own private experimental HPC cloud infrastructure based on OpenNebula.
Boris Parak is one of the lead developers of the rOCCI project with numerous major commits and principal author of the rOCCI client. He is also a system administrator and a member of the team responsible for designing, building, developing and maintaining CESNET’s private HPC cloud — MetaCloud, as well as a member of the EGI Federated Cloud Task Force on behalf of CESNET.

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
596
On SlideShare
0
From Embeds
0
Number of Embeds
62
Actions
Shares
0
Downloads
17
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

OpenNebulaConf 2013 - rOCCI – Providing Interoperability through OCCI 1.1 Support for OpenNebula by Boris Parak

  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

×