SlideShare a Scribd company logo
Interop Clouds with OCCI
Thijs Metsch - Platform Computing, an IBM Company
Andrew Edmonds - Intel Corporation

Cloud Plugfest – February/March 2012, Düsseldorf Germany
Starring

   In Order of apprerances
         OCCI As the cool kid in town
    OpenStack As the „Cloud“
           ISF As the Platform Cloud
Andy Edmonds As the Developer
  Thijs Metsch As the Integrator
THE OCCI SOFTWARE PACKAGE
The OCCI library
                              HTTP Header
                               Rendering
                                                                Backend

                            HTTP text/uri-list
                              Rendering                         Backend
WSGI App




            HTTP            HTTP text/plain             OCCI    Backend   Your
           Handling           Rendering                Model*             App

                                                                Backend
                             HTTP text/html
                                Rendering
           The WSGI Application                                  …
           can be embedded inHTTP app/json
               many Python      Rendering
             environments &
               frameworks

                                  http://pyssf.sf.net
                                 * http://www.occi-wg.org
The OCCI library
                                      HTTP Header
                                       Rendering
                                                                        Backend

                                    HTTP text/uri-list
                                      Rendering                         Backend
WSGI App




                HTTP                HTTP text/plain             OCCI    Backend   Your
               Handling               Rendering                Model*             App

                                                                        Backend
                                     HTTP text/html
                                       Rendering
             Handles the HTTP
           stuff (POST,PUT,DELETE,GET) &
                                         HTTP app/json
                                                                         …
            and REST semantics
                (REST, Security, etc.)     Rendering



                                           http://pyssf.sf.net
                                         * http://www.occi-wg.org
The OCCI library
                         HTTP Header
                          Rendering
                                                           Backend

                       HTTP text/uri-list
                         Rendering                         Backend
WSGI App




            HTTP        HTTP text/plain            OCCI    Backend   Your
           Handling       Rendering               Model*             App

                                                           Backend
                        HTTP text/html
                          Rendering
                                                            …
                        HTTP app/json
                          Rendering

                      Map the HTTP Data to
                        the OCCI Model
                             (Automatic)

                            * http://www.occi-wg.org
The OCCI library
                        HTTP Header
                         Rendering
                                                                         Backend

                      HTTP text/uri-list
                        Rendering                                        Backend
WSGI App




            HTTP      HTTP text/plain             OCCI                   Backend   Your
           Handling     Rendering                Model*                            App

                                                                         Backend
                      HTTP text/html
                        Rendering

                                             Backends define
                                                                          …
                       HTTP app/json        categories they can
                         Rendering          handle – this all you
                                            need to implement
                                                 (Automatic selection)



                            http://pyssf.sf.net
                           * http://www.occi-wg.org
The software package is flexible
• OCCI‘s IaaS extension is provided within
  but with own extensions you can:
  – Use it for you IaaS based cloud
     • From „Dummy Cloud“ to OpenStack OCCI
       services
  – A Platformish approach
     • As a proxy for another web services – Platform ISF
  – Job submission
     • See OCCI DRMAA proposal Specification
  – Key Value storage
     • Described in a Springer book:
OCCI‘s default rendering
               text/plain*
> GET /-/ HTTP/1.1
> User-Agent: curl/7.24.0 (i386-pc-solaris2.10) libcurl/7.24.0
   OpenSSL/0.9.7d zlib/1.1.4
> Host: fjjutraa.joyent.us:8888
> Accept: text/plain
>
< HTTP/1.1 200 OK
< Content-Length: 4323
< Etag: "7b77faa1ad14fd15fc44090e6f245de9f096ccb9"
< Content-Type: text/plain
< Server: pyssf OCCI/1.1
<

Category: network; scheme="http://schemas.ogf.org/occi/infrastructure#";
[...]




   * Might be renamed to text/occi+plain
OCCI‘s lightweight rendering
               text/occi
> GET /-/ HTTP/1.1
> User-Agent: curl/7.24.0 (i386-pc-solaris2.10) libcurl/7.24.0
   OpenSSL/0.9.7d zlib/1.1.4
> Host: fjjutraa.joyent.us:8888
> Accept: text/occi
>
< HTTP/1.1 200 OK
< Category: network;
   scheme="http://schemas.ogf.org/occi/infrastructure#";
< [...]
OK
OCCI‘s uri-list rendering
                text/uri-list
> GET / HTTP/1.1
> User-Agent: curl/7.24.0 (i386-pc-solaris2.10) libcurl/7.24.0
   OpenSSL/0.9.7d zlib/1.1.4
> Host: fjjutraa.joyent.us:8888
> Accept: text/uri-list
>
< HTTP/1.1 200 OK
< Content-Length: 84
< Etag: "b76b8c36b40cfbfbeac66779ceb8334aadeb5462"
< Content-Type: text/uri-list
< Server: pyssf OCCI/1.1
<
# uri:/
http://fjjutraa.joyent.us:8888/compute/09ce8c50-ada0-4f71-bfc8-
   afce2324c6e5
[...]
OCCI‘s upcoming JSON rendering
       application/occi+json
> GET /-/ HTTP/1.1
> User-Agent: curl/7.24.0 (i386-pc-solaris2.10) libcurl/7.24.0
    OpenSSL/0.9.7d zlib/1.1.4
> Host: 10.0.2.2:8888
> Accept: application/occi+json
>
< HTTP/1.0 200 OK
< Content-length: 5567
< Content-Type: application/occi+json
< Server: pyssf OCCI/1.1
<
[
  {
     "scheme": "http://schemas.ogf.org/occi/infrastructure/ [...]
     "term": "online",
     "title": "Bring storage online"
  }, [...]
A HTML rendering
                     text/html*




* Fully customizable with CSS
pyssf is OCCI compliant
OCCI & OPENSTACK
OCCI & OpenStack Features
• Status
  – General support for VM management is available
  – First set of tests available
  – Aligned with the coding Standards of OpenStack!
  – OCCI Compliant – thanks pyssf! 
• Features
  – Deployment and Management of VMs & Volumes
  – Scale up (Resize), Rebuild, Imaging of VMs
  – Integrated as a nova-wsgi WSGI service
OS OCCI Parity*
• Summary:
  – Servers  (5/5)
  – Server Addresses  (1/2)
  – Flavors  (1/2)
  – Images  (1/2)
  – Metadata  (0/6)
• Further details here: http://bit.ly/os-occi


                               * Does not include OS API Extensions
Install & Play
• 1: Install pyssf
    – From code repository at pyssf.sf.net
    – pip/easy_install install pyssf

• Option 1 - Easiest way will be using devstack
    – Configure stackrc to clone nova code from:
                 git://git@github.com/dizz/nova

• Option 2 - Get the Code (Optional) & Do It Yourself:
    – cd $YOUR_NOVA_INSTALL_LOCATION
    – git add remote occi-upstream
      git://git@github.com/dizz/nova
    – git fetch occi-upstream
    – git merge occi-upstream/master
OCCI & OpenStack Security
• OpenStack defines 3 HTTP Headers
  – X-Auth-Token
  – X-Auth-Tenant-ID
  – X-Auth-User
                  POST '{"auth":{"passwordCredentials":
                     {"username": "admin", "password":
                     "admin"}}}'
                                                          Keystone

                             Token: 123-123-123




               Token: 123-123-123
                                                          Nova/O
                                                            CCI
OpenStack & OCCI Architecture

                                  EC2


                                  osapi



                                  OCCI     nova


1. Register WSGI app
2. Register back-ends                               A Sea of Physical &
3. Register OS templates (per user)       Image
                                          service      Virtual Servers
4. Register Resource templates
   (m1.tiny...)
5. Register Extensions
                                          Quantum
„Paper“ Demo
• Get a Security Token
   $ curl -d '{"auth":{"passwordCredentials":{"username":
      “Admin", "password": “<password>"}}}' -H "Content-type:
      application/json" http://127.0.0.1:35357/v2.0/tokens
   $ export KID=$TOKEN_VALUE




• Query the OCCI Service:
   $ curl -v -H 'X-Auth-Token: '$KID -H 'X-Auth-Tenant-Id: '$TEN_ID -H
      'X-Auth-User: '$OS_USER -X   GET                /-/
                                         localhost:8787
An OCCI & OpenStack Sample
curl -v -X POST localhost:8787/compute/
-H 'Content-Type: text/occi'
-H 'X-Auth-Token: '$KID
-H 'X-Auth-Tenant-ID: ’$TEN_ID
-H 'X-Auth-User: ’$USER

-H 'Category: compute;
   scheme="http://schemas.ogf.org/occi/infrastructure#";
   class="kind"’

-H 'Category: m1.tiny;
   scheme="http://schemas.openstack.org/template/resource#";
   class="mixin"'
-H 'Category: cirros-0.3.0-x86_64-blank;
   scheme="http://schemas.openstack.org/template/os#";
   class="mixin"‘
                                           That’s all! 
Live Demo Overview
• Faisal needs a VM to process data
  – He Creates a VM
• Realises it’s not powerful enough
  –Resizes it
• Begins to crunch his data
• His boss finds out: “You’re using the Cloud?
  OMFG!”
  – Faisal quickly Tears   Down his resources
Developing with Open/Dev-Stack
• Experiences – „WAT!?“
   – Devstack can be helpful
   – BUT: Sometimes not!
   – Set Root password!

• Unittesting
   – Writing Unittests for our OCCI-api was straight
     forward

• Changing APIs
   – Especially integration with Keystone was „fun“
OCCI-OpenStack Roadmap
• Submit to OpenStack review process

• Add features:
    1.   Documentation
    2.   OCCI registry backend - OS Nova DB
    3.   OCCI on OS to parity
    4.   CDMI volume management e.g. rOCCI
    5.   Quantum

•   Use it as a proving ground of OCCI awesome sauce!
OUTLOOK
Conclusions
• OCCI offers flexibility while being a Standard
  – Thanks to the Model and our renderings
  – Discoverability
• Can be used for way more than just IaaS
  – Examples: FiWare and ISF extensions
  – Other use cases
• CDMI & swift
  – New Blueprint with updated details
  – Expose nova-volume via CDMI
Closing remarks
• This work was partly funded by the projects:




     http://dgsi.d-grid.de        http://fi-ware.eu

More Related Content

PPTX
OCCI Specification Walkthrough
PDF
Getting Started with WebSocket and Server-Sent Events in Java
PDF
Getting Started with WebSocket and Server-Sent Events using Java by Arun Gupta
PPTX
Java Persistence Frameworks for MongoDB
PDF
Multi Client Development with Spring for SpringOne 2GX 2013 with Roy Clarkson
PDF
Aspdotnet
PPTX
Rapid API development examples for Impress Application Server / Node.js (jsfw...
PDF
Metarhia: Node.js Macht Frei
OCCI Specification Walkthrough
Getting Started with WebSocket and Server-Sent Events in Java
Getting Started with WebSocket and Server-Sent Events using Java by Arun Gupta
Java Persistence Frameworks for MongoDB
Multi Client Development with Spring for SpringOne 2GX 2013 with Roy Clarkson
Aspdotnet
Rapid API development examples for Impress Application Server / Node.js (jsfw...
Metarhia: Node.js Macht Frei

What's hot (20)

ODP
Creating a Java EE 7 Websocket Chat Application
PDF
Going to Mars with Groovy Domain-Specific Languages
PPTX
WAF Bypass Techniques - Using HTTP Standard and Web Servers’ Behaviour
PDF
DEVIEW - 오픈소스를 활용한 분산아키텍처 구현기술
ODP
When dynamic becomes static
PDF
Django in the Real World
PDF
Java Web Programming [8/9] : JSF and AJAX
PDF
A python web service
PPT
Vorlesung "Web-Technologies"
PDF
drmaatutggf12
PDF
Building domain-specific testing tools : lessons learned from the Apache Slin...
PDF
Getting Started with WebSockets and Server-Sent Events
PPT
Intro Java Rev010
PDF
Serial Killer - Silently Pwning your Java Endpoints // OWASP BeNeLux Day 2016
PDF
High Performance Ajax Applications
PDF
netbeans
PDF
Warsaw Frontend Meetup #1 - Webpack
PPTX
PyGrunn 2017 - Django Performance Unchained - slides
PDF
Java Web Programming [5/9] : EL, JSTL and Custom Tags
Creating a Java EE 7 Websocket Chat Application
Going to Mars with Groovy Domain-Specific Languages
WAF Bypass Techniques - Using HTTP Standard and Web Servers’ Behaviour
DEVIEW - 오픈소스를 활용한 분산아키텍처 구현기술
When dynamic becomes static
Django in the Real World
Java Web Programming [8/9] : JSF and AJAX
A python web service
Vorlesung "Web-Technologies"
drmaatutggf12
Building domain-specific testing tools : lessons learned from the Apache Slin...
Getting Started with WebSockets and Server-Sent Events
Intro Java Rev010
Serial Killer - Silently Pwning your Java Endpoints // OWASP BeNeLux Day 2016
High Performance Ajax Applications
netbeans
Warsaw Frontend Meetup #1 - Webpack
PyGrunn 2017 - Django Performance Unchained - slides
Java Web Programming [5/9] : EL, JSTL and Custom Tags
Ad

Similar to Cloud Plugfest OCCI, pyssf and OpenStack (20)

PDF
Charlton Barreto - The OGF | Open Cloud Computing Interface
PDF
HTML5 Top 10 Threats - Silent Attacks and Stealth Exploits
PPT
02 intro
PDF
Shreeraj-Hacking_Web_2
PDF
Domino OSGi Development
PDF
Mike Taulty DevDays 2010 Silverlight 4 Networking
PDF
Progressive Enhancement using WSGI
PDF
Hosting as a Framework
PDF
Compiled Websites with Plone, Django, Xapian and SSI
PDF
OCCI status update
PDF
Professional Frontend Engineering
PDF
Single API for library services (poster)
PDF
Open shift application gallery openshift by red hat
PDF
Web Services PHP Tutorial
PDF
CouchDB for Web Applications - Erlang Factory London 2009
PDF
Тестирование производительности Ajax приложений с помощью JMeter
PDF
Shreeraj - Hacking Web 2 0 - ClubHack2007
PDF
Open Cloud Computing Interface - OCCI Status update
PDF
Does REST Change the Game for IAM?
PDF
Why Memcached?
Charlton Barreto - The OGF | Open Cloud Computing Interface
HTML5 Top 10 Threats - Silent Attacks and Stealth Exploits
02 intro
Shreeraj-Hacking_Web_2
Domino OSGi Development
Mike Taulty DevDays 2010 Silverlight 4 Networking
Progressive Enhancement using WSGI
Hosting as a Framework
Compiled Websites with Plone, Django, Xapian and SSI
OCCI status update
Professional Frontend Engineering
Single API for library services (poster)
Open shift application gallery openshift by red hat
Web Services PHP Tutorial
CouchDB for Web Applications - Erlang Factory London 2009
Тестирование производительности Ajax приложений с помощью JMeter
Shreeraj - Hacking Web 2 0 - ClubHack2007
Open Cloud Computing Interface - OCCI Status update
Does REST Change the Game for IAM?
Why Memcached?
Ad

Recently uploaded (20)

PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PDF
Electronic commerce courselecture one. Pdf
PDF
NewMind AI Weekly Chronicles - August'25-Week II
PPTX
A Presentation on Artificial Intelligence
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PDF
Encapsulation theory and applications.pdf
PPTX
MYSQL Presentation for SQL database connectivity
PPTX
Spectroscopy.pptx food analysis technology
PDF
Empathic Computing: Creating Shared Understanding
PDF
Getting Started with Data Integration: FME Form 101
PPTX
Programs and apps: productivity, graphics, security and other tools
PDF
Approach and Philosophy of On baking technology
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PDF
Video forgery: An extensive analysis of inter-and intra-frame manipulation al...
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PDF
Network Security Unit 5.pdf for BCA BBA.
The Rise and Fall of 3GPP – Time for a Sabbatical?
Mobile App Security Testing_ A Comprehensive Guide.pdf
Diabetes mellitus diagnosis method based random forest with bat algorithm
Electronic commerce courselecture one. Pdf
NewMind AI Weekly Chronicles - August'25-Week II
A Presentation on Artificial Intelligence
Digital-Transformation-Roadmap-for-Companies.pptx
Building Integrated photovoltaic BIPV_UPV.pdf
Encapsulation theory and applications.pdf
MYSQL Presentation for SQL database connectivity
Spectroscopy.pptx food analysis technology
Empathic Computing: Creating Shared Understanding
Getting Started with Data Integration: FME Form 101
Programs and apps: productivity, graphics, security and other tools
Approach and Philosophy of On baking technology
Dropbox Q2 2025 Financial Results & Investor Presentation
Advanced methodologies resolving dimensionality complications for autism neur...
Video forgery: An extensive analysis of inter-and intra-frame manipulation al...
20250228 LYD VKU AI Blended-Learning.pptx
Network Security Unit 5.pdf for BCA BBA.

Cloud Plugfest OCCI, pyssf and OpenStack

  • 1. Interop Clouds with OCCI Thijs Metsch - Platform Computing, an IBM Company Andrew Edmonds - Intel Corporation Cloud Plugfest – February/March 2012, Düsseldorf Germany
  • 2. Starring In Order of apprerances OCCI As the cool kid in town OpenStack As the „Cloud“ ISF As the Platform Cloud Andy Edmonds As the Developer Thijs Metsch As the Integrator
  • 4. The OCCI library HTTP Header Rendering Backend HTTP text/uri-list Rendering Backend WSGI App HTTP HTTP text/plain OCCI Backend Your Handling Rendering Model* App Backend HTTP text/html Rendering The WSGI Application … can be embedded inHTTP app/json many Python Rendering environments & frameworks http://pyssf.sf.net * http://www.occi-wg.org
  • 5. The OCCI library HTTP Header Rendering Backend HTTP text/uri-list Rendering Backend WSGI App HTTP HTTP text/plain OCCI Backend Your Handling Rendering Model* App Backend HTTP text/html Rendering Handles the HTTP stuff (POST,PUT,DELETE,GET) & HTTP app/json … and REST semantics (REST, Security, etc.) Rendering http://pyssf.sf.net * http://www.occi-wg.org
  • 6. The OCCI library HTTP Header Rendering Backend HTTP text/uri-list Rendering Backend WSGI App HTTP HTTP text/plain OCCI Backend Your Handling Rendering Model* App Backend HTTP text/html Rendering … HTTP app/json Rendering Map the HTTP Data to the OCCI Model (Automatic) * http://www.occi-wg.org
  • 7. The OCCI library HTTP Header Rendering Backend HTTP text/uri-list Rendering Backend WSGI App HTTP HTTP text/plain OCCI Backend Your Handling Rendering Model* App Backend HTTP text/html Rendering Backends define … HTTP app/json categories they can Rendering handle – this all you need to implement (Automatic selection) http://pyssf.sf.net * http://www.occi-wg.org
  • 8. The software package is flexible • OCCI‘s IaaS extension is provided within but with own extensions you can: – Use it for you IaaS based cloud • From „Dummy Cloud“ to OpenStack OCCI services – A Platformish approach • As a proxy for another web services – Platform ISF – Job submission • See OCCI DRMAA proposal Specification – Key Value storage • Described in a Springer book:
  • 9. OCCI‘s default rendering text/plain* > GET /-/ HTTP/1.1 > User-Agent: curl/7.24.0 (i386-pc-solaris2.10) libcurl/7.24.0 OpenSSL/0.9.7d zlib/1.1.4 > Host: fjjutraa.joyent.us:8888 > Accept: text/plain > < HTTP/1.1 200 OK < Content-Length: 4323 < Etag: "7b77faa1ad14fd15fc44090e6f245de9f096ccb9" < Content-Type: text/plain < Server: pyssf OCCI/1.1 < Category: network; scheme="http://schemas.ogf.org/occi/infrastructure#"; [...] * Might be renamed to text/occi+plain
  • 10. OCCI‘s lightweight rendering text/occi > GET /-/ HTTP/1.1 > User-Agent: curl/7.24.0 (i386-pc-solaris2.10) libcurl/7.24.0 OpenSSL/0.9.7d zlib/1.1.4 > Host: fjjutraa.joyent.us:8888 > Accept: text/occi > < HTTP/1.1 200 OK < Category: network; scheme="http://schemas.ogf.org/occi/infrastructure#"; < [...] OK
  • 11. OCCI‘s uri-list rendering text/uri-list > GET / HTTP/1.1 > User-Agent: curl/7.24.0 (i386-pc-solaris2.10) libcurl/7.24.0 OpenSSL/0.9.7d zlib/1.1.4 > Host: fjjutraa.joyent.us:8888 > Accept: text/uri-list > < HTTP/1.1 200 OK < Content-Length: 84 < Etag: "b76b8c36b40cfbfbeac66779ceb8334aadeb5462" < Content-Type: text/uri-list < Server: pyssf OCCI/1.1 < # uri:/ http://fjjutraa.joyent.us:8888/compute/09ce8c50-ada0-4f71-bfc8- afce2324c6e5 [...]
  • 12. OCCI‘s upcoming JSON rendering application/occi+json > GET /-/ HTTP/1.1 > User-Agent: curl/7.24.0 (i386-pc-solaris2.10) libcurl/7.24.0 OpenSSL/0.9.7d zlib/1.1.4 > Host: 10.0.2.2:8888 > Accept: application/occi+json > < HTTP/1.0 200 OK < Content-length: 5567 < Content-Type: application/occi+json < Server: pyssf OCCI/1.1 < [ { "scheme": "http://schemas.ogf.org/occi/infrastructure/ [...] "term": "online", "title": "Bring storage online" }, [...]
  • 13. A HTML rendering text/html* * Fully customizable with CSS
  • 14. pyssf is OCCI compliant
  • 16. OCCI & OpenStack Features • Status – General support for VM management is available – First set of tests available – Aligned with the coding Standards of OpenStack! – OCCI Compliant – thanks pyssf!  • Features – Deployment and Management of VMs & Volumes – Scale up (Resize), Rebuild, Imaging of VMs – Integrated as a nova-wsgi WSGI service
  • 17. OS OCCI Parity* • Summary: – Servers  (5/5) – Server Addresses  (1/2) – Flavors  (1/2) – Images  (1/2) – Metadata  (0/6) • Further details here: http://bit.ly/os-occi * Does not include OS API Extensions
  • 18. Install & Play • 1: Install pyssf – From code repository at pyssf.sf.net – pip/easy_install install pyssf • Option 1 - Easiest way will be using devstack – Configure stackrc to clone nova code from: git://git@github.com/dizz/nova • Option 2 - Get the Code (Optional) & Do It Yourself: – cd $YOUR_NOVA_INSTALL_LOCATION – git add remote occi-upstream git://git@github.com/dizz/nova – git fetch occi-upstream – git merge occi-upstream/master
  • 19. OCCI & OpenStack Security • OpenStack defines 3 HTTP Headers – X-Auth-Token – X-Auth-Tenant-ID – X-Auth-User POST '{"auth":{"passwordCredentials": {"username": "admin", "password": "admin"}}}' Keystone Token: 123-123-123 Token: 123-123-123 Nova/O CCI
  • 20. OpenStack & OCCI Architecture EC2 osapi OCCI nova 1. Register WSGI app 2. Register back-ends A Sea of Physical & 3. Register OS templates (per user) Image service Virtual Servers 4. Register Resource templates (m1.tiny...) 5. Register Extensions Quantum
  • 21. „Paper“ Demo • Get a Security Token $ curl -d '{"auth":{"passwordCredentials":{"username": “Admin", "password": “<password>"}}}' -H "Content-type: application/json" http://127.0.0.1:35357/v2.0/tokens $ export KID=$TOKEN_VALUE • Query the OCCI Service: $ curl -v -H 'X-Auth-Token: '$KID -H 'X-Auth-Tenant-Id: '$TEN_ID -H 'X-Auth-User: '$OS_USER -X GET /-/ localhost:8787
  • 22. An OCCI & OpenStack Sample curl -v -X POST localhost:8787/compute/ -H 'Content-Type: text/occi' -H 'X-Auth-Token: '$KID -H 'X-Auth-Tenant-ID: ’$TEN_ID -H 'X-Auth-User: ’$USER -H 'Category: compute; scheme="http://schemas.ogf.org/occi/infrastructure#"; class="kind"’ -H 'Category: m1.tiny; scheme="http://schemas.openstack.org/template/resource#"; class="mixin"' -H 'Category: cirros-0.3.0-x86_64-blank; scheme="http://schemas.openstack.org/template/os#"; class="mixin"‘ That’s all! 
  • 23. Live Demo Overview • Faisal needs a VM to process data – He Creates a VM • Realises it’s not powerful enough –Resizes it • Begins to crunch his data • His boss finds out: “You’re using the Cloud? OMFG!” – Faisal quickly Tears Down his resources
  • 24. Developing with Open/Dev-Stack • Experiences – „WAT!?“ – Devstack can be helpful – BUT: Sometimes not! – Set Root password! • Unittesting – Writing Unittests for our OCCI-api was straight forward • Changing APIs – Especially integration with Keystone was „fun“
  • 25. OCCI-OpenStack Roadmap • Submit to OpenStack review process • Add features: 1. Documentation 2. OCCI registry backend - OS Nova DB 3. OCCI on OS to parity 4. CDMI volume management e.g. rOCCI 5. Quantum • Use it as a proving ground of OCCI awesome sauce!
  • 27. Conclusions • OCCI offers flexibility while being a Standard – Thanks to the Model and our renderings – Discoverability • Can be used for way more than just IaaS – Examples: FiWare and ISF extensions – Other use cases • CDMI & swift – New Blueprint with updated details – Expose nova-volume via CDMI
  • 28. Closing remarks • This work was partly funded by the projects: http://dgsi.d-grid.de http://fi-ware.eu

Editor's Notes

  • #18: Flavour and image is a ML discussion – note there is limited support for details in QIMetadata is a ML discussion
  • #20: This is through the default keystone middleware. OS nova authmiddlware or an OCCI specific middleware could be implemented to reduce the requirements just to X-Auth-Token
  • #21: Logically and at the code level