[
https://issues.apache.org/jira/browse/LIBCLOUD-159?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13546779#comment-13546779
]
Paritosh Aggarwal commented on LIBCLOUD-159:
--------------------------------------------
Was this taken up? I am looking for a student project to implement over a
break.
> 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
For more information on JIRA, see: http://www.atlassian.com/software/jira