Re: problems compiling jclouds 1.8.x

2014-08-13 Thread Inbar Stolberg
problem solved, sorry ,
accidentally merged master and 1.8.x together (didn't mix very well as you
can imagine)


On Wed, Aug 13, 2014 at 9:31 AM, Inbar Stolberg inbar...@gmail.com wrote:

 hi all,

 i am having trouble with running mvn on jclouds branch 1.8.x

 command:
 mvn clean install -DskipTests

 i am getting error (full mvn output attached in a file ):

 [ERROR] Failed to execute goal
 org.apache.maven.plugins:maven-compiler-plugin:3.1:compile
 (default-compile) on project jclouds-core: Compilation failure: Compilation
 failure:
 [ERROR]
 /workspace/git/github-jcloud-8/jclouds-1/core/src/main/java/org/jclouds/reflect/InvocationSuccess.java:[25,30]
 cannot find symbol
 [ERROR] symbol:   class MoreObjects
 [ERROR] location: package com.google.common.base
 [ERROR]
 /workspace/git/github-jcloud-8/jclouds-1/core/src/main/java/org/jclouds/reflect/InvocationSuccess.java:[26,42]
 package com.google.common.base.MoreObjects does not exist
 [ERROR]
 /workspace/git/github-jcloud-8/jclouds-1/core/src/main/java/org/jclouds/reflect/InvocationSuccess.java:[78,14]
 cannot find symbol
 [ERROR] symbol:   class ToStringHelper
 [ERROR] location: class org.jclouds.reflect.InvocationSuccess
 [ERROR]
 /workspace/git/github-jcloud-8/jclouds-1/core/src/main/java/org/jclouds/http/HttpRequest.java:[34,30]
 cannot find symbol
 [ERROR] symbol:   class MoreObjects
 [ERROR] location: package com.google.common.base
 [ERROR]
 /workspace/git/github-jcloud-8/jclouds-1/core/src/main/java/org/jclouds/http/HttpRequest.java:[35,42]
 package com.google.common.base.MoreObjects does not exist
 [ERROR]
 /workspace/git/github-jcloud-8/jclouds-1/core/src/main/java/org/jclouds/http/HttpMessage.java:[32,30]
 cannot find symbol
 [ERROR] symbol:   class MoreObjects
 [ERROR] location: package com.google.common.base
 [ERROR]
 /workspace/git/github-jcloud-8/jclouds-1/core/src/main/java/org/jclouds/http/HttpMessage.java:[33,42]
 package com.google.common.base.MoreObjects does not exist
 [ERROR]
 /workspace/git/github-jcloud-8/jclouds-1/core/src/main/java/org/jclouds/http/HttpResponse.java:[22,30]
 cannot find symbol
 [ERROR] symbol:   class MoreObjects
 [ERROR] location: package com.google.common.base
 [ERROR]
 /workspace/git/github-jcloud-8/jclouds-1/core/src/main/java/org/jclouds/http/HttpResponse.java:[23,42]
 package com.google.common.base.MoreObjects does not exist
 [ERROR]
 /workspace/git/github-jcloud-8/jclouds-1/core/src/main/java/org/jclouds/http/HttpRequest.java:[288,14]
 cannot find symbol
 [ERROR] symbol:   class ToStringHelper
 [ERROR] location: class org.jclouds.http.HttpRequest
 [ERROR]
 /workspace/git/github-jcloud-8/jclouds-1/core/src/main/java/org/jclouds/http/HttpMessage.java:[227,14]
 cannot find symbol
 [ERROR] symbol:   class ToStringHelper
 [ERROR] location: class org.jclouds.http.HttpMessage
 [ERROR]
 /workspace/git/github-jcloud-8/jclouds-1/core/src/main/java/org/jclouds/http/HttpResponse.java:[117,14]
 cannot find symbol
 [ERROR] symbol:   class ToStringHelper
 [ERROR] location: class org.jclouds.http.HttpResponse
 [ERROR]
 /workspace/git/github-jcloud-8/jclouds-1/core/src/main/java/org/jclouds/reflect/Reflection2.java:[35,30]
 cannot find symbol
 [ERROR] symbol:   class MoreObjects
 [ERROR] location: package com.google.common.base
 [ERROR]
 /workspace/git/github-jcloud-8/jclouds-1/core/src/main/java/org/jclouds/rest/internal/DelegatesToInvocationFunction.java:[55,30]
 cannot find symbol
 [ERROR] symbol:   class MoreObjects




jclouds S3 provider calls GetBucketAcl every time putBlob() is called?

2014-08-13 Thread Steve Kingsland
I'm using the S3 API, and I've noticed that every time I call
blobStore.putBlob(), the S3 provider requests the bucket's ACL first. From
looking at the code, it appears that the ACLs should be cached after the
first GET, but I'm not seeing that. With debug logging enabled, I can
clearly see the GET https://myDomain/myBucket?acl call happening every time
I call putBlob().

Is that expected, or is there something going wrong? And if it's to be
expected, is there any way to make jclouds *skip* the ACL check, and just
assume it has write access, throwing an exception if that's not the case?

The reason I ask is that latency between my client and the Ceph server is
really high right now, so I'd like to reduce the calls the server to just
1. (The plan is to co-locate the client and server in the same data center,
but I'd still like to reduce round trips to the server as much as possible.)

I'm using jclouds 1.6.3.


*Steve Kingsland*

Senior Software Engineer

*Opower * http://www.opower.com/


* We’re hiring! See jobs here http://www.opower.com/careers *


Re: jclouds S3 provider calls GetBucketAcl every time putBlob() is called?

2014-08-13 Thread Andrew Phillips

blobStore.putBlob(), the S3 provider requests the bucket's ACL first. From
looking at the code, it appears that the ACLs should be cached after the
first GET, but I'm not seeing that.


Could you point out which code (path) specifically you're looking at here?

Thanks!

ap


How to get reference to NeutronApi from ComputeServiceContext

2014-08-13 Thread Jeffrey Nguyen (jeffrngu)

Hi,

I'm not sure whether this should be sent to user or dev aliases, so I'm 
including both.

I'm trying to access neutron API from an existing ComputeServiceContext.   This 
context was created with the openstack-nova provider.   For the neutron API, 
my understanding is the provider need to be set to openstack-neutron.   My 
question is how to get a reference to neutron API given an existing 
ComputeServiceContext that was created for openstack-nova.

Below is the code I see for getting reference to NovaApi from 
ComputeServiceContext.   Is there something similar for NeutronApi?   I checked 
jclouds lab code and there is NeutronApi but there isn't a NeutronAsyncApi.


ComputeServiceContext context;

RestContextNovaApi, NovaAsyncApi nova = context.unwrap();


Thanks,

-Jeffrey


RE: How to get reference to NeutronApi from ComputeServiceContext

2014-08-13 Thread Zack Shoylev
Hi Jeffrey,

There is no NeutronAsyncApi, just a NeutronApi. Use neutron version v2 (instead 
of v2_0) from labs.

You should be able to do something like:
NeutronApi neutronApi = ContextBuilder.newBuilder(openstack-neutron)
.credentials(username, password).endpoint(endpoint).buildApi(NeutronApi.class);

The code you are referring to is unwrapping a provider-specific implementation 
of compute from the compute abstraction layer. At the moment, jclouds has no 
networking abstraction layer, so you get to use neutron directly.

Let me know if this helps or if you need more info.
-Zack

From: Jeffrey Nguyen (jeffrngu) [jeffr...@cisco.com]
Sent: Wednesday, August 13, 2014 5:09 PM
To: user@jclouds.apache.org; d...@jclouds.apache.org
Subject: How to get reference to NeutronApi from ComputeServiceContext


Hi,

I'm not sure whether this should be sent to user or dev aliases, so I'm 
including both.

I'm trying to access neutron API from an existing ComputeServiceContext.   This 
context was created with the openstack-nova provider.   For the neutron API, 
my understanding is the provider need to be set to openstack-neutron.   My 
question is how to get a reference to neutron API given an existing 
ComputeServiceContext that was created for openstack-nova.

Below is the code I see for getting reference to NovaApi from 
ComputeServiceContext.   Is there something similar for NeutronApi?   I checked 
jclouds lab code and there is NeutronApi but there isn't a NeutronAsyncApi.


ComputeServiceContext context;

RestContextNovaApi, NovaAsyncApi nova = context.unwrap();


Thanks,

-Jeffrey


Re: S3Proxy 1.0.0 release

2014-08-13 Thread Andrew Gaul
On Tue, Aug 12, 2014 at 07:50:38PM +0200, Andrew Phillips wrote:
 Over the last few weeks I have hacked up S3Proxy, which provides an S3
 interface on top of the jclouds BlobStore portable abstraction.
 
 Looks cool! Is there an example or a guide somewhere demonstrating
 how to use this?
 
 One comment about the Limitations: is single-part uploads larger
 than 2 GB still applicable?

I expanded on the readme, giving examples of the two use cases of
translating to non-S3 object stores and providing a local S3 for
testing.  Unfortunately jclouds 1.8 has the 2 GB single-part limit
although I will upgrade to jclouds 2.0 as soon as we release it.  Thanks
for the feedback!

-- 
Andrew Gaul
http://gaul.org/


RE: How to get reference to NeutronApi from ComputeServiceContext

2014-08-13 Thread Zack Shoylev
Hi Jeffrey,

The endpoint is most likely set in the provider you use. For example, in 
cloudservers-us (The US rackspace provider), we have:
https://github.com/jclouds/jclouds/blob/master/providers/rackspace-cloudservers-us/src/main/java/org/jclouds/rackspace/cloudservers/us/CloudServersUSProviderMetadata.java#L84

For neutron, the endpoint will likely be the same. For openstack deployments, 
the endpoints will also be in the service catalog.

-Zack


From: Jeffrey Nguyen (jeffrngu) [jeffr...@cisco.com]
Sent: Wednesday, August 13, 2014 11:32 PM
To: user@jclouds.apache.org
Subject: Re: How to get reference to NeutronApi from ComputeServiceContext


Thanks Zack.  I'm familiar with the method to get NeutronApi you mentioned.   
The problem is I can get credentials  but I'm not sure how to get the value for 
endpoint from the existing ComputeServiceContext.   Any idea?

-Jeffrey

From: Zack Shoylev 
zack.shoy...@rackspace.commailto:zack.shoy...@rackspace.com
Reply-To: user@jclouds.apache.orgmailto:user@jclouds.apache.org 
user@jclouds.apache.orgmailto:user@jclouds.apache.org
Date: Wednesday, August 13, 2014 6:41 PM
To: user@jclouds.apache.orgmailto:user@jclouds.apache.org 
user@jclouds.apache.orgmailto:user@jclouds.apache.org
Subject: RE: How to get reference to NeutronApi from ComputeServiceContext

Hi Jeffrey,

There is no NeutronAsyncApi, just a NeutronApi. Use neutron version v2 (instead 
of v2_0) from labs.

You should be able to do something like:
NeutronApi neutronApi = ContextBuilder.newBuilder(openstack-neutron)
.credentials(username, password).endpoint(endpoint).buildApi(NeutronApi.class);

The code you are referring to is unwrapping a provider-specific implementation 
of compute from the compute abstraction layer. At the moment, jclouds has no 
networking abstraction layer, so you get to use neutron directly.

Let me know if this helps or if you need more info.
-Zack

From: Jeffrey Nguyen (jeffrngu) [jeffr...@cisco.commailto:jeffr...@cisco.com]
Sent: Wednesday, August 13, 2014 5:09 PM
To: user@jclouds.apache.orgmailto:user@jclouds.apache.org; 
d...@jclouds.apache.orgmailto:d...@jclouds.apache.org
Subject: How to get reference to NeutronApi from ComputeServiceContext


Hi,

I'm not sure whether this should be sent to user or dev aliases, so I'm 
including both.

I'm trying to access neutron API from an existing ComputeServiceContext.   This 
context was created with the openstack-nova provider.   For the neutron API, 
my understanding is the provider need to be set to openstack-neutron.   My 
question is how to get a reference to neutron API given an existing 
ComputeServiceContext that was created for openstack-nova.

Below is the code I see for getting reference to NovaApi from 
ComputeServiceContext.   Is there something similar for NeutronApi?   I checked 
jclouds lab code and there is NeutronApi but there isn't a NeutronAsyncApi.


ComputeServiceContext context;

RestContextNovaApi, NovaAsyncApi nova = context.unwrap();


Thanks,

-Jeffrey


Re: How to get reference to NeutronApi from ComputeServiceContext

2014-08-13 Thread Jeffrey Nguyen (jeffrngu)
Hi Zack,

I looked at the application code again.  It turns out that endpoint can be 
obtained at the application level as one of the properties of the underline 
Iaas provider.   So I'm good on this one.
Question on the version v2: which version of jclouds have this?   I'm using 
jclouds 1.7.1 and plan to introduce just the neutron dependency below and not 
upgrading jclouds.   Will that work or does neutron have other dependencies 
that require upgrading jclouds?   Also, is the version below correct for using 
v2 instead of v2_0?

dependency
groupIdorg.apache.jclouds.labs/groupId
artifactIdopenstack-neutron/artifactId
version1.7.3/version
/dependency

Thanks,

-Jeffrey

From: jeffrngu jeffr...@cisco.commailto:jeffr...@cisco.com
Reply-To: user@jclouds.apache.orgmailto:user@jclouds.apache.org 
user@jclouds.apache.orgmailto:user@jclouds.apache.org
Date: Wednesday, August 13, 2014 9:32 PM
To: user@jclouds.apache.orgmailto:user@jclouds.apache.org 
user@jclouds.apache.orgmailto:user@jclouds.apache.org
Subject: Re: How to get reference to NeutronApi from ComputeServiceContext


Thanks Zack.  I'm familiar with the method to get NeutronApi you mentioned.   
The problem is I can get credentials  but I'm not sure how to get the value for 
endpoint from the existing ComputeServiceContext.   Any idea?

-Jeffrey

From: Zack Shoylev 
zack.shoy...@rackspace.commailto:zack.shoy...@rackspace.com
Reply-To: user@jclouds.apache.orgmailto:user@jclouds.apache.org 
user@jclouds.apache.orgmailto:user@jclouds.apache.org
Date: Wednesday, August 13, 2014 6:41 PM
To: user@jclouds.apache.orgmailto:user@jclouds.apache.org 
user@jclouds.apache.orgmailto:user@jclouds.apache.org
Subject: RE: How to get reference to NeutronApi from ComputeServiceContext

Hi Jeffrey,

There is no NeutronAsyncApi, just a NeutronApi. Use neutron version v2 (instead 
of v2_0) from labs.

You should be able to do something like:
NeutronApi neutronApi = ContextBuilder.newBuilder(openstack-neutron)
.credentials(username, password).endpoint(endpoint).buildApi(NeutronApi.class);

The code you are referring to is unwrapping a provider-specific implementation 
of compute from the compute abstraction layer. At the moment, jclouds has no 
networking abstraction layer, so you get to use neutron directly.

Let me know if this helps or if you need more info.
-Zack

From: Jeffrey Nguyen (jeffrngu) [jeffr...@cisco.commailto:jeffr...@cisco.com]
Sent: Wednesday, August 13, 2014 5:09 PM
To: user@jclouds.apache.orgmailto:user@jclouds.apache.org; 
d...@jclouds.apache.orgmailto:d...@jclouds.apache.org
Subject: How to get reference to NeutronApi from ComputeServiceContext


Hi,

I'm not sure whether this should be sent to user or dev aliases, so I'm 
including both.

I'm trying to access neutron API from an existing ComputeServiceContext.   This 
context was created with the openstack-nova provider.   For the neutron API, 
my understanding is the provider need to be set to openstack-neutron.   My 
question is how to get a reference to neutron API given an existing 
ComputeServiceContext that was created for openstack-nova.

Below is the code I see for getting reference to NovaApi from 
ComputeServiceContext.   Is there something similar for NeutronApi?   I checked 
jclouds lab code and there is NeutronApi but there isn't a NeutronAsyncApi.


ComputeServiceContext context;

RestContextNovaApi, NovaAsyncApi nova = context.unwrap();


Thanks,

-Jeffrey


RE: How to get reference to NeutronApi from ComputeServiceContext

2014-08-13 Thread Zack Shoylev
Hi Jeffrey,

As this new neutron code is... new, you will have to use 1.8.0 instead of 1.7.3 
in your dependency.
Your dependency looks good to me and with 1.8.0 it will include both v2 and 
v2_0: v2_0 is deprecated (making sure we don't break people's code).
Thanks!
-Zack

From: Jeffrey Nguyen (jeffrngu) [jeffr...@cisco.com]
Sent: Wednesday, August 13, 2014 11:48 PM
To: user@jclouds.apache.org
Subject: Re: How to get reference to NeutronApi from ComputeServiceContext

Hi Zack,

I looked at the application code again.  It turns out that endpoint can be 
obtained at the application level as one of the properties of the underline 
Iaas provider.   So I'm good on this one.
Question on the version v2: which version of jclouds have this?   I'm using 
jclouds 1.7.1 and plan to introduce just the neutron dependency below and not 
upgrading jclouds.   Will that work or does neutron have other dependencies 
that require upgrading jclouds?   Also, is the version below correct for using 
v2 instead of v2_0?

dependency
groupIdorg.apache.jclouds.labs/groupId
artifactIdopenstack-neutron/artifactId
version1.7.3/version
/dependency

Thanks,

-Jeffrey

From: jeffrngu jeffr...@cisco.commailto:jeffr...@cisco.com
Reply-To: user@jclouds.apache.orgmailto:user@jclouds.apache.org 
user@jclouds.apache.orgmailto:user@jclouds.apache.org
Date: Wednesday, August 13, 2014 9:32 PM
To: user@jclouds.apache.orgmailto:user@jclouds.apache.org 
user@jclouds.apache.orgmailto:user@jclouds.apache.org
Subject: Re: How to get reference to NeutronApi from ComputeServiceContext


Thanks Zack.  I'm familiar with the method to get NeutronApi you mentioned.   
The problem is I can get credentials  but I'm not sure how to get the value for 
endpoint from the existing ComputeServiceContext.   Any idea?

-Jeffrey

From: Zack Shoylev 
zack.shoy...@rackspace.commailto:zack.shoy...@rackspace.com
Reply-To: user@jclouds.apache.orgmailto:user@jclouds.apache.org 
user@jclouds.apache.orgmailto:user@jclouds.apache.org
Date: Wednesday, August 13, 2014 6:41 PM
To: user@jclouds.apache.orgmailto:user@jclouds.apache.org 
user@jclouds.apache.orgmailto:user@jclouds.apache.org
Subject: RE: How to get reference to NeutronApi from ComputeServiceContext

Hi Jeffrey,

There is no NeutronAsyncApi, just a NeutronApi. Use neutron version v2 (instead 
of v2_0) from labs.

You should be able to do something like:
NeutronApi neutronApi = ContextBuilder.newBuilder(openstack-neutron)
.credentials(username, password).endpoint(endpoint).buildApi(NeutronApi.class);

The code you are referring to is unwrapping a provider-specific implementation 
of compute from the compute abstraction layer. At the moment, jclouds has no 
networking abstraction layer, so you get to use neutron directly.

Let me know if this helps or if you need more info.
-Zack

From: Jeffrey Nguyen (jeffrngu) [jeffr...@cisco.commailto:jeffr...@cisco.com]
Sent: Wednesday, August 13, 2014 5:09 PM
To: user@jclouds.apache.orgmailto:user@jclouds.apache.org; 
d...@jclouds.apache.orgmailto:d...@jclouds.apache.org
Subject: How to get reference to NeutronApi from ComputeServiceContext


Hi,

I'm not sure whether this should be sent to user or dev aliases, so I'm 
including both.

I'm trying to access neutron API from an existing ComputeServiceContext.   This 
context was created with the openstack-nova provider.   For the neutron API, 
my understanding is the provider need to be set to openstack-neutron.   My 
question is how to get a reference to neutron API given an existing 
ComputeServiceContext that was created for openstack-nova.

Below is the code I see for getting reference to NovaApi from 
ComputeServiceContext.   Is there something similar for NeutronApi?   I checked 
jclouds lab code and there is NeutronApi but there isn't a NeutronAsyncApi.


ComputeServiceContext context;

RestContextNovaApi, NovaAsyncApi nova = context.unwrap();


Thanks,

-Jeffrey


Re: How to get reference to NeutronApi from ComputeServiceContext

2014-08-13 Thread Jeffrey Nguyen (jeffrngu)

Ok, I'll change my dependency to reference 1.8.0 instead of 1.7.3.   Can 
you confirm this neutron dependency will still work with jclouds 1.7.1?

Thanks,
-Jeffrey

From: Zack Shoylev 
zack.shoy...@rackspace.commailto:zack.shoy...@rackspace.com
Reply-To: user@jclouds.apache.orgmailto:user@jclouds.apache.org 
user@jclouds.apache.orgmailto:user@jclouds.apache.org
Date: Wednesday, August 13, 2014 10:10 PM
To: user@jclouds.apache.orgmailto:user@jclouds.apache.org 
user@jclouds.apache.orgmailto:user@jclouds.apache.org
Subject: RE: How to get reference to NeutronApi from ComputeServiceContext

Hi Jeffrey,

As this new neutron code is... new, you will have to use 1.8.0 instead of 1.7.3 
in your dependency.
Your dependency looks good to me and with 1.8.0 it will include both v2 and 
v2_0: v2_0 is deprecated (making sure we don't break people's code).
Thanks!
-Zack

From: Jeffrey Nguyen (jeffrngu) [jeffr...@cisco.commailto:jeffr...@cisco.com]
Sent: Wednesday, August 13, 2014 11:48 PM
To: user@jclouds.apache.orgmailto:user@jclouds.apache.org
Subject: Re: How to get reference to NeutronApi from ComputeServiceContext

Hi Zack,

I looked at the application code again.  It turns out that endpoint can be 
obtained at the application level as one of the properties of the underline 
Iaas provider.   So I'm good on this one.
Question on the version v2: which version of jclouds have this?   I'm using 
jclouds 1.7.1 and plan to introduce just the neutron dependency below and not 
upgrading jclouds.   Will that work or does neutron have other dependencies 
that require upgrading jclouds?   Also, is the version below correct for using 
v2 instead of v2_0?

dependency
groupIdorg.apache.jclouds.labs/groupId
artifactIdopenstack-neutron/artifactId
version1.7.3/version
/dependency

Thanks,

-Jeffrey

From: jeffrngu jeffr...@cisco.commailto:jeffr...@cisco.com
Reply-To: user@jclouds.apache.orgmailto:user@jclouds.apache.org 
user@jclouds.apache.orgmailto:user@jclouds.apache.org
Date: Wednesday, August 13, 2014 9:32 PM
To: user@jclouds.apache.orgmailto:user@jclouds.apache.org 
user@jclouds.apache.orgmailto:user@jclouds.apache.org
Subject: Re: How to get reference to NeutronApi from ComputeServiceContext


Thanks Zack.  I'm familiar with the method to get NeutronApi you mentioned.   
The problem is I can get credentials  but I'm not sure how to get the value for 
endpoint from the existing ComputeServiceContext.   Any idea?

-Jeffrey

From: Zack Shoylev 
zack.shoy...@rackspace.commailto:zack.shoy...@rackspace.com
Reply-To: user@jclouds.apache.orgmailto:user@jclouds.apache.org 
user@jclouds.apache.orgmailto:user@jclouds.apache.org
Date: Wednesday, August 13, 2014 6:41 PM
To: user@jclouds.apache.orgmailto:user@jclouds.apache.org 
user@jclouds.apache.orgmailto:user@jclouds.apache.org
Subject: RE: How to get reference to NeutronApi from ComputeServiceContext

Hi Jeffrey,

There is no NeutronAsyncApi, just a NeutronApi. Use neutron version v2 (instead 
of v2_0) from labs.

You should be able to do something like:
NeutronApi neutronApi = ContextBuilder.newBuilder(openstack-neutron)
.credentials(username, password).endpoint(endpoint).buildApi(NeutronApi.class);

The code you are referring to is unwrapping a provider-specific implementation 
of compute from the compute abstraction layer. At the moment, jclouds has no 
networking abstraction layer, so you get to use neutron directly.

Let me know if this helps or if you need more info.
-Zack

From: Jeffrey Nguyen (jeffrngu) [jeffr...@cisco.commailto:jeffr...@cisco.com]
Sent: Wednesday, August 13, 2014 5:09 PM
To: user@jclouds.apache.orgmailto:user@jclouds.apache.org; 
d...@jclouds.apache.orgmailto:d...@jclouds.apache.org
Subject: How to get reference to NeutronApi from ComputeServiceContext


Hi,

I'm not sure whether this should be sent to user or dev aliases, so I'm 
including both.

I'm trying to access neutron API from an existing ComputeServiceContext.   This 
context was created with the openstack-nova provider.   For the neutron API, 
my understanding is the provider need to be set to openstack-neutron.   My 
question is how to get a reference to neutron API given an existing 
ComputeServiceContext that was created for openstack-nova.

Below is the code I see for getting reference to NovaApi from 
ComputeServiceContext.   Is there something similar for NeutronApi?   I checked 
jclouds lab code and there is NeutronApi but there isn't a NeutronAsyncApi.


ComputeServiceContext context;

RestContextNovaApi, NovaAsyncApi nova = context.unwrap();


Thanks,

-Jeffrey