rOCCI
Transcription
rOCCI
A New FedCloud Java Client Library Michal Kimle, Boris Parák, Zdeněk Šustr, Jiří Sitera CESNET, a. l. e., Prague, Czech Republic OCCI jOCCI • The Open Cloud Computing Interface (OCCI) is an OGF standard • Only the Ruby-based rOCCI framework with its command line in- for cloud resource management. terface available up intil very recently. • The EGI Federated Cloud uses OCCI as a common interface to access its computing services. are not a suitable solution. For OCCI compliance, the client and server side must have at least these capabilities: Client must be able to . . . receive, parse and understand model render request, validate against model and send receive response: location, rendered object, HTTP return code Server must be able to . . . render model: local capabilities, mixins, resource categories parse request and act on it Native Ruby Java Native application jOCCI-core rOCCI-core • jOCCI – a new native Java library implementing the OCCI class structure, rendering and transport, allowing developers to work with OCCI concepts natively in Java. • Not specific to EGI FedCloud. Independend general-purpose OCCI client, helping to establish the OCCI standard. • Provided by CESNET – developers of the existing rOCCI frame- work. Funded by EGI-InSPIRE. • Already being tried out by early adopters. return response • Works with any cloud platform implementing OCCI: rOCCI in progress (OpenNebula, AWS, MS Azure # Shell script Custom client app. NEW! jOCCI-api rOCCI-api • Demand to support OCCI in Java. Wrappers around CLI or jRuby Application or script using command-line executables rOCCI-cli Server-side OCCI implementations ), openstack, synnefo, . . . OpenNebula rOCCI-api rOCCI-core MS Azure rOCCI-server OCCI HTTPs Custom client app. rOCCI-api Native Ruby application rOCCI-core Independent OCCI-compliant client Fig. 1: The role of the new jOCCI library in OCCI client-server implementations. Examples Future plans Creating a client instance (with X509 authentication): • Supporting the jOCCI library, already made available to the com- HTTPAuthentication auth = new X 5 0 9 A u t h e n t i c a t i o n ( "/path/to/certificate .pem" , "password" ) ; auth . setCAPath ( "/etc/grid-security/certificates/" ) ; / / path t o CA d i r C l i e n t c l i e n t = new HTTPClient ( URI . c r e a t e ( "https://remote.server.net" ) , auth ) ; munity. • Working with early adopters integrating jOCCI into their Java- based projects. • Next step: Releasing a jclouds OCCI provider based on jOCCI. Listing available resources: L i s t <URI> l i s t = c l i e n t . l i s t ( URI . c r e a t e ( "http://schemas.ogf.org/occi/ infrastructure#compute" ) ) ; Creating a compute resource: Model model = c l i e n t . getModel ( ) ; E n t i t y B u i l d e r e n t i t y B u i l d e r = new E n t i t y B u i l d e r ( model ) ; Resource r e s o u r c e = e n t i t y B u i l d e r . getResource ( "compute" ) ; r e s o u r c e . addMixin ( model . f i n d M i x i n ( "debian7" , "os_tpl" ) ) ; r e s o u r c e . addMixin ( model . f i n d M i x i n ( "small" , "resource_tpl" ) ) ; r e s o u r c e . a d d A t t r i b u t e ( Compute .MEMORY_ATTRIBUTE_NAME, "2048" ) ; URI l o c a t i o n = c l i e n t . c r e a t e ( r e s o u r c e ) ; Getting jOCCI • Available from maven central repository. Search search.maven.org for “jOCCI”. • Source code with documentation: github.com/EGI-FCTF Contacting us for support • E-mail: [email protected]
Similar documents
PoS(ISGC2015)015
The above excerpt is a rendered representation of a compute resource, i.e., a virtual machine. Various attributes specify its size and other properties. This is what a description of a virtual reso...
More informationjOCCI – General-Purpose OCCI Client Library in Java
• Creating a compute resource (having skipped discovery for brevity): Model model = client . getModel (); EntityBuilder entityBuilder = new EntityBuilder ( model ); Resource resource = entityBuilde...
More information