[jira] [Updated] (JCLOUDS-836) Support for the GAE

2015-03-04 Thread Andrew Gaul (JIRA)

 [ 
https://issues.apache.org/jira/browse/JCLOUDS-836?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Andrew Gaul updated JCLOUDS-836:

Description: 
Hello.

I've been digging a long time, both using the v1.8.1 and the v2.0.0-SNAPSHOT, 
and found no way to jclouds BlobStore to work on the current GAE Java flavor 
v1.9.18.

When attempting to use the BlobStore.putBlob() method, I get this

{noformat}
java.lang.SecurityException: java.lang.IllegalAccessException: Reflection is 
not allowed on java.lang.String(int,int,char[])
at com.google.appengine.runtime.Request.process-6c82fef5146f94d9(Request.java)
at java.lang.reflect.Constructor.setAccessible(Constructor.java:40)
at org.jclouds.reflect.Reflection2$1.load(Reflection2.java:156)
at org.jclouds.reflect.Reflection2$1.load(Reflection2.java:152)
at 
com.google.common.cache.LocalCache$LoadingValueReference.loadFuture(LocalCache.java:3527)
at com.google.common.cache.LocalCache$Segment.loadSync(LocalCache.java:2319)
at 
com.google.common.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2282)
at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2197)
at com.google.common.cache.LocalCache.get(LocalCache.java:3937)
at com.google.common.cache.LocalCache.getOrLoad(LocalCache.java:3941)
at 
com.google.common.cache.LocalCache$LocalLoadingCache.get(LocalCache.java:4824)
at org.jclouds.reflect.Reflection2.get(Reflection2.java:345)
at org.jclouds.reflect.Reflection2.constructors(Reflection2.java:99)
at 
org.jclouds.json.internal.NamingStrategies$AnnotationConstructorNamingStrategy.getDeserializer(NamingStrategies.java:248)
at 
org.jclouds.json.internal.DeserializationConstructorAndReflectiveTypeAdapterFactory.create(DeserializationConstructorAndReflectiveTypeAdapterFactory.java:122)
at com.google.gson.Gson.getAdapter(Gson.java:358)
at 
com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.getFieldAdapter(ReflectiveTypeAdapterFactory.java:109)
at 
com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.access$100(ReflectiveTypeAdapterFactory.java:46)
at 
com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$1.init(ReflectiveTypeAdapterFactory.java:84)
at 
com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.createBoundField(ReflectiveTypeAdapterFactory.java:83)
at 
com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.getBoundFields(ReflectiveTypeAdapterFactory.java:129)
at 
com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.create(ReflectiveTypeAdapterFactory.java:75)
at com.google.gson.Gson.getAdapter(Gson.java:358)
at com.google.gson.Gson.toJson(Gson.java:587)
at com.google.gson.Gson.toJson(Gson.java:574)
at com.google.gson.Gson.toJson(Gson.java:529)
at com.google.gson.Gson.toJson(Gson.java:509)
at org.jclouds.json.internal.GsonWrapper.toJson(GsonWrapper.java:52)
at 
org.jclouds.googlecloudstorage.binders.MultipartUploadBinder.bindToRequest(MultipartUploadBinder.java:53)
at 
org.jclouds.rest.internal.RestAnnotationProcessor.apply(RestAnnotationProcessor.java:324)
at 
org.jclouds.rest.internal.RestAnnotationProcessor.apply(RestAnnotationProcessor.java:129)
at 
org.jclouds.rest.internal.InvokeHttpMethod.toCommand(InvokeHttpMethod.java:188)
at org.jclouds.rest.internal.InvokeHttpMethod.invoke(InvokeHttpMethod.java:84)
at org.jclouds.rest.internal.InvokeHttpMethod.apply(InvokeHttpMethod.java:73)
at org.jclouds.rest.internal.InvokeHttpMethod.apply(InvokeHttpMethod.java:44)
at 
org.jclouds.reflect.FunctionalReflection$FunctionalInvocationHandler.handleInvocation(FunctionalReflection.java:117)
at 
com.google.common.reflect.AbstractInvocationHandler.invoke(AbstractInvocationHandler.java:87)
at com.sun.proxy.$Proxy62.multipartUpload(Unknown Source)
at 
org.jclouds.googlecloudstorage.blobstore.GoogleCloudStorageBlobStore.putBlob(GoogleCloudStorageBlobStore.java:224)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:45)
at 
com.google.inject.internal.DelegatingInvocationHandler.invoke(DelegatingInvocationHandler.java:37)
at com.sun.proxy.$Proxy60.putBlob(Unknown Source)
{noformat}

exception (this one was caused using jclouds v2.0.0-SNAPSHOT).

I've seen that there has been initiatives to have jclouds working on the GAE in 
the past, but would like to know if this is still on the roadmap. Any help 
which shows how to have jclouds BlobStore working on GAE is very welcome.

Thank you for your support.

  was:
Hello.

I've been digging a long time, both using the v1.8.1 and the v2.0.0-SNAPSHOT, 
and found no way to jclouds BlobStore to work on the current GAE Java flavor 
v1.9.18.

When attempting to use the BlobStore.putBlob() method, I get this


java.lang.SecurityException: java.lang.IllegalAccessException: Reflection is 
not allowed on 

[jira] [Commented] (JCLOUDS-836) Support for the GAE

2015-03-04 Thread Andrew Gaul (JIRA)

[ 
https://issues.apache.org/jira/browse/JCLOUDS-836?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14347123#comment-14347123
 ] 

Andrew Gaul commented on JCLOUDS-836:
-

Can you try testing this with another BlobStore provider, e.g., aws-s3?  This 
could help us narrow the issue from all GAE support to just the GCS provider.

 Support for the GAE
 ---

 Key: JCLOUDS-836
 URL: https://issues.apache.org/jira/browse/JCLOUDS-836
 Project: jclouds
  Issue Type: Bug
  Components: jclouds-blobstore, jclouds-core, jclouds-drivers
Affects Versions: 1.8.1
 Environment: When running jclouds on the Google App Engine (v1.9.18), 
 the BlobStore API cannot work.
Reporter: Edouard Mercier
  Labels: gae

 Hello.
 I've been digging a long time, both using the v1.8.1 and the v2.0.0-SNAPSHOT, 
 and found no way to jclouds BlobStore to work on the current GAE Java flavor 
 v1.9.18.
 When attempting to use the BlobStore.putBlob() method, I get this
 {noformat}
 java.lang.SecurityException: java.lang.IllegalAccessException: Reflection is 
 not allowed on java.lang.String(int,int,char[])
 at com.google.appengine.runtime.Request.process-6c82fef5146f94d9(Request.java)
 at java.lang.reflect.Constructor.setAccessible(Constructor.java:40)
 at org.jclouds.reflect.Reflection2$1.load(Reflection2.java:156)
 at org.jclouds.reflect.Reflection2$1.load(Reflection2.java:152)
 at 
 com.google.common.cache.LocalCache$LoadingValueReference.loadFuture(LocalCache.java:3527)
 at com.google.common.cache.LocalCache$Segment.loadSync(LocalCache.java:2319)
 at 
 com.google.common.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2282)
 at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2197)
 at com.google.common.cache.LocalCache.get(LocalCache.java:3937)
 at com.google.common.cache.LocalCache.getOrLoad(LocalCache.java:3941)
 at 
 com.google.common.cache.LocalCache$LocalLoadingCache.get(LocalCache.java:4824)
 at org.jclouds.reflect.Reflection2.get(Reflection2.java:345)
 at org.jclouds.reflect.Reflection2.constructors(Reflection2.java:99)
 at 
 org.jclouds.json.internal.NamingStrategies$AnnotationConstructorNamingStrategy.getDeserializer(NamingStrategies.java:248)
 at 
 org.jclouds.json.internal.DeserializationConstructorAndReflectiveTypeAdapterFactory.create(DeserializationConstructorAndReflectiveTypeAdapterFactory.java:122)
 at com.google.gson.Gson.getAdapter(Gson.java:358)
 at 
 com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.getFieldAdapter(ReflectiveTypeAdapterFactory.java:109)
 at 
 com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.access$100(ReflectiveTypeAdapterFactory.java:46)
 at 
 com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$1.init(ReflectiveTypeAdapterFactory.java:84)
 at 
 com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.createBoundField(ReflectiveTypeAdapterFactory.java:83)
 at 
 com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.getBoundFields(ReflectiveTypeAdapterFactory.java:129)
 at 
 com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.create(ReflectiveTypeAdapterFactory.java:75)
 at com.google.gson.Gson.getAdapter(Gson.java:358)
 at com.google.gson.Gson.toJson(Gson.java:587)
 at com.google.gson.Gson.toJson(Gson.java:574)
 at com.google.gson.Gson.toJson(Gson.java:529)
 at com.google.gson.Gson.toJson(Gson.java:509)
 at org.jclouds.json.internal.GsonWrapper.toJson(GsonWrapper.java:52)
 at 
 org.jclouds.googlecloudstorage.binders.MultipartUploadBinder.bindToRequest(MultipartUploadBinder.java:53)
 at 
 org.jclouds.rest.internal.RestAnnotationProcessor.apply(RestAnnotationProcessor.java:324)
 at 
 org.jclouds.rest.internal.RestAnnotationProcessor.apply(RestAnnotationProcessor.java:129)
 at 
 org.jclouds.rest.internal.InvokeHttpMethod.toCommand(InvokeHttpMethod.java:188)
 at org.jclouds.rest.internal.InvokeHttpMethod.invoke(InvokeHttpMethod.java:84)
 at org.jclouds.rest.internal.InvokeHttpMethod.apply(InvokeHttpMethod.java:73)
 at org.jclouds.rest.internal.InvokeHttpMethod.apply(InvokeHttpMethod.java:44)
 at 
 org.jclouds.reflect.FunctionalReflection$FunctionalInvocationHandler.handleInvocation(FunctionalReflection.java:117)
 at 
 com.google.common.reflect.AbstractInvocationHandler.invoke(AbstractInvocationHandler.java:87)
 at com.sun.proxy.$Proxy62.multipartUpload(Unknown Source)
 at 
 org.jclouds.googlecloudstorage.blobstore.GoogleCloudStorageBlobStore.putBlob(GoogleCloudStorageBlobStore.java:224)
 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
 at 
 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
 at 
 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
 at java.lang.reflect.Method.invoke(Method.java:45)
 at 
 

[jira] [Updated] (JCLOUDS-836) Support for the GAE

2015-03-04 Thread Andrew Gaul (JIRA)

 [ 
https://issues.apache.org/jira/browse/JCLOUDS-836?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Andrew Gaul updated JCLOUDS-836:

Affects Version/s: (was: 2.0.0)

 Support for the GAE
 ---

 Key: JCLOUDS-836
 URL: https://issues.apache.org/jira/browse/JCLOUDS-836
 Project: jclouds
  Issue Type: Bug
  Components: jclouds-blobstore, jclouds-core, jclouds-drivers
Affects Versions: 1.8.1
 Environment: When running jclouds on the Google App Engine (v1.9.18), 
 the BlobStore API cannot work.
Reporter: Edouard Mercier
  Labels: gae

 Hello.
 I've been digging a long time, both using the v1.8.1 and the v2.0.0-SNAPSHOT, 
 and found no way to jclouds BlobStore to work on the current GAE Java flavor 
 v1.9.18.
 When attempting to use the BlobStore.putBlob() method, I get this
 {noformat}
 java.lang.SecurityException: java.lang.IllegalAccessException: Reflection is 
 not allowed on java.lang.String(int,int,char[])
 at com.google.appengine.runtime.Request.process-6c82fef5146f94d9(Request.java)
 at java.lang.reflect.Constructor.setAccessible(Constructor.java:40)
 at org.jclouds.reflect.Reflection2$1.load(Reflection2.java:156)
 at org.jclouds.reflect.Reflection2$1.load(Reflection2.java:152)
 at 
 com.google.common.cache.LocalCache$LoadingValueReference.loadFuture(LocalCache.java:3527)
 at com.google.common.cache.LocalCache$Segment.loadSync(LocalCache.java:2319)
 at 
 com.google.common.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2282)
 at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2197)
 at com.google.common.cache.LocalCache.get(LocalCache.java:3937)
 at com.google.common.cache.LocalCache.getOrLoad(LocalCache.java:3941)
 at 
 com.google.common.cache.LocalCache$LocalLoadingCache.get(LocalCache.java:4824)
 at org.jclouds.reflect.Reflection2.get(Reflection2.java:345)
 at org.jclouds.reflect.Reflection2.constructors(Reflection2.java:99)
 at 
 org.jclouds.json.internal.NamingStrategies$AnnotationConstructorNamingStrategy.getDeserializer(NamingStrategies.java:248)
 at 
 org.jclouds.json.internal.DeserializationConstructorAndReflectiveTypeAdapterFactory.create(DeserializationConstructorAndReflectiveTypeAdapterFactory.java:122)
 at com.google.gson.Gson.getAdapter(Gson.java:358)
 at 
 com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.getFieldAdapter(ReflectiveTypeAdapterFactory.java:109)
 at 
 com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.access$100(ReflectiveTypeAdapterFactory.java:46)
 at 
 com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$1.init(ReflectiveTypeAdapterFactory.java:84)
 at 
 com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.createBoundField(ReflectiveTypeAdapterFactory.java:83)
 at 
 com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.getBoundFields(ReflectiveTypeAdapterFactory.java:129)
 at 
 com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.create(ReflectiveTypeAdapterFactory.java:75)
 at com.google.gson.Gson.getAdapter(Gson.java:358)
 at com.google.gson.Gson.toJson(Gson.java:587)
 at com.google.gson.Gson.toJson(Gson.java:574)
 at com.google.gson.Gson.toJson(Gson.java:529)
 at com.google.gson.Gson.toJson(Gson.java:509)
 at org.jclouds.json.internal.GsonWrapper.toJson(GsonWrapper.java:52)
 at 
 org.jclouds.googlecloudstorage.binders.MultipartUploadBinder.bindToRequest(MultipartUploadBinder.java:53)
 at 
 org.jclouds.rest.internal.RestAnnotationProcessor.apply(RestAnnotationProcessor.java:324)
 at 
 org.jclouds.rest.internal.RestAnnotationProcessor.apply(RestAnnotationProcessor.java:129)
 at 
 org.jclouds.rest.internal.InvokeHttpMethod.toCommand(InvokeHttpMethod.java:188)
 at org.jclouds.rest.internal.InvokeHttpMethod.invoke(InvokeHttpMethod.java:84)
 at org.jclouds.rest.internal.InvokeHttpMethod.apply(InvokeHttpMethod.java:73)
 at org.jclouds.rest.internal.InvokeHttpMethod.apply(InvokeHttpMethod.java:44)
 at 
 org.jclouds.reflect.FunctionalReflection$FunctionalInvocationHandler.handleInvocation(FunctionalReflection.java:117)
 at 
 com.google.common.reflect.AbstractInvocationHandler.invoke(AbstractInvocationHandler.java:87)
 at com.sun.proxy.$Proxy62.multipartUpload(Unknown Source)
 at 
 org.jclouds.googlecloudstorage.blobstore.GoogleCloudStorageBlobStore.putBlob(GoogleCloudStorageBlobStore.java:224)
 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
 at 
 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
 at 
 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
 at java.lang.reflect.Method.invoke(Method.java:45)
 at 
 com.google.inject.internal.DelegatingInvocationHandler.invoke(DelegatingInvocationHandler.java:37)
 at com.sun.proxy.$Proxy60.putBlob(Unknown Source)
 {noformat}
 exception (this one was caused using jclouds v2.0.0-SNAPSHOT).
 I've seen that there has been 

[jira] [Updated] (JCLOUDS-836) Support for the GAE

2015-03-04 Thread Andrew Gaul (JIRA)

 [ 
https://issues.apache.org/jira/browse/JCLOUDS-836?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Andrew Gaul updated JCLOUDS-836:

Labels: gae  (was: )

 Support for the GAE
 ---

 Key: JCLOUDS-836
 URL: https://issues.apache.org/jira/browse/JCLOUDS-836
 Project: jclouds
  Issue Type: Bug
  Components: jclouds-blobstore, jclouds-core, jclouds-drivers
Affects Versions: 1.8.1
 Environment: When running jclouds on the Google App Engine (v1.9.18), 
 the BlobStore API cannot work.
Reporter: Edouard Mercier
  Labels: gae

 Hello.
 I've been digging a long time, both using the v1.8.1 and the v2.0.0-SNAPSHOT, 
 and found no way to jclouds BlobStore to work on the current GAE Java flavor 
 v1.9.18.
 When attempting to use the BlobStore.putBlob() method, I get this
 {noformat}
 java.lang.SecurityException: java.lang.IllegalAccessException: Reflection is 
 not allowed on java.lang.String(int,int,char[])
 at com.google.appengine.runtime.Request.process-6c82fef5146f94d9(Request.java)
 at java.lang.reflect.Constructor.setAccessible(Constructor.java:40)
 at org.jclouds.reflect.Reflection2$1.load(Reflection2.java:156)
 at org.jclouds.reflect.Reflection2$1.load(Reflection2.java:152)
 at 
 com.google.common.cache.LocalCache$LoadingValueReference.loadFuture(LocalCache.java:3527)
 at com.google.common.cache.LocalCache$Segment.loadSync(LocalCache.java:2319)
 at 
 com.google.common.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2282)
 at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2197)
 at com.google.common.cache.LocalCache.get(LocalCache.java:3937)
 at com.google.common.cache.LocalCache.getOrLoad(LocalCache.java:3941)
 at 
 com.google.common.cache.LocalCache$LocalLoadingCache.get(LocalCache.java:4824)
 at org.jclouds.reflect.Reflection2.get(Reflection2.java:345)
 at org.jclouds.reflect.Reflection2.constructors(Reflection2.java:99)
 at 
 org.jclouds.json.internal.NamingStrategies$AnnotationConstructorNamingStrategy.getDeserializer(NamingStrategies.java:248)
 at 
 org.jclouds.json.internal.DeserializationConstructorAndReflectiveTypeAdapterFactory.create(DeserializationConstructorAndReflectiveTypeAdapterFactory.java:122)
 at com.google.gson.Gson.getAdapter(Gson.java:358)
 at 
 com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.getFieldAdapter(ReflectiveTypeAdapterFactory.java:109)
 at 
 com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.access$100(ReflectiveTypeAdapterFactory.java:46)
 at 
 com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$1.init(ReflectiveTypeAdapterFactory.java:84)
 at 
 com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.createBoundField(ReflectiveTypeAdapterFactory.java:83)
 at 
 com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.getBoundFields(ReflectiveTypeAdapterFactory.java:129)
 at 
 com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.create(ReflectiveTypeAdapterFactory.java:75)
 at com.google.gson.Gson.getAdapter(Gson.java:358)
 at com.google.gson.Gson.toJson(Gson.java:587)
 at com.google.gson.Gson.toJson(Gson.java:574)
 at com.google.gson.Gson.toJson(Gson.java:529)
 at com.google.gson.Gson.toJson(Gson.java:509)
 at org.jclouds.json.internal.GsonWrapper.toJson(GsonWrapper.java:52)
 at 
 org.jclouds.googlecloudstorage.binders.MultipartUploadBinder.bindToRequest(MultipartUploadBinder.java:53)
 at 
 org.jclouds.rest.internal.RestAnnotationProcessor.apply(RestAnnotationProcessor.java:324)
 at 
 org.jclouds.rest.internal.RestAnnotationProcessor.apply(RestAnnotationProcessor.java:129)
 at 
 org.jclouds.rest.internal.InvokeHttpMethod.toCommand(InvokeHttpMethod.java:188)
 at org.jclouds.rest.internal.InvokeHttpMethod.invoke(InvokeHttpMethod.java:84)
 at org.jclouds.rest.internal.InvokeHttpMethod.apply(InvokeHttpMethod.java:73)
 at org.jclouds.rest.internal.InvokeHttpMethod.apply(InvokeHttpMethod.java:44)
 at 
 org.jclouds.reflect.FunctionalReflection$FunctionalInvocationHandler.handleInvocation(FunctionalReflection.java:117)
 at 
 com.google.common.reflect.AbstractInvocationHandler.invoke(AbstractInvocationHandler.java:87)
 at com.sun.proxy.$Proxy62.multipartUpload(Unknown Source)
 at 
 org.jclouds.googlecloudstorage.blobstore.GoogleCloudStorageBlobStore.putBlob(GoogleCloudStorageBlobStore.java:224)
 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
 at 
 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
 at 
 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
 at java.lang.reflect.Method.invoke(Method.java:45)
 at 
 com.google.inject.internal.DelegatingInvocationHandler.invoke(DelegatingInvocationHandler.java:37)
 at com.sun.proxy.$Proxy60.putBlob(Unknown Source)
 {noformat}
 exception (this one was caused using jclouds v2.0.0-SNAPSHOT).
 I've seen that there has been initiatives to 

[jira] [Updated] (JCLOUDS-829) NIO.2 FileSystem facade to BlobStore

2015-03-04 Thread Andrew Gaul (JIRA)

 [ 
https://issues.apache.org/jira/browse/JCLOUDS-829?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Andrew Gaul updated JCLOUDS-829:

Description: jclouds could provide a Java 7 NIO.2 {{FileSystem}} facade to 
{{BlobStore}} to enable non-jclouds applications to access blobstores.  Some 
operations will like writing via an {{OutputStream}} will require some 
rethinking since some blobstores, e.g., AWS-S3, require an explicit 
Content-Length before writing.  (was: jclouds could provide a Java 7 NIO.2 
{{FileSystem}} facade to {{BlobStore}} to enable non-jclouds applications to 
access blobstores.  Some operations will like writing via an {{OutputStream}} 
will require some rethinking since some blobstores, e.g., require an explicit 
Content-Length before writing.)

 NIO.2 FileSystem facade to BlobStore
 

 Key: JCLOUDS-829
 URL: https://issues.apache.org/jira/browse/JCLOUDS-829
 Project: jclouds
  Issue Type: New Feature
  Components: jclouds-blobstore
Affects Versions: 1.8.1
Reporter: Andrew Gaul
  Labels: gsoc2015

 jclouds could provide a Java 7 NIO.2 {{FileSystem}} facade to {{BlobStore}} 
 to enable non-jclouds applications to access blobstores.  Some operations 
 will like writing via an {{OutputStream}} will require some rethinking since 
 some blobstores, e.g., AWS-S3, require an explicit Content-Length before 
 writing.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


Re: [jclouds] add aws s3 signature v4 (#678)

2015-03-04 Thread Andrew Gaul
 +HttpRequest.Builder requestBuilder,
 +String method,
 +URI endpoint,
 +Payload payload
 +) {
 +InputStream payloadStream;
 +try {
 +payloadStream = usePayloadForQueryParameters(method, payload) ?
 +getQueryStringContent(endpoint)
 +: getPayloadContentWithoutQueryString(payload);
 +} catch (IOException e) {
 +throw new HttpException(Unable to open stream before calculate 
 AWS4 signature, e);
 +}
 +String contentSha256 = 
 base16().lowerCase().encode(hash(payloadStream));
 +try {
 +payloadStream.reset();

What happens when the payload is not repeatable?

---
Reply to this email directly or view it on GitHub:
https://github.com/jclouds/jclouds/pull/678/files#r25824362

Re: [jclouds-labs] JCLOUDS-702: JClouds ProfitBricks provider - ComputeServiceAdapter (#145)

2015-03-04 Thread Reijhanniel Jearl Campos
Hi @nacx !
So 11 of the live tests were green; the failed tests were related to the ssh 
flow like:
pre
org.jclouds.ssh.SshException: 
(root:pw[ca4cb85a391831b122e3277b88393d3f]@46.16.73.251:22) 
(root:pw[ca4cb85a391831b122e3277b88393d3f]@46.16.73.251:22) error acquiring 
ExecResponse(command=[rm /tmp/init-configure-jetty]) (out of retries - max 5): 
Read timed out
/pre
I tried to ssh to the said nodes, and it turns out that this was due to the 
operating system requesting a password change after logging in; thus, hanging 
for so long waiting for an input. It's a really weird behavior IMO, since I 
thought this was only applicable if I let the API generate it's own password. 
(I emailed PB tech support regards this.)

Assuming this was by design, my next step would be is to connect via SSH right 
away (to complete the prerequisites first) before returning the 
`NodeAndInitialCredentials`. I'm not sure if there are _hooks_ for something 
like this, but WDYT? Suggestions?

---
Reply to this email directly or view it on GitHub:
https://github.com/jclouds/jclouds-labs/pull/145#issuecomment-77312703

Re: [jclouds-labs] JCLOUDS-702: JClouds ProfitBricks provider - ComputeServiceAdapter (#145)

2015-03-04 Thread Reijhanniel Jearl Campos
[Live test 
results](https://gist.github.com/devcsrj/828e5be44a54f5217cbd/5c7509e5e20aa2ddb43dd48ca570b3ba9e1e8754)
`Tests run: 25, Failures: 4, Errors: 0, Skipped: 10` (48:46.720s, ugh.)

---
Reply to this email directly or view it on GitHub:
https://github.com/jclouds/jclouds-labs/pull/145#issuecomment-77311677

Re: [jclouds] add aws s3 signature v4 (#678)

2015-03-04 Thread Zhao Jin
 +HttpRequest.Builder requestBuilder,
 +String method,
 +URI endpoint,
 +Payload payload
 +) {
 +InputStream payloadStream;
 +try {
 +payloadStream = usePayloadForQueryParameters(method, payload) ?
 +getQueryStringContent(endpoint)
 +: getPayloadContentWithoutQueryString(payload);
 +} catch (IOException e) {
 +throw new HttpException(Unable to open stream before calculate 
 AWS4 signature, e);
 +}
 +String contentSha256 = 
 base16().lowerCase().encode(hash(payloadStream));
 +try {
 +payloadStream.reset();

payload stream use calculate content hash.
if can not be repeatable, the payload cannot append to http request body.


---
Reply to this email directly or view it on GitHub:
https://github.com/jclouds/jclouds/pull/678/files#r25842533

Re: [jclouds] adding attache detach interface to nova api (#697)

2015-03-04 Thread Limor Bortman-Stotland
HI @nacx 
Thanks For the quick response.
I fixed all the comments.
can you recheck?
Thanks 

---
Reply to this email directly or view it on GitHub:
https://github.com/jclouds/jclouds/pull/697#issuecomment-77317719

[jira] [Created] (JCLOUDS-836) Support for the GAE

2015-03-04 Thread Edouard Mercier (JIRA)
Edouard Mercier created JCLOUDS-836:
---

 Summary: Support for the GAE
 Key: JCLOUDS-836
 URL: https://issues.apache.org/jira/browse/JCLOUDS-836
 Project: jclouds
  Issue Type: Bug
  Components: jclouds-blobstore, jclouds-core, jclouds-drivers
Affects Versions: 1.8.1, 2.0.0
 Environment: When running jclouds on the Google App Engine (v1.9.18), 
the BlobStore API cannot work.
Reporter: Edouard Mercier


Hello.

I've been digging a long time, both using the v1.8.1 and the v2.0.0-SNAPSHOT, 
and found no way to jclouds BlobStore to work on the current GAE Java flavor 
v1.9.18.

When attempting to use the BlobStore.putBlob() method, I get this


java.lang.SecurityException: java.lang.IllegalAccessException: Reflection is 
not allowed on java.lang.String(int,int,char[])
at com.google.appengine.runtime.Request.process-6c82fef5146f94d9(Request.java)
at java.lang.reflect.Constructor.setAccessible(Constructor.java:40)
at org.jclouds.reflect.Reflection2$1.load(Reflection2.java:156)
at org.jclouds.reflect.Reflection2$1.load(Reflection2.java:152)
at 
com.google.common.cache.LocalCache$LoadingValueReference.loadFuture(LocalCache.java:3527)
at com.google.common.cache.LocalCache$Segment.loadSync(LocalCache.java:2319)
at 
com.google.common.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2282)
at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2197)
at com.google.common.cache.LocalCache.get(LocalCache.java:3937)
at com.google.common.cache.LocalCache.getOrLoad(LocalCache.java:3941)
at 
com.google.common.cache.LocalCache$LocalLoadingCache.get(LocalCache.java:4824)
at org.jclouds.reflect.Reflection2.get(Reflection2.java:345)
at org.jclouds.reflect.Reflection2.constructors(Reflection2.java:99)
at 
org.jclouds.json.internal.NamingStrategies$AnnotationConstructorNamingStrategy.getDeserializer(NamingStrategies.java:248)
at 
org.jclouds.json.internal.DeserializationConstructorAndReflectiveTypeAdapterFactory.create(DeserializationConstructorAndReflectiveTypeAdapterFactory.java:122)
at com.google.gson.Gson.getAdapter(Gson.java:358)
at 
com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.getFieldAdapter(ReflectiveTypeAdapterFactory.java:109)
at 
com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.access$100(ReflectiveTypeAdapterFactory.java:46)
at 
com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$1.init(ReflectiveTypeAdapterFactory.java:84)
at 
com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.createBoundField(ReflectiveTypeAdapterFactory.java:83)
at 
com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.getBoundFields(ReflectiveTypeAdapterFactory.java:129)
at 
com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.create(ReflectiveTypeAdapterFactory.java:75)
at com.google.gson.Gson.getAdapter(Gson.java:358)
at com.google.gson.Gson.toJson(Gson.java:587)
at com.google.gson.Gson.toJson(Gson.java:574)
at com.google.gson.Gson.toJson(Gson.java:529)
at com.google.gson.Gson.toJson(Gson.java:509)
at org.jclouds.json.internal.GsonWrapper.toJson(GsonWrapper.java:52)
at 
org.jclouds.googlecloudstorage.binders.MultipartUploadBinder.bindToRequest(MultipartUploadBinder.java:53)
at 
org.jclouds.rest.internal.RestAnnotationProcessor.apply(RestAnnotationProcessor.java:324)
at 
org.jclouds.rest.internal.RestAnnotationProcessor.apply(RestAnnotationProcessor.java:129)
at 
org.jclouds.rest.internal.InvokeHttpMethod.toCommand(InvokeHttpMethod.java:188)
at org.jclouds.rest.internal.InvokeHttpMethod.invoke(InvokeHttpMethod.java:84)
at org.jclouds.rest.internal.InvokeHttpMethod.apply(InvokeHttpMethod.java:73)
at org.jclouds.rest.internal.InvokeHttpMethod.apply(InvokeHttpMethod.java:44)
at 
org.jclouds.reflect.FunctionalReflection$FunctionalInvocationHandler.handleInvocation(FunctionalReflection.java:117)
at 
com.google.common.reflect.AbstractInvocationHandler.invoke(AbstractInvocationHandler.java:87)
at com.sun.proxy.$Proxy62.multipartUpload(Unknown Source)
at 
org.jclouds.googlecloudstorage.blobstore.GoogleCloudStorageBlobStore.putBlob(GoogleCloudStorageBlobStore.java:224)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:45)
at 
com.google.inject.internal.DelegatingInvocationHandler.invoke(DelegatingInvocationHandler.java:37)
at com.sun.proxy.$Proxy60.putBlob(Unknown Source)


exception (this one was caused using jclouds v2.0.0-SNAPSHOT).

I've seen that there has been initiatives to have jclouds working on the GAE in 
the past, but would like to know if this is still on the roadmap. Any help 
which shows how to have jclouds BlobStore working on GAE is very welcome.

Thank you for your support.



--
This message was sent by Atlassian 

Re: [jclouds-labs] JCLOUDS-702: JClouds ProfitBricks provider - ComputeServiceAdapter (#145)

2015-03-04 Thread Reijhanniel Jearl Campos
[Live test results](https://gist.github.com/devcsrj/828e5be44a54f5217cbd). 
`Status=FAILING`

---
Reply to this email directly or view it on GitHub:
https://github.com/jclouds/jclouds-labs/pull/145#issuecomment-77119191

Re: [jclouds-labs] JCLOUDS-702: JClouds ProfitBricks provider - ComputeServiceAdapter (#145)

2015-03-04 Thread Ignasi Barrera
 +  checkNotNull(from, Null image);
 +
 +  String desc = from.name();
 +  OsFamily osFamily = parseOsFamily(desc);
 +
 +  OperatingSystem os = OperatingSystem.builder()
 +   .description(osFamily.value())
 +   .family(osFamily)
 +   .version(parseVersion(desc))
 +   .is64Bit(is64Bit(desc))
 +   .build();
 +
 +  return new ImageBuilder()
 +   .ids(from.id())
 +   .name(desc)
 +   .location(mapLocation(from.location()))

The location hierarchy makes sense. jclouds, however, already provides the 
PROVIDER location through the `JustProvider` supplier. You can inject it in the 
DataCenterToLocation function and use it. Have a look at how 
[digitalocean](https://github.com/jclouds/jclouds-labs/blob/master/digitalocean/src/main/java/org/jclouds/digitalocean/compute/functions/RegionToLocation.java)
 does this.

Regarding the images that don't exist in all locations:

* The ComputeServiceAdapter must return each existing image, for each location. 
One image for each different location.
* The providerId of the image must be set to the *real* id of the image in the 
provider.
* The id of the image is the one jclouds will use to identify it (for example 
when calling the `geImage(id)` in the ComputeService or when using the 
`imageId` template option. If the same image id is available in multiple 
locations, usually providers encode the region in this field. Something like: 
us-west-1/image-id. If ids are unique it is ok to use the same id for the 
providerId and the id (what the `ids` method in the builder does). Otherwise 
you'll have to make the id field able to distinguish between each image in 
each region. You can have a look at how the OpenStack provider uses the 
[RegionAndId](https://github.com/jclouds/jclouds/blob/master/apis/openstack-nova/src/main/java/org/jclouds/openstack/nova/v2_0/domain/regionscoped/RegionAndId.java)
 class.
* Finally, if images are by default available in **all** locations, the 
location field should be left null, otherwise it should be set to the right 
location (region) instead of being set to the PROVIDER scoped one. You can do 
this by injecting the locations supplier here as you do in the 
`ServerToNodeMetadata` to find the location where the image is available. This 
assumes that the ComputeService returns one copy of the image for each location 
where it is available, so you can make sure you return there all you need to 
build this properly here.

---
Reply to this email directly or view it on GitHub:
https://github.com/jclouds/jclouds-labs/pull/145/files#r25766050

[jclouds-labs] [JCLOUDS-664] Fixing live test execution on Azure (#147)

2015-03-04 Thread Francesco Chicchiriccò
This PR is quite large because it was started when PR #135 was not merged yet.

The main purpose is to allow the successful execution of live tests with real 
Azure subscription, and contains several fixes.
You can view, comment on, or merge this pull request online at:

  https://github.com/jclouds/jclouds-labs/pull/147

-- Commit Summary --

  * AzureCompute: initial work to support ComputeServiceAdapter
  * [JCLOUDS-664] White noise: formatting
  * [JCLOUDS-664] Fixing Markdown titles
  * [JCLOUDS-664] Fixing Maven execution line
  * address comments
  * [JCLOUDS-664] allows live test executions as indicated in README.md
  * [JCLOUDS-664] Fixing live test execution: Location might contain values 
like as 'One;Two;Three'
  * [JCLOUDS-664] Merging PR #135
  * fix OsImageToImage
  * fixing some typos
  * fix checkstyle
  * [JCLOUDS-664] Missing @PathParam
  * [JCLOUDS-664] Merging PR #135
  * [JCLOUDS-664] Fixing duplicate dep
  * [JCLOUDS-664] Fixing plain tests execution
  * [JCLOUDS-664] Preliminary fixes for running live tests
  * random name generation + some inefficient concatenetions in logger removed
  * Merge remote-tracking branch 'upstream/master'
  * [JCLOUDS-664] fix VirtualMachineApiLiveTest
  * Merge branch 'master' of github.com:Tirasa/jclouds-labs
  * [JCLOUDS-664] fix Virtual natwork sites create/update test
  * Merge branch 'master' of github.com:Tirasa/jclouds-labs
  * [JCLOUDS-664] api-version increment
  * [JCLOUDS-664] More live test fixes
  * Merge branch 'master' of github.com:Tirasa/jclouds-labs
  * Merge remote-tracking branch 'upstream/master'
  * [JCLOUDS-664] Mergine PR #135
  * [JCLOUDS-664] AzureComputeServiceContextLiveTest  
AzureComputeServiceContextLiveTest working
  * [JCLOUDS-664] Fixing OSImageApiLiveTest
  * [JCLOUDS-664] Fixing AzureComputeSecurityGroupExtensionLiveTest
  * [JCLOUDS-664] fix handlers for deployment, role instances and virtual IPs
  * [JCLOUDS-664] fix live tests
  * [JCLOUDS-664] More IT fixes
  * [JCLOUDS-664] fix license header + some general fixes into live tests
  * [JCLOUDS-664] Minor cleanup

-- File Changes --

M azurecompute/README.md (8)
M azurecompute/pom.xml (35)
M azurecompute/src/main/java/org/jclouds/azurecompute/AzureComputeApi.java 
(171)
M 
azurecompute/src/main/java/org/jclouds/azurecompute/AzureComputeProviderMetadata.java
 (90)
M 
azurecompute/src/main/java/org/jclouds/azurecompute/AzureManagementApiMetadata.java
 (76)
M 
azurecompute/src/main/java/org/jclouds/azurecompute/binders/DeploymentParamsToXML.java
 (167)
M 
azurecompute/src/main/java/org/jclouds/azurecompute/binders/NetworkConfigurationToXML.java
 (59)
M 
azurecompute/src/main/java/org/jclouds/azurecompute/binders/NetworkSecurityGroupToXML.java
 (36)
M 
azurecompute/src/main/java/org/jclouds/azurecompute/binders/OSImageParamsToXML.java
 (31)
M 
azurecompute/src/main/java/org/jclouds/azurecompute/binders/RoleToXML.java (88)
M 
azurecompute/src/main/java/org/jclouds/azurecompute/binders/RuleToXML.java (38)
M 
azurecompute/src/main/java/org/jclouds/azurecompute/binders/StorageServiceParamsToXML.java
 (37)
M 
azurecompute/src/main/java/org/jclouds/azurecompute/compute/AzureComputeServiceAdapter.java
 (515)
M 
azurecompute/src/main/java/org/jclouds/azurecompute/compute/config/AzureComputeServiceContextModule.java
 (217)
M 
azurecompute/src/main/java/org/jclouds/azurecompute/compute/extensions/AzureComputeSecurityGroupExtension.java
 (827)
M 
azurecompute/src/main/java/org/jclouds/azurecompute/compute/functions/DeploymentToNodeMetadata.java
 (168)
M 
azurecompute/src/main/java/org/jclouds/azurecompute/compute/functions/LocationToLocation.java
 (37)
M 
azurecompute/src/main/java/org/jclouds/azurecompute/compute/functions/OSImageToImage.java
 (204)
M 
azurecompute/src/main/java/org/jclouds/azurecompute/compute/functions/RoleSizeToHardware.java
 (57)
M 
azurecompute/src/main/java/org/jclouds/azurecompute/compute/functions/internal/OperatingSystems.java
 (118)
M 
azurecompute/src/main/java/org/jclouds/azurecompute/compute/strategy/GetOrCreateStorageServiceAndVirtualNetworkThenCreateNodes.java
 (445)
M 
azurecompute/src/main/java/org/jclouds/azurecompute/config/AzureComputeHttpApiModule.java
 (50)
M 
azurecompute/src/main/java/org/jclouds/azurecompute/config/AzureComputeProperties.java
 (10)
M 
azurecompute/src/main/java/org/jclouds/azurecompute/domain/Availability.java 
(14)
M 
azurecompute/src/main/java/org/jclouds/azurecompute/domain/CloudService.java 
(134)
M 
azurecompute/src/main/java/org/jclouds/azurecompute/domain/DataVirtualHardDisk.java
 (124)
M 
azurecompute/src/main/java/org/jclouds/azurecompute/domain/Deployment.java (331)
M 
azurecompute/src/main/java/org/jclouds/azurecompute/domain/DeploymentParams.java
 (344)
M azurecompute/src/main/java/org/jclouds/azurecompute/domain/Disk.java (162)
M 

[jira] [Commented] (JCLOUDS-664) Azure compute support

2015-03-04 Thread JIRA

[ 
https://issues.apache.org/jira/browse/JCLOUDS-664?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14346868#comment-14346868
 ] 

Francesco Chicchiriccò commented on JCLOUDS-664:


Fixing live test execution (with real subscription): 
https://github.com/jclouds/jclouds-labs/pull/147

 Azure compute support
 -

 Key: JCLOUDS-664
 URL: https://issues.apache.org/jira/browse/JCLOUDS-664
 Project: jclouds
  Issue Type: New Feature
  Components: jclouds-compute, jclouds-labs
Affects Versions: 2.0.0
Reporter: Andrew Bayer
  Labels: azure
 Fix For: 2.0.0

 Attachments: JCLOUDS-664.patch


 So we've got a very old, very stale, very incomplete azure-management (a.k.a. 
 compute) implementation in labs. Let's actually modernize and finish that 
 thing. Azure is unquestionably the biggest cloud out there that we don't have 
 viable support for, so it's a really useful target.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Created] (JCLOUDS-837) Add support for operations on service certificates

2015-03-04 Thread fabio martelli (JIRA)
fabio martelli created JCLOUDS-837:
--

 Summary: Add support for operations on service certificates
 Key: JCLOUDS-837
 URL: https://issues.apache.org/jira/browse/JCLOUDS-837
 Project: jclouds
  Issue Type: Sub-task
  Components: jclouds-labs
Reporter: fabio martelli
 Fix For: 2.0.0


Implement support for operation at 
https://msdn.microsoft.com/en-us/library/azure/ee795178.aspx



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)