VT OCCI for CMF

From EGIWiki
Jump to: navigation, search

General Project Information

  • Full title: Providing OCCI support for arbitrary Cloud Management Frameworks
  • Leader: Boris Parak, CESNET
  • Mailing List: inspire-mp-rocci@mailman.egi.eu
  • Status: active
  • Start Date: 01/04/2013
  • End Date: 31/03/2014
  • Meetings: INDICO
  • Workflow and Task management: Asana.com (private)

Motivation

The mini-project aims at providing an ability to control the life-cycle of virtual machines at multiple sites of EGI's federated cloud environment using standardized tools. As different cloud management platforms are already actively used at different sites, enforcing a particular platform across all sites at this point is neither practical nor desirable. Therefore there is a need for an interoperability layer to bridge this gap. The OCCI protocol, an OGF standard, has been chosen to provide a uniform interface for the management of virtual machines.

For implementation, the rOCCI framework and the rOCCI-server have been selected to add OCCI support to existing applications and cloud management platforms. By using their existing features, and extending their architecture to include an interoperability layer based on the fog.io abstraction library for cloud services, this project will provide OCCI support for multiple cloud platforms a large number of open source and commercial cloud platforms including OpenNebula, OpenStack, RackSpace, CloudStack and AWS with focus on extended support for cloud platforms used within the EGI Federated Clouds Task Force.

See also Mini-project introduction talk at EGI CF 2013: https://indico.egi.eu/indico/materialDisplay.py?contribId=152&sessionId=29&materialId=slides&confId=1222


Output

Actions out of Scope or left Open after Mini-Project Ends

  • OCCI library in Java
  • Backends other than OpenNebula (and possibly StratusLab CloudStack)

Tasks

Only higher-level tasks are supposed to be listed here. Day-to-day tasks are tracked at Asana.com

Task 1: Mini-Project Management

Not only leadership but also general work that moves the mini-project along, such as publishing and reporting

Actions

  • [Done] Action 1.1: Mini-project setup (Official start, introduction, Web page setup, team establishment and team internal procedures)
  • [Done] Action 1.2: Progress report at EGI TF 13
  • [Done] Action 1.3: Continuous progress reports


Task 2: rOCCI Framework Changes

Remove unmaintained dependencies, refactor core and client gems, do code cleanup.

Actions

  • [Done] Action 1.1: rOCCI refactoring (split the code base into core, api and client)
  • [Done] Action 1.2: Update core classes (attribute handling, actions etc.)
  • [Done] Action 1.3: Implement support for modular client-side authentication (add native Keystone support)
  • [Done] Action 1.4: Provide documentation for rOCCI-core (to help future developers utilizing rOCCI framework)
  • [Done] Action 1.5: Provide documentation for rOCCI-{api,cli}
  • [Done] Action 1.6: Extend existing testing harness to provide reasonable QA


Task 3: rOCCI-server Re-design

Re-implement the rOCCI-server to provide a stable base for further development and increase interoperability.

Actions

  • [Done] Action 1.1: Design the new rOCCI-server
  • [Done] Action 1.2: Provide detailed documentation of the new design
  • [Done] Action 1.3: Implement the new rOCCI-server
  • [Done] Action 1.4: Implement a Dummy back-end serving as an example (and for testing purposes)


Task 4: Back-ends for CMFs

Implement support for widely used virtualization stacks in general, primarily for OpenNebula.

Actions

  • [Done] Action 1.1: Implement fully-featured back-end for OpenNebula
  • [Cancelled] Action 1.2: Help with the development of a fully-featured back-end for StratusLab
  • [Done] Action 1.3: Provide a skeleton and examples for other developers
  • [Cancelled] Action 1.4: Help with the development of a fully-featured back-end for CloudStack

Task 5: Testing and deployment

Test the newly implemented rOCCI-server, verify its compliance with the OCCI specification and deploy it in production in the EGI FedCloud environment

Actions

  • [Done] Action 1.1: Unit, functional and integration testing (automated)
  • [Done] Action 1.2: Test deployment and interactive testing
  • [Done] Action 1.3: Production deployment

Task 6: Documentation

Provide documentation

Actions

  • [Done] Action 1.1: Installation documentation
  • [Done] Action 1.2: Management documentation
  • [Done] Action 1.3: User documentation with examples

Members

  • Boris Parak, CESNET
  • Zdenek Sustr, CESNET
  • Maik Srba, GWDG, unfunded participation (no participation)
  • Florian Feldhaus, unfunded participation (considerable time spent on rOCCI-core)
  • Piotr Kasprzak, GWDG, unfunded participation (no participation)

Resources


Progress

Only higher-level progress statemets will be listed here. Day-to-day tasks are tracked at Asana.com

{{{VTP_Progress|

  • Task 1 (CONTINUOUS)
    • Initial tasks (DONE)
    • Progress report at EGI TF 13 (DONE)
  • Task 2 (DONE)
    • Refactoring finished for practical purposes. Original rOCCI package split into:
    • Documentation for rOCCI-core (DONE)
    • Documentation for rOCCI-{api,cli} (DONE)
    • Unit tests for rOCCI-core (DONE)
  • Task 3 (DONE)
    • Design of the new rOCCI-server (DONE)
    • Documentation/specification of the design (DONE)
    • Implementation of the new design (DONE)
  • Task 4 (DONE)
    • Fog.io rejected for lack of versatility.
    • Backends implemented in the rOCCI-server
  • Task 5 (DONE)
  • Task 6 (DONE)

}}}