Hi Suriya,

Despite being in a different "labs" repository, the GCE provider is
also released as part of the regular release process. You'll find the
release artifacts in Maven Central [1], so you download or include
them as a dependency where needed. Moving the provider to the main
repository should not be a blocker for downstream projects, as long as
they can use the released artifacts.

Creating the provider metadata class should be ideal, but I'm not sure
if it would be a must. A "provider" in jclouds is just an "api",
exposed in a concrete location, with a set of defaults (check this [2]
core concept definition page). Many providers have common APIs (think
about OpenStack providers). While the API they expose is the same
(nova, swift, etc), the endpoints where they expose the api and some
defaults change. That is what the provider metadata describes.

Even though if there is no provider metadata describing a "concrete
deployment of the api", you can still instanciate the provider, using
the ContextBuilder normally.
You can use "google-compute-engine" as the provider id, and use the
default endpoint, defined by the GoogleComputeEngineApiMetadata [3].
If you have the provider dependency in your classpath, jclouds will
find it and pick it up.



So, taking into account these things (if I am not missing something)
you should be already able to use the GCE provider without having to
wait for those changes in the jclouds side.



HTH!


Ignasi


[1] 
http://search.maven.org/#artifactdetails%7Corg.apache.jclouds.labs%7Cgoogle-compute-engine%7C1.7.1%7Cjar
[2] http://wiki.apache.org/jclouds/Core%20Concepts
[3] 
https://github.com/jclouds/jclouds-labs-google/blob/master/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/GoogleComputeEngineApiMetadata.java#L78-L85

On 10 March 2014 09:18, Sathyasuriya Priya <sathyasur...@gmail.com> wrote:
> Dear Jclouds developers,
>
> I am Suriyapriya Veluchamy, currently an MS CS student at NPU, Fremont, CA,
> USA.
> I am interested in the following GSOC project in Stratos.
> https://issues.apache.org/jira/browse/STRATOS-480
>
> I have some queries on the GCE support in jclouds, since this is needed for
> Stratos to integrate with GCE.
> https://github.com/jclouds/jclouds-labs-google
>
> I looked at a relevant email thread as well.
> http://www.mail-archive.com/dev@jclouds.apache.org/msg04369.html
>
> I understand the following JIRA issue is for moving the separate GCE
> project to the core project.
> https://issues.apache.org/jira/browse/JCLOUDS-172
>
> I would like to understand the complexity of this work, based on which I
> would decide whether it could be part of my gsoc work. I have come up with
> list of todo items, based on my analysis. Pls correct me or add other items
> needed as well.
>
> 1. Create GCEProviderMetadata extending BaseProviderMetadata (similar to
> AWSEC2ProviderMetadata) - this is needed for
> ContextBuilder.newBuilder(provider) to pick up GCE ?
> 2. Move all the files (oauth, google-compute-engine) to
> jclouds-providers-project.
> 3. Hopefully, jclouds should pick up GCE as provider. Fix any issues that
> come up.
> 4. Andrew Bayer's criticisms of OAuth code - I couldn't find the relevant
> discussion/email related to this. Any idea if this is a critical piece and
> how much effort is needed to fix it.
>
> I am assuming other jclouds components are provider agnostic and shouldn't
> break. Do you aware of any other code changes needed in other components.
>
> Also, I came across the GCE API java library from google. Any idea why we
> don't use it directly (instead rely on REST apis). May be for OAuth support
> alone we can make use of this ?
> https://developers.google.com/compute/docs/api/api-lib/java
>
> I was able to build jclouds-labs-google and run unittests successfully.
> I will try to work on an example to make use of this project and will
> update.
>
> Thanks
> Suriya

Reply via email to