[ 
https://issues.apache.org/jira/browse/LIBCLOUD-159?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Tomaz Muraus updated LIBCLOUD-159:
----------------------------------

    Description: 
This is an umbrella issue for Libcloud REST interface task.

================================================

Description:

HTTP interface for Libcloud (http://libcloud.apache.org/) which exposes all the 
Libcloud functionality through a RESTful API. Currently Libcloud has a big 
limitation - you can only use it with Python. Adding a REST interface would 
allow users to leverage Libcloud functionality through an arbitrary language 
which knows how to talk HTTP.

Project with a similar goal already exists - Deltacloud 
(http://deltacloud.apache.org), but benefit of libcloud.http over Deltacloud 
would be that we support way more providers and APIs and we also have a lot 
more tests.

Milestones:

1. Phase 1 (MVP)

- basic REST-y framework build on top of twisted.web
- basic validation for input data (argument types, etc.)
- use introspection and magic to build most of the functionality, no copy and 
paste!
- basic auth mechanism - user sends provider credentials in X header with every 
request
- for now use threads.deferToThread when calling libcloud methods
- API versioning based on the libcloud release version
- Support for compute API

2. Support for provider specific arguments and methods (ex_foo)

- parse / introspect docstrings to figure out provider specific methods + 
arguments and their types
- hook it up with the rest of the system
- discovery of provider capabilities through an endpoints

3. Pluggable caching & better auth mechanism

- Pluggable caching system (file, memory, memcache, redis, ...)
- Cache credentials, session id,...
- Cache provider responses

4. Support for other APIs:

- DNS
- Load balancers
- Storage (might be a bit tricky because of upload and download functionality)

5. Other (nice-to-have)

- auto-generate clients in different languages
- libcloud driver for libcloud.http (meta, baby!)

  was:This is an umbrella issue for Libcloud REST interface task.

    
> REST Interface (GSoC 2012)
> --------------------------
>
>                 Key: LIBCLOUD-159
>                 URL: https://issues.apache.org/jira/browse/LIBCLOUD-159
>             Project: Libcloud
>          Issue Type: New Feature
>          Components: Core
>            Reporter: Tomaz Muraus
>            Assignee: Tomaz Muraus
>              Labels: gsoc, gsoc2012, mentor
>
> This is an umbrella issue for Libcloud REST interface task.
> ================================================
> Description:
> HTTP interface for Libcloud (http://libcloud.apache.org/) which exposes all 
> the Libcloud functionality through a RESTful API. Currently Libcloud has a 
> big limitation - you can only use it with Python. Adding a REST interface 
> would allow users to leverage Libcloud functionality through an arbitrary 
> language which knows how to talk HTTP.
> Project with a similar goal already exists - Deltacloud 
> (http://deltacloud.apache.org), but benefit of libcloud.http over Deltacloud 
> would be that we support way more providers and APIs and we also have a lot 
> more tests.
> Milestones:
> 1. Phase 1 (MVP)
> - basic REST-y framework build on top of twisted.web
> - basic validation for input data (argument types, etc.)
> - use introspection and magic to build most of the functionality, no copy and 
> paste!
> - basic auth mechanism - user sends provider credentials in X header with 
> every request
> - for now use threads.deferToThread when calling libcloud methods
> - API versioning based on the libcloud release version
> - Support for compute API
> 2. Support for provider specific arguments and methods (ex_foo)
> - parse / introspect docstrings to figure out provider specific methods + 
> arguments and their types
> - hook it up with the rest of the system
> - discovery of provider capabilities through an endpoints
> 3. Pluggable caching & better auth mechanism
> - Pluggable caching system (file, memory, memcache, redis, ...)
> - Cache credentials, session id,...
> - Cache provider responses
> 4. Support for other APIs:
> - DNS
> - Load balancers
> - Storage (might be a bit tricky because of upload and download functionality)
> 5. Other (nice-to-have)
> - auto-generate clients in different languages
> - libcloud driver for libcloud.http (meta, baby!)

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to