[jira] [Updated] (JCLOUDS-836) Support for the GAE
[ 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
[ 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
[ 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
[ 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
[ 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)
+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)
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)
[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)
+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)
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
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)
[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)
+ 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)
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
[ 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
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)