opennebulaconf 2013 - rocci – providing interoperability through occi 1.1 support for opennebula...

19
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

Upload: opennebula-project

Post on 22-Nov-2014

456 views

Category:

Technology


2 download

DESCRIPTION

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.

TRANSCRIPT

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

EGI-InSPIRE

rOCCI – Providing Interoperabilitythrough OCCI v1.1 Support for

OpenNebula

Boris Parák, CESNET

OpenNebula Conf 2013, Berlin, DE 1EGI-InSPIRE RI-261323 www.egi.eu

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

Overview

∙ Introduction∙ What is OCCI?∙ rOCCI Framework∙ rOCCI-{core, api, cli}∙ rOCCI-server∙ Plans for the Future

OpenNebula Conf 2013, Berlin, DE 2EGI-InSPIRE RI-261323 www.egi.eu

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

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 3EGI-InSPIRE RI-261323 www.egi.eu

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

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 4EGI-InSPIRE RI-261323 www.egi.eu

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

What is OCCI? II.

OpenNebula Conf 2013, Berlin, DE 5EGI-InSPIRE RI-261323 www.egi.eu

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

What is OCCI? III.

OpenNebula Conf 2013, Berlin, DE 6EGI-InSPIRE RI-261323 www.egi.eu

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

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 7EGI-InSPIRE RI-261323 www.egi.eu

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

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 8EGI-InSPIRE RI-261323 www.egi.eu

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

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 9EGI-InSPIRE RI-261323 www.egi.eu

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

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 10EGI-InSPIRE RI-261323 www.egi.eu

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

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 11EGI-InSPIRE RI-261323 www.egi.eu

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

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 12EGI-InSPIRE RI-261323 www.egi.eu

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

rOCCI-server II.

OpenNebula Conf 2013, Berlin, DE 13EGI-InSPIRE RI-261323 www.egi.eu

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

rOCCI-server III.

OpenNebula Conf 2013, Berlin, DE 14EGI-InSPIRE RI-261323 www.egi.eu

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

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 runninginstances

∙ 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 15EGI-InSPIRE RI-261323 www.egi.eu

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

Plans for the Future II.

OpenNebula Conf 2013, Berlin, DE 16EGI-InSPIRE RI-261323 www.egi.eu

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

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 17EGI-InSPIRE RI-261323 www.egi.eu

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

Summary

1. OCCI is a generic boundary-level interoperability protocol2. rOCCI is an OCCI framework written in/for Ruby3. rOCCI includes a shell-based user interface4. rOCCI-server provides OCCI support for OpenNebula

OpenNebula Conf 2013, Berlin, DE 18EGI-InSPIRE RI-261323 www.egi.eu

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

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 [email protected] or [email protected]

∙ ask in our mailing lists [email protected] [email protected]

OpenNebula Conf 2013, Berlin, DE 19EGI-InSPIRE RI-261323 www.egi.eu