You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@libcloud.apache.org by "Rick Wright (JIRA)" <ji...@apache.org> on 2013/06/04 00:34:21 UTC

[dev] [jira] [Commented] (LIBCLOUD-266) Adding Google Compute Engine Support

    [ https://issues.apache.org/jira/browse/LIBCLOUD-266?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13673699#comment-13673699 ] 

Rick Wright commented on LIBCLOUD-266:
--------------------------------------

I'm picking up where Ziyad left off to get GCE supported in libcloud.  Right now, I have a basic working version that removes all dependency on gcelib (which is deprecated anyway) and also does not depend on any additional third party libraries (with one exception, as noted below).  I hope to have a patch available in the coming weeks.

A note on authentication: There are two basic ways for authenticating to GCE using OAUTH2:

The first is with a "service account".  This gives you a private key file and you authenticate based on that key.  The problem is that it requires signing the request using an SHA256withRSA (aka RSASSA-PKS1-V1_5-SIGN with the SHA-256 hash).  There is no sane way to generate that signature using only Python built-in libraries, so using a service account would require the use of the PyCrypto library.

The second authentication method is the "installed application" flow.  This essentially gives you a URL to visit and log-in/authorize the application.  After authenticating, the user is given a code that they would paste in at a prompt.  From there, a temporary access token and a refresh token are generated.  At that point, the refresh token would be stored locally and used to provide authentication for the application.  This second method does not require any crypto functions, but does require a one-time interactive setup.

The solution I'm working on will support both, but PyCrypto will not be required unless the user of the library wants to use the service account flow.  (i.e. There won't be any import errors if a person doesn't have PyCrypto and authenticates with the installed application flow or uses other Providers).

Anyway, I would appreciate any feedback you have at this point.
                
> Adding Google Compute Engine Support
> ------------------------------------
>
>                 Key: LIBCLOUD-266
>                 URL: https://issues.apache.org/jira/browse/LIBCLOUD-266
>             Project: Libcloud
>          Issue Type: Improvement
>          Components: Compute
>    Affects Versions: 0.11.2
>            Reporter: Ziyad Mir
>            Priority: Minor
>              Labels: patch
>         Attachments: libcloud.patch
>
>
> Adding a new compute driver for Google Compute Engine.

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