[
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