Interop Clouds with OCCIThijs Metsch - Platform Computing, an IBM CompanyAndrew Edmonds - Intel CorporationCloud Plugfest ...
Starring   In Order of apprerances         OCCI As the cool kid in town    OpenStack As the „Cloud“           ISF As the P...
THE OCCI SOFTWARE PACKAGE
The OCCI library                              HTTP Header                               Rendering                         ...
The OCCI library                                      HTTP Header                                       Rendering         ...
The OCCI library                         HTTP Header                          Rendering                                   ...
The OCCI library                        HTTP Header                         Rendering                                     ...
The software package is flexible• OCCI‘s IaaS extension is provided within  but with own extensions you can:  – Use it for...
OCCI‘s default rendering               text/plain*> GET /-/ HTTP/1.1> User-Agent: curl/7.24.0 (i386-pc-solaris2.10) libcur...
OCCI‘s lightweight rendering               text/occi> GET /-/ HTTP/1.1> User-Agent: curl/7.24.0 (i386-pc-solaris2.10) libc...
OCCI‘s uri-list rendering                text/uri-list> GET / HTTP/1.1> User-Agent: curl/7.24.0 (i386-pc-solaris2.10) libc...
OCCI‘s upcoming JSON rendering       application/occi+json> GET /-/ HTTP/1.1> User-Agent: curl/7.24.0 (i386-pc-solaris2.10...
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  – Ali...
OS OCCI Parity*• Summary:  – Servers  (5/5)  – Server Addresses  (1/2)  – Flavors  (1/2)  – Images  (1/2)  – Metadata ...
Install & Play• 1: Install pyssf    – From code repository at pyssf.sf.net    – pip/easy_install install pyssf• Option 1 -...
OCCI & OpenStack Security• OpenStack defines 3 HTTP Headers  – X-Auth-Token  – X-Auth-Tenant-ID  – X-Auth-User            ...
OpenStack & OCCI Architecture                                  EC2                                  osapi                 ...
„Paper“ Demo• Get a Security Token   $ curl -d {"auth":{"passwordCredentials":{"username":      “Admin", "password": “<pas...
An OCCI & OpenStack Samplecurl -v -X POST localhost:8787/compute/-H Content-Type: text/occi-H X-Auth-Token: $KID-H X-Auth-...
Live Demo Overview• Faisal needs a VM to process data  – He Creates a VM• Realises it’s not powerful enough  –Resizes it• ...
Developing with Open/Dev-Stack• Experiences – „WAT!?“   – Devstack can be helpful   – BUT: Sometimes not!   – Set Root pas...
OCCI-OpenStack Roadmap• Submit to OpenStack review process• Add features:    1.   Documentation    2.   OCCI registry back...
OUTLOOK
Conclusions• OCCI offers flexibility while being a Standard  – Thanks to the Model and our renderings  – Discoverability• ...
Closing remarks• This work was partly funded by the projects:     http://dgsi.d-grid.de        http://fi-ware.eu
Upcoming SlideShare
Loading in …5
×

Cloud Plugfest OCCI, pyssf and OpenStack

9,019 views

Published on

Published in: Technology, Education
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
9,019
On SlideShare
0
From Embeds
0
Number of Embeds
4,769
Actions
Shares
0
Downloads
42
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide
  • Flavour and image is a ML discussion – note there is limited support for details in QIMetadata is a ML discussion
  • 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
  • Logically and at the code level
  • Cloud Plugfest OCCI, pyssf and OpenStack

    1. 1. Interop Clouds with OCCIThijs Metsch - Platform Computing, an IBM CompanyAndrew Edmonds - Intel CorporationCloud Plugfest – February/March 2012, Düsseldorf Germany
    2. 2. Starring In Order of apprerances OCCI As the cool kid in town OpenStack As the „Cloud“ ISF As the Platform CloudAndy Edmonds As the Developer Thijs Metsch As the Integrator
    3. 3. THE OCCI SOFTWARE PACKAGE
    4. 4. The OCCI library HTTP Header Rendering Backend HTTP text/uri-list Rendering BackendWSGI 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. 5. The OCCI library HTTP Header Rendering Backend HTTP text/uri-list Rendering BackendWSGI 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. 6. The OCCI library HTTP Header Rendering Backend HTTP text/uri-list Rendering BackendWSGI 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. 7. The OCCI library HTTP Header Rendering Backend HTTP text/uri-list Rendering BackendWSGI 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. 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. 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. 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. 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. 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. 13. A HTML rendering text/html** Fully customizable with CSS
    14. 14. pyssf is OCCI compliant
    15. 15. OCCI & OPENSTACK
    16. 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. 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. 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. 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. 20. OpenStack & OCCI Architecture EC2 osapi OCCI nova1. Register WSGI app2. Register back-ends A Sea of Physical &3. Register OS templates (per user) Image service Virtual Servers4. Register Resource templates (m1.tiny...)5. Register Extensions Quantum
    21. 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. 22. An OCCI & OpenStack Samplecurl -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. 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. 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. 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!
    26. 26. OUTLOOK
    27. 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. 28. Closing remarks• This work was partly funded by the projects: http://dgsi.d-grid.de http://fi-ware.eu

    ×