08448380779 Call Girls In Civil Lines Women Seeking Men
rOCCI: An overview of the Ruby OCCI Framework
1. rOCCI
An overview of the Ruby OCCI Framework
Florian Feldhaus
Gesellschaft für wissenschaftliche Datenverarbeitung mbH Göttingen
Am Fassberg, 37077 Göttingen
2. rOCCI - History
§ v0.1 (09.05.2011): initial release as part of SLA@SOI EU project
§ v0.2 (13.05.2011): Plugfest release for testing
§ v0.3 (27.07.2011): first version to support OpenNebula 3.0 beta
• Easy deployment using Phusion Phacker
• Standalone - includes all OpenNebula dependencies
§ v0.4 (12.01.2012): Support for OpenNebula 3.0
• Support for all actions in OpenNebula backend
• Reduced OpenNebula specific Mixins / more OCCI standards
compliant and interoperable
• Read in OpenNebula resources at startup
• VNC support / WebVNC support
• Static support for different users in OpenNebula backend through
occi-server configuration
• basic support for resource templates
• rewrite of OCCI rendering
GWDG Service Computing group, 26.09.11, Göttingen 2
3. rOCCI - Next steps
§ v0.5 (first alpha released for this plugfest)
• OpenNebula 3.2 support (done)
• new backend manager to support additional backends
(done)
• full support of JSON rendering (partly done)
• advanced authentication / authorization (e.g. x509
support) (partly done)
• Support for OS templates (started)
• improvements to quality assurance procedures (started)
§ V1.0
• rOCCI to become default OCCI server for OpenNebula
GWDG Service Computing group, 26.09.11, Göttingen 3
5. OCCI Verification
§ Plugfest OCCI Test Matrix
• Based on OCCI Tests by Thijs Metsch
§ doyouspeakOCCI Compliance Testing Facility
• Google App Engine (GAE)-based checking tool
• Developed by Alexander Papaspyrou
• http://doyouspeakocci.appspot.com/
§ GWDG OCCI Testbed
• Running latest version of rOCCI with dummy backend
• http://occi.cloud.gwdg.de:3300/
GWDG Service Computing group, 26.09.11, Göttingen 5
6. Tests pyssf pyssf(&(OpenStack Ruby(OCCI(Framework occy:py
Test(the(Query(Interface(as(described(in(section(3.4.1...
!!!!#!retrieval!of!all!kinds,!actions!and!mixins Y Y Y Y
!!!!#!filter!based!on!category Y Y Y Y
!!!!#!remove!the!mixin!if!it!exists!first!to!avoid!conflicts Y Y Y Y
!!!!#!adding!a!mixin!definition Y Y Y Y
!!!!#!removing!a!mixin!definition Y Y Y Y
Test(operations(on(mixins(or(kinds(as(described(in(section(3.4.[2,3]...
y!?!note!you!cannot!
specify!attributes!like!
occi.compute.core!?!OS!
!!!!#!POST!some!compute!instances y will!not!support!this y y
!!!!#!get!them!as!described!in!section!3.4.2!?!text/plain!and!text/uri?list!should!contain!the!same!infos... y y y y
!!!!#!trigger!action!on!collection y y y y
!!!!#!create!a!user!defined!mixin!and!add!a!compute!instance y y y y
!!!!#!check!if!the!user!defined!mixin!was!added!to!the!compute!instance y y y y
!!!!#!check!if!a!get!on!the!location!of!the!user?defined!mixin!return!the!compute_loc y y y y
!!!!#!replace!the!collection!and!only!add!compute_loc2!as!the!new!collection y y y y
!!!!#!filter!on!/compute/!based!on!category!my_stuff... y y y y
!!!!#!filter!on!/compute/!based!on!attribute!and!prev!set!hostname... y y y y
!!!!#!now!also!delete!the!second!compute y y y y
!!!!#!finally!delete!the!mixin y y y y
!!!!#!and!delete!all!compute!instances y y y y
Test(operations(on(resource(instances(as(described(in(section(3.4.4...
y!?!note!you!cannot!
specify!attributes!like!
occi.compute.core!?!OS!
!!!!#!POST!to!create y will!not!support!this y y
!!!!#!trigger!action... y y y y
!!!!#!POST!?!partial!update y N/A y y
!!!!#!PUT!create y y y y
!!!!#!PUT!for!full!update y partial y y
!!!!#!GET y y y y
!!!!#!DELETE y y y y
Test(handling(of(link(instances(as(described(in(section(3.4.5...
!!!!#!create!compute y y y y
y!?!note!you!cannot!
specify!attributes!like!
occi.compute.core!?!OS!
!!!!#!create!network y will!not!support!this y y
!!!!#!now!create!a!network!link... y y y y
!!!!#!check!if!links!has!source,!target!attributes y y y y
!!!!#!1st!cleanup...
!!!!#!now!create!compute!again!but!with!inline!link… y n y y
!!!!#!Now!check!if!compute!has!inline!link!rendering... y N/A y y
!!!!#!2nd!cleanup...
Test(Syntax(and(Semantics(of(the(Rendering(as(described(in(section(3.5...
!!!!#!Test!escaping!of!quotes y y y y
Test(that(the(correct(version(number(can(be(found(as(described(in(section(3.6.5... y y y y
Test(Content:type(and(Accept(headers(as(described(in(section(3.6.6... y y y y
Test(RFC5785(Compliance(as(described(in(section(3.6.7...
!!!!#!retrieval!of!all!kinds,!actions!and!mixins y y y y
!!!!#!retrieval!of!all!kinds,!actions!and!mixins y y y y
Checks(if(a(certain(kind,(mixin,(action(is(complete... y y y y
Test(if(the(Iaas(model(is(complete(as(defined(in(the(Infrastructure(specification... y y y y
Test(interoperability(with(CDMI
n!?!fiware!to!provide!
CDMI!on!OpenStack!Swift!
!!!!#!POST!compute!with!inline!link!to!CDMI N/A (poss.!Glance) Y N/A
n!?!fiware!to!provide!
CDMI!on!OpenStack!Swift!
!!!!#!GET!compute N/A (poss.!Glance) Y N/A
n!?!fiware!to!provide!
GWDG Service Computing group, 26.09.11, Göttingen CDMI!on!OpenStack!Swift! 6
!!!!#!DELETE!compute N/A (poss.!Glance) Y N/A
7. !"#"$%&'(%sprechensieparle
zvous)*+ά-.labhraíonntúparl
DoYouSpeakOCCI
iloquerisspreekjetalarduesuste
dhabladoyouspeakOCCI?
Proudly serving the community since February 9, 2012; with 15 tests so far.
On Sun, 26 Feb 2012 11:36:41 +0000, your implementation running at
http://occi.cloud.gwdg.de:3300/
turned out to be compliant. Congratulations!
Description Result
Tests operations on mixins or kinds as described in section 3.4.2 and 3.4.3 of the Open Cloud
SUCCEEDED
Computing Interface - RESTful HTTP Rendering specification.
Operations on resource instances as described in section 3.4.4 of the Open Cloud Computing
SUCCEEDED
Interface - RESTful HTTP Rendering specification.
Syntax and semantics of the rendering as described in section 3.5 of the Open Cloud Computing
SUCCEEDED
Interface - RESTful HTTP Rendering specification.
RFC5785 compliance as described in section 3.6.7 of the Open Cloud Computing Interface -
SUCCEEDED
RESTful HTTP Rendering specification.
Handling of link instances as described in section 3.4.5 of the Open Cloud Computing Interface -
SUCCEEDED
RESTful HTTP Rendering specification.
Correct handling of "Content-type" and "Accept" headers as described in section 3.6.6 of the
SUCCEEDED
Open Cloud Computing Interface - RESTful HTTP Rendering specification.
Versioning as described in section 3.6.5 of the Open Cloud Computing Interface - RESTful HTTP
SUCCEEDED
Rendering specification.
Tests the query interface as described in section 3.4.1 of the Open Cloud Computing Interface -
SUCCEEDED
RESTful HTTP Rendering specification.
GWDG Service Computing group,the IaaS model with respect
Completeness of 26.09.11, Göttingen to the Open Cloud Computing Interface -
SUCCEEDED 7
Infrastructure specification.
8. OCCI / CDMI usage
SLA
Webservice
Management
OCCI / CDMI Client
Template Storage
OVF Network
OS Resource
Compute
OCCI Server CDMI Server
GWDG Service Computing group, 26.09.11, Göttingen 8
9. OCCI / CDMI integration
§ Successfully tested creation of Storagelinks with CDMI
objects
§ Support for Storagelinks in OpenNebula backend. Thus it
should be possible to start a VM with CDMI storage using
OCCI and OpenNebula
§ Preparation (draft) to add advanced CDMI support to
OpenNebula 3.0 to enable full OCCI/CDMI integration.
• This will enable OpenNebula to benefit from advanced
Storage capabilities like deduplication, thin
provisioning, snapshotting etc. if offered by the CDMI
server.
• This work is coordinated with the OpenNebula
development team.
GWDG Service Computing group, 26.09.11, Göttingen 9
10. OCCI / CDMI usage with OpenNebula
3. Create OCCI
Compute object with
link to CDMI object 4. Deploy VM
OCCI Server OpenNebula
1. Create CDMI
Container 6. Access VM
using VNC 5. Start VM
2. Upload Image
to Container
5.a Get NFS export for CDMI Container
5.b Mount NFS export
CDMI Server NFS VM Host
Server
5.c Acess image on NFS export
GWDG Service Computing group, 26.09.11, Göttingen 10
11. Advanced CDMI
§ use CDMI export feature
§ mount NFS share on VM hosts
§ get Image from NFS share
§ use CDMI commands to manage images (e.g. copy,
delete, update metadata)
• CDMI server then can do
- deduplication
- thin provisioning
- snapshots
- backups
- metadata management
- ...
GWDG Service Computing group, 26.09.11, Göttingen 11
12. OCCI/CDMI clients
§ developed a Java OCCI/CDMI client library with
webfrontend
• usable proof of concept
• OCCI/CDMI integration coming soon
§ developed a Ruby CDMI client library
• intended to be used in OpenNebula to support CDMI
• may be used by Ruby OCCI Framework to interact with
CDMI server
GWDG Service Computing group, 26.09.11, Göttingen 12
13. Testing
§ Created a bunch of example OCCI 1.1 requests for testing
• http://dev.opennebula.org/projects/ogf-occi/wiki/
Example_requests
• Feedback would be very much appreciated!
§ created a Skeleton of a combined open source OCCI/
CDMI (OCMI) test suite
• It may be a good idea to integrate with the existing
OCCI WG test suite
• the OCMI-tester will focus on testing interoperability of
OCCI and CDMI.
• https://github.com/livenson/ocmi-tester
GWDG Service Computing group, 26.09.11, Göttingen 13
14. OpenNebula Interoperability group
§ group is intended to become the central point of sharing
information and discussing open standards / interoperability in
relation to OpenNebula
§ We are actively participating in the recently announced
OpenNebula interoperability mailinglist
• we‘d like to encourage everyone from OCCI WG to join the
list
§ Testing of OVF together with OCCI and CDMI will be next step
in context of OpenNebula interoperability group
• collaboration with Contrail project who are developing OVF
for OpenNebula
• investigating to test OCCI/OVF implementation by Venus-C
• asking other (EU-)projects to join and present their
developments
GWDG Service Computing group, 26.09.11, Göttingen 14
15. Outlook
§ integration of OCCI and CDMI works well
§ OVF integration under active development
§ SNIA Cloud Plugfest important for testing interoperability
§ next steps:
• advance standards using exerpience from implementations
• write implementation experience guides
• develop combined OCCI / CDMI / OVF verification suite
• stress/scaling testing
• interoperability testing
• extending OCCI with monitoring / reservation capabilities
• authentication / authorization
GWDG Service Computing group, 26.09.11, Göttingen 15
16. More information
§ rOCCI - Ruby OCCI Framework
• http://dev.opennebula.org/projects/ogf-occi/
§ OCCI Working Group
• http://occi-wg.org/
§ OCCI Contribute & Communicate
• http://occi-wg.org/community/contribute-communicate/
§ OpenNebula Interoperability Mailinglist
• http://www.opennebula.org/
documentation:community:interoperability
§ doyouspeakOCCI
• http://doyouspeakocci.appspot.com/
GWDG Service Computing group, 26.09.11, Göttingen 16
17. Thank you for your attention!
GWDG Service Computing group, 26.09.11, Göttingen 17