You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@libcloud.apache.org by "Tomaz Muraus (Created) (JIRA)" <ji...@apache.org> on 2012/03/05 00:44:59 UTC

[dev] [jira] [Created] (LIBCLOUD-159) REST Interface (GSoC 2012)

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


This is an umbrella issue for Libcloud REST interface task.

--
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

        

[dev] [jira] [Commented] (LIBCLOUD-159) REST Interface (GSoC 2012)

Posted by "Ilgiz Islamgulov (Commented) (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/LIBCLOUD-159?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13236503#comment-13236503 ] 

Ilgiz Islamgulov commented on LIBCLOUD-159:
-------------------------------------------

I'm interested working on this task and I provided more details in my email to dev@libcloud.apache.org.
                
> 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

        

[dev] [jira] [Updated] (LIBCLOUD-159) REST Interface (GSoC 2012)

Posted by "Tomaz Muraus (Updated) (JIRA)" <ji...@apache.org>.
     [ 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