[jira] [Commented] (JCLOUDS-849) Add the live test that extends the BaseComputeServiceLiveTest

2015-03-24 Thread Ignasi Barrera (JIRA)

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

Ignasi Barrera commented on JCLOUDS-849:


The DeploymentApi calls are direct calls to the provider so unless the response 
already contains the CloudService information you won't be able to do that.

As you say, I see two options:

* Perform the call to retrieve the CloudService information in the 
transformation function, as you already said, or
* Change the ComputeService to return a DeploymentWithCloudService instead of 
a Deployment, and adapt the listNodes and getNode method to return such an 
object. You can make the calls you need in the adapter to populate that 
transport object with the fields you need.

 Add the live test that extends the BaseComputeServiceLiveTest
 -

 Key: JCLOUDS-849
 URL: https://issues.apache.org/jira/browse/JCLOUDS-849
 Project: jclouds
  Issue Type: Sub-task
  Components: jclouds-compute, jclouds-labs
Reporter: Ignasi Barrera
Assignee: fabio martelli
  Labels: azure
 Fix For: 2.0.0


 The BaseComputeServiceLiveTest provides the contract of the ComputeService 
 abstraction. All compute providers must have a test that extends the base one 
 with all live tests passing.
 An example implemention can be the DigitalOcean one:
 https://github.com/jclouds/jclouds-labs/blob/master/digitalocean/src/main/java/org/jclouds/digitalocean/compute/strategy/DigitalOceanComputeServiceAdapter.java



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


[jira] [Commented] (JCLOUDS-769) Upload blob from stream

2015-03-24 Thread Akos Hajnal (JIRA)

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

Akos Hajnal commented on JCLOUDS-769:
-

As far as I know, in S3, you can use part sizes less than 5MB as well (e.g., 
the last, fraction part uploaded can easily be even 1 byte-long), maybe 5MB 
is a good tradeoff. The content-length must be specified for the part only (its 
size) at uploading (because of PUT), and even uploaded parts may be of 
different lengths (I didn't try though). Moreover, in the case of output stream 
emulation, you don't have to do simultaneous uploads, you have the option to 
block output stream writes until the upload of the most recent part (buffer 
full) is done (if you want to save memory).

 Upload blob from stream
 ---

 Key: JCLOUDS-769
 URL: https://issues.apache.org/jira/browse/JCLOUDS-769
 Project: jclouds
  Issue Type: New Feature
  Components: jclouds-blobstore
Affects Versions: 1.8.1
Reporter: Akos Hajnal
  Labels: multipart, s3

 Dear Developers,
 It was not easy, but using S3 API, it was possible to upload a large blob 
 from stream - without knowing its size in advance (and storing all the data 
 locally). I found solutions using jclouds' aws-s3 specific API (some async 
 interface), but I really miss this feature from jclouds' general API.
 My dream is to have a method like:
 blob.getOutputStream() into which I can write as many data as I want, 
 which pushes data to the storage simultaneously until I close the stream.
 (When I used S3, I created a wrapper class extending OutputStream, which 
 initiates multipart upload, buffers data written to the output stream, writes 
 a part when the buffer is full, and finalizes multipart upload on stream 
 close.) 
 I don't know it is possible for all providers, but I really miss it...
 Thank you,
 Akos Hajnal



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


[jira] [Updated] (JCLOUDS-769) Upload blob from stream

2015-03-24 Thread Andrew Gaul (JIRA)

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

Andrew Gaul updated JCLOUDS-769:

Labels: multipart s3  (was: )

 Upload blob from stream
 ---

 Key: JCLOUDS-769
 URL: https://issues.apache.org/jira/browse/JCLOUDS-769
 Project: jclouds
  Issue Type: New Feature
  Components: jclouds-blobstore
Reporter: Akos Hajnal
  Labels: multipart, s3

 Dear Developers,
 It was not easy, but using S3 API, it was possible to upload a large blob 
 from stream - without knowing its size in advance (and storing all the data 
 locally). I found solutions using jclouds' aws-s3 specific API (some async 
 interface), but I really miss this feature from jclouds' general API.
 My dream is to have a method like:
 blob.getOutputStream() into which I can write as many data as I want, 
 which pushes data to the storage simultaneously until I close the stream.
 (When I used S3, I created a wrapper class extending OutputStream, which 
 initiates multipart upload, buffers data written to the output stream, writes 
 a part when the buffer is full, and finalizes multipart upload on stream 
 close.) 
 I don't know it is possible for all providers, but I really miss it...
 Thank you,
 Akos Hajnal



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


[jira] [Commented] (JCLOUDS-849) Add the live test that extends the BaseComputeServiceLiveTest

2015-03-24 Thread Bhathiya Supun (JIRA)

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

Bhathiya Supun commented on JCLOUDS-849:


Hi fabio,

I think there won't be any  conflict here as 
https://issues.apache.org/jira/browse/JCLOUDS-853 is on Create Operation and  
which involve DeploymentParams class than Deployment calss. Deployment class 
totally based on get deployment 
[https://msdn.microsoft.com/en-us/library/azure/ee460804.aspx] operation. 
Anyway I also think  getting CloudServiceProperties information in the 
transformation function would be the best possible option. 
BTW I have added cloud service properties support here 
https://github.com/jclouds/jclouds-labs/pull/155 if you need.

 Add the live test that extends the BaseComputeServiceLiveTest
 -

 Key: JCLOUDS-849
 URL: https://issues.apache.org/jira/browse/JCLOUDS-849
 Project: jclouds
  Issue Type: Sub-task
  Components: jclouds-compute, jclouds-labs
Reporter: Ignasi Barrera
Assignee: fabio martelli
  Labels: azure
 Fix For: 2.0.0


 The BaseComputeServiceLiveTest provides the contract of the ComputeService 
 abstraction. All compute providers must have a test that extends the base one 
 with all live tests passing.
 An example implemention can be the DigitalOcean one:
 https://github.com/jclouds/jclouds-labs/blob/master/digitalocean/src/main/java/org/jclouds/digitalocean/compute/strategy/DigitalOceanComputeServiceAdapter.java



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


[jira] [Updated] (JCLOUDS-769) Upload blob from stream

2015-03-24 Thread Andrew Gaul (JIRA)

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

Andrew Gaul updated JCLOUDS-769:

Affects Version/s: 1.8.1

 Upload blob from stream
 ---

 Key: JCLOUDS-769
 URL: https://issues.apache.org/jira/browse/JCLOUDS-769
 Project: jclouds
  Issue Type: New Feature
  Components: jclouds-blobstore
Affects Versions: 1.8.1
Reporter: Akos Hajnal
  Labels: multipart, s3

 Dear Developers,
 It was not easy, but using S3 API, it was possible to upload a large blob 
 from stream - without knowing its size in advance (and storing all the data 
 locally). I found solutions using jclouds' aws-s3 specific API (some async 
 interface), but I really miss this feature from jclouds' general API.
 My dream is to have a method like:
 blob.getOutputStream() into which I can write as many data as I want, 
 which pushes data to the storage simultaneously until I close the stream.
 (When I used S3, I created a wrapper class extending OutputStream, which 
 initiates multipart upload, buffers data written to the output stream, writes 
 a part when the buffer is full, and finalizes multipart upload on stream 
 close.) 
 I don't know it is possible for all providers, but I really miss it...
 Thank you,
 Akos Hajnal



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


[jira] [Commented] (JCLOUDS-849) Add the live test that extends the BaseComputeServiceLiveTest

2015-03-24 Thread fabio martelli (JIRA)

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

fabio martelli commented on JCLOUDS-849:


Hi Ignasi, thank you for your prompt reply.
Yes, you are right, I won't be able to change into DeploymentAPI. Sorry for the 
mistake.

I have taken a look into AzureComputeServiceAdapter about listNodes() and 
getNodes(). I could perform my changes into this class but I think that this 
won't be enogh since missing location comes from a deployment creation. 
Furthermore, I do think that this change will be in conflict with [~Bhash90] 
proposal (see JCLOUDS-853) so it would result in a waste of time.

Since you seems agree with the option 1, I will retrieve the CloudService 
information in the transformation function.

Thank you again for your very good support.


 Add the live test that extends the BaseComputeServiceLiveTest
 -

 Key: JCLOUDS-849
 URL: https://issues.apache.org/jira/browse/JCLOUDS-849
 Project: jclouds
  Issue Type: Sub-task
  Components: jclouds-compute, jclouds-labs
Reporter: Ignasi Barrera
Assignee: fabio martelli
  Labels: azure
 Fix For: 2.0.0


 The BaseComputeServiceLiveTest provides the contract of the ComputeService 
 abstraction. All compute providers must have a test that extends the base one 
 with all live tests passing.
 An example implemention can be the DigitalOcean one:
 https://github.com/jclouds/jclouds-labs/blob/master/digitalocean/src/main/java/org/jclouds/digitalocean/compute/strategy/DigitalOceanComputeServiceAdapter.java



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


[jira] [Commented] (JCLOUDS-849) Add the live test that extends the BaseComputeServiceLiveTest

2015-03-24 Thread fabio martelli (JIRA)

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

fabio martelli commented on JCLOUDS-849:


Hi, working on this issue I found a problem about deployment location 
retrieving: I need to populate NodeMetadata from a Deployment (see 
DeploymentToNodeMetadata class) but I cannot set location for the NodeMetadata 
because this information is at CloudService level but at Deployment's.

I can see two alternatives:

1. perform a second request (when needed) to retrieve CloudService properties 
(including location)

2. change DeploymentApi.get() method in order to 
 2.a retrieve cloudservice information with deployments embedded into
 2.b filter deployments set by name in order to retrieve the deployment with 
the given name
 2.c include location among Deployment properties

[~nacx], [~andreaturli], [~Bhash90], [~ilgrosso] what do you think? Please, let 
me know ASAP.

Best Regards.

 Add the live test that extends the BaseComputeServiceLiveTest
 -

 Key: JCLOUDS-849
 URL: https://issues.apache.org/jira/browse/JCLOUDS-849
 Project: jclouds
  Issue Type: Sub-task
  Components: jclouds-compute, jclouds-labs
Reporter: Ignasi Barrera
Assignee: fabio martelli
  Labels: azure
 Fix For: 2.0.0


 The BaseComputeServiceLiveTest provides the contract of the ComputeService 
 abstraction. All compute providers must have a test that extends the base one 
 with all live tests passing.
 An example implemention can be the DigitalOcean one:
 https://github.com/jclouds/jclouds-labs/blob/master/digitalocean/src/main/java/org/jclouds/digitalocean/compute/strategy/DigitalOceanComputeServiceAdapter.java



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


[jira] [Commented] (JCLOUDS-849) Add the live test that extends the BaseComputeServiceLiveTest

2015-03-24 Thread fabio martelli (JIRA)

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

fabio martelli commented on JCLOUDS-849:


Hi Bhathiya, the conflict would be on AzureComputeServiceAdapter.
I was referring to the change suggested by you: Change 
AzureComputeServiceAdapterVirtualMachine, RoleList,OSImage,Location.

Yes, the best option seems to be to get CloudService properties information in 
the transformation function. I need CloudService name instead.

Thank you for your support.

 Add the live test that extends the BaseComputeServiceLiveTest
 -

 Key: JCLOUDS-849
 URL: https://issues.apache.org/jira/browse/JCLOUDS-849
 Project: jclouds
  Issue Type: Sub-task
  Components: jclouds-compute, jclouds-labs
Reporter: Ignasi Barrera
Assignee: fabio martelli
  Labels: azure
 Fix For: 2.0.0


 The BaseComputeServiceLiveTest provides the contract of the ComputeService 
 abstraction. All compute providers must have a test that extends the base one 
 with all live tests passing.
 An example implemention can be the DigitalOcean one:
 https://github.com/jclouds/jclouds-labs/blob/master/digitalocean/src/main/java/org/jclouds/digitalocean/compute/strategy/DigitalOceanComputeServiceAdapter.java



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


[jira] [Commented] (JCLOUDS-769) Upload blob from stream

2015-03-24 Thread Andrew Gaul (JIRA)

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

Andrew Gaul commented on JCLOUDS-769:
-

This is tricky to implement since jclouds needs to satisfy Amazon's requirement 
for a Content-length per part.  Depending on the chosen part size, this can 
require 5 MB to 5 GB of memory per part and per simultaneous upload or spooling 
the stream to a temporary file on-disk, as s3distcp does.  Alternatively, we 
could expose the uploadPart method to the users who can do their own buffering 
and size computation.

 Upload blob from stream
 ---

 Key: JCLOUDS-769
 URL: https://issues.apache.org/jira/browse/JCLOUDS-769
 Project: jclouds
  Issue Type: New Feature
  Components: jclouds-blobstore
Affects Versions: 1.8.1
Reporter: Akos Hajnal
  Labels: multipart, s3

 Dear Developers,
 It was not easy, but using S3 API, it was possible to upload a large blob 
 from stream - without knowing its size in advance (and storing all the data 
 locally). I found solutions using jclouds' aws-s3 specific API (some async 
 interface), but I really miss this feature from jclouds' general API.
 My dream is to have a method like:
 blob.getOutputStream() into which I can write as many data as I want, 
 which pushes data to the storage simultaneously until I close the stream.
 (When I used S3, I created a wrapper class extending OutputStream, which 
 initiates multipart upload, buffers data written to the output stream, writes 
 a part when the buffer is full, and finalizes multipart upload on stream 
 close.) 
 I don't know it is possible for all providers, but I really miss it...
 Thank you,
 Akos Hajnal



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


Re: [jclouds-labs] BlobStore API for Orion based back-ends (#45)

2015-03-24 Thread Everett Toews
Thanks for the pull request but it's release week in jclouds and that means 
it's time to clean up the PR queue. This PR will be over 6 months old as of 
April 1. If you intend to continue work on it, please make a comment by April 
2. Otherwise it will be closed on April 3.

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

Re: [jclouds-site] Update compute.md (#130)

2015-03-24 Thread jclouds-commentator
  Go to 
http://8f9f01aa921ee2fd31c9-54b9bade39cf00b7396782e42750d03f.r67.cf5.rackcdn.com/
 to review your changes.

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

Re: [jclouds-site] Update aws.md (#129)

2015-03-24 Thread jclouds-commentator
  Go to 
http://2824a28fd3dd3fddcb8d-dbd2c979c28bf73721663176c4e36725.r61.cf5.rackcdn.com/
 to review your changes.

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

Re: [jclouds] Support for OpenStack OS-Services API (#573)

2015-03-24 Thread Everett Toews
Thanks for the pull request but it's release week in jclouds and that means 
it's time to clean up the PR queue. This PR will be over 6 months old as of 
April 1. If you intend to continue work on it, please make a comment by April 
2. Otherwise it will be closed on April 3.

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

Re: [jclouds] JCLOUDS-670 Option force no password when launching images on providers (#486)

2015-03-24 Thread Everett Toews
Thanks for the pull request but it's release week in jclouds and that means 
it's time to clean up the PR queue. This PR will be over 6 months old as of 
April 1. If you intend to continue work on it, please make a comment by April 
2. Otherwise it will be closed on April 3.

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

Re: [jclouds] Add support for Azure Copy Blob (#514)

2015-03-24 Thread Everett Toews
Thanks for the pull request but it's release week in jclouds and that means 
it's time to clean up the PR queue. This PR will be over 6 months old as of 
April 1. If you intend to continue work on it, please make a comment by April 
2. Otherwise it will be closed on April 3.

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

Re: [jclouds] Introduce BlobstoreCli (#487)

2015-03-24 Thread Everett Toews
Thanks for the pull request but it's release week in jclouds and that means 
it's time to clean up the PR queue. This PR will be over 6 months old as of 
April 1. If you intend to continue work on it, please make a comment by April 
2. Otherwise it will be closed on April 3.

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

Re: [jclouds] JCLOUDS-642: InternalUrl fallback (#462)

2015-03-24 Thread Everett Toews
Thanks for the pull request but it's release week in jclouds and that means 
it's time to clean up the PR queue. This PR will be over 6 months old as of 
April 1. If you intend to continue work on it, please make a comment by April 
2. Otherwise it will be closed on April 3.

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

Re: [jclouds] Token based authentication in openstack-keystone (#433)

2015-03-24 Thread Everett Toews
Thanks for the pull request but it's release week in jclouds and that means 
it's time to clean up the PR queue. This PR will be over 6 months old as of 
April 1. If you intend to continue work on it, please make a comment by April 
2. Otherwise it will be closed on April 3.

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

Re: [jclouds-examples] Add an example to create/delete/list Google Cloud Storage buckets. (#64)

2015-03-24 Thread Everett Toews
Thanks for the pull request but it's release week in jclouds and that means 
it's time to clean up the PR queue. This PR will be over 6 months old as of 
April 1. If you intend to continue work on it, please make a comment by April 
2. Otherwise it will be closed on April 3.

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

Re: [jclouds-examples] GCS-Example initial commit (#66)

2015-03-24 Thread Everett Toews
Thanks for the pull request but it's release week in jclouds and that means 
it's time to clean up the PR queue. This PR will be over 6 months old as of 
April 1. If you intend to continue work on it, please make a comment by April 
2. Otherwise it will be closed on April 3.

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

Re: [jclouds-labs-openstack] OS Ceilometer API support (#166)

2015-03-24 Thread Everett Toews
Thanks for the pull request but it's release week in jclouds and that means 
it's time to clean up the PR queue. This PR will be over 6 months old as of 
April 1. If you intend to continue work on it, please make a comment by April 
2. Otherwise it will be closed on April 3.

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

Re: [jclouds-examples] Simplify interface of Google examples and fix the name and comment of userName variable (#63)

2015-03-24 Thread Everett Toews
@demobox Can this be closed?

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

[jira] [Updated] (JCLOUDS-631) Slowdown of putBlob operation for the FileSystem provider

2015-03-24 Thread Andrew Gaul (JIRA)

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

Andrew Gaul updated JCLOUDS-631:

Labels: filesystem  (was: )

 Slowdown of putBlob operation for the FileSystem provider
 -

 Key: JCLOUDS-631
 URL: https://issues.apache.org/jira/browse/JCLOUDS-631
 Project: jclouds
  Issue Type: Bug
  Components: jclouds-blobstore
Affects Versions: 1.8.0
Reporter: Nikola Knezevic
Assignee: Andrew Gaul
  Labels: filesystem

 The following (incomplete) piece of code when run for the filesystem provider 
 and swift, for uploading a 1GB file shows 2-3x slowdown for the filesystem 
 provider.
 Note that the code only _writes_ through jclouds, there is no reading 
 involved.
 {code}
  public void sendLargeFilesOnlyJclouds() throws Exception
 {
 LOG.info(Working with {}, p);
 Environment env = 
 Environment.builder().setName(SomeName).addProperties(p).build();
 String providerName = env.getConnectionModules().get(0).getName();
 String provider = checkNotNull(env.getProperty(providerName + 
 .provider), new ICStoreException(No provider specified));
 Iterable? extends Module modules =
 ImmutableSet.of(
 new SLF4JLoggingModule()
 );
 if(provider.equals(s3))
 {
 provider = aws-s3;
 modules =
 ImmutableSet.Modulebuilder()
 .addAll(modules)
 .add(new ICStoreMultipartUploadModule())
 .build();
 }
 Properties properties = new Properties();
 // store provider credentials in properties
 properties.setProperty(provider + .identity, env.getProperty( 
 providerName + .identity, ));
 properties.setProperty(provider + .credential, 
 env.getProperty(providerName + .credential, ));
 properties.putAll(env.getPropertiesForModule(providerName));
 final BlobStoreContext blobStoreContext = 
 ContextBuilder.newBuilder(provider)
 .overrides(properties)
 .modules(modules)
 .buildView(BlobStoreContext.class);
 final BlobStore bs = blobStoreContext.getBlobStore();
 bs.createContainerInLocation(null, mycontainer);
 for (int i = 0; i  num_invocations; i++)
 {
 InputStream fis = new FakeInputStream(FAKE_IS_SEED, blobSize);
 Blob blob = bs.blobBuilder(myblob).payload(fis).build();
 LOG.info(Invocation number {}, i);
 long startTime = System.currentTimeMillis();
 bs.putBlob(mycontainer, blob);
 long stopTime = System.currentTimeMillis();
 LOG.info(Running time for one blob is {}, stopTime - startTime);
 }
 }
 {code}
 Where {{FakeInputStream}} is an input stream that produces a deterministic 
 output (though method {{read()}}, of a given size, and {{Environment}} is 
 just a smarter container for {{Properties}}.



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


Re: [jclouds-site] Update compute.md (#131)

2015-03-24 Thread Everett Toews
Merged.

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

[jira] [Updated] (JCLOUDS-847) S3 poor upload performance

2015-03-24 Thread Andrew Gaul (JIRA)

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

Andrew Gaul updated JCLOUDS-847:

Labels: performance  (was: )

 S3 poor upload performance
 --

 Key: JCLOUDS-847
 URL: https://issues.apache.org/jira/browse/JCLOUDS-847
 Project: jclouds
  Issue Type: Improvement
  Components: jclouds-drivers
Affects Versions: 1.8.1
 Environment: JDK 1.7.0_55, 64bit, Windows 7
 EU bucket, https
Reporter: Veit Guna
Priority: Minor
  Labels: performance
 Attachments: s3-upload-test.zip


 Hi.
 I'm using jclouds 1.8.1 together with the Apache HttpClient module to upload 
 files to S3. During tests, I encountered that upload performance is quite 
 poor in comparison to jets3t or windows tools like Cloudberry S3 Explorer.
 Sending a 10MB binary file on a cable connection (100mbit down/5mbit up), to 
 an EU bucket (https, default endpoints), from a Windows 7 machine (JDK 
 1.7.0_55, 64bit) gives the following results:
 jclouds: ~55 secs
 Amazon Java SDK: ~55 secs.
 jets3t: ~18 secs
 S3 Explorer: ~18 secs
 Using a faster connection upload time increased up to 200 seconds with 
 jclouds/Amazon SDK. The rest kept the same around 18 secs.
 So I wondered, where this difference comes from. I started digging into the 
 source code of jclouds, jets3t, httpclient and took a look at the network 
 packages which are send.
 Long story short: too small buffer sizes!
 Jclouds uses for the payload the default HttpEntities which HttpClient 
 provides. Such as FileEntity and InputStreamEntity. These are using an output 
 buffer size of hardcoded 4096 bytes.
 This seems no problem, when the available upload bandwidth is quite small, 
 but slows down the connection on bigger bandwidth - as it seems.
 For testing I simply created my own HttpClient module, based on the shipped 
 ones and made a simple change that adds a 128k buffer to the to-be-send 
 entity. The result is, that upload performance is now up to the other guys 
 like jets3t and S3 Explorer.
 Please find attached a small maven project that can be used demonstrate the 
 difference.
 To be honest, I'm not too deep into the jclouds code to provide a proper 
 patch, but my suggestion would be to provide an own (jclouds) implementation 
 of File- and InputStreamEntity that provide proper output buffer sizes. Maybe 
 with an option to overwrite them by configuration.
 I also tried the HttpClient http.socket.buffer-size, but that hadn't any 
 effect. Also the 2.0.0-SNAPSHOT version shows no difference.
 What do you guys think? Is this a known problem? Or are there other settings 
 to increase the upload performance?
 BTW: The same problem exists with the default 
 JavaUrlHttpCommandExecutorServiceModule which also
 uses a 4k buffer. Also tried the OkHttp driver with the same results (1.8.1, 
 2.0.0-SNAPHOT failed with an exception).
 Thanks!
 Veit



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


[jira] [Updated] (JCLOUDS-631) Slowdown of putBlob operation for the FileSystem provider

2015-03-24 Thread Andrew Gaul (JIRA)

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

Andrew Gaul updated JCLOUDS-631:

Labels: filesystem performance  (was: filesystem)

 Slowdown of putBlob operation for the FileSystem provider
 -

 Key: JCLOUDS-631
 URL: https://issues.apache.org/jira/browse/JCLOUDS-631
 Project: jclouds
  Issue Type: Bug
  Components: jclouds-blobstore
Affects Versions: 1.8.0
Reporter: Nikola Knezevic
Assignee: Andrew Gaul
  Labels: filesystem, performance

 The following (incomplete) piece of code when run for the filesystem provider 
 and swift, for uploading a 1GB file shows 2-3x slowdown for the filesystem 
 provider.
 Note that the code only _writes_ through jclouds, there is no reading 
 involved.
 {code}
  public void sendLargeFilesOnlyJclouds() throws Exception
 {
 LOG.info(Working with {}, p);
 Environment env = 
 Environment.builder().setName(SomeName).addProperties(p).build();
 String providerName = env.getConnectionModules().get(0).getName();
 String provider = checkNotNull(env.getProperty(providerName + 
 .provider), new ICStoreException(No provider specified));
 Iterable? extends Module modules =
 ImmutableSet.of(
 new SLF4JLoggingModule()
 );
 if(provider.equals(s3))
 {
 provider = aws-s3;
 modules =
 ImmutableSet.Modulebuilder()
 .addAll(modules)
 .add(new ICStoreMultipartUploadModule())
 .build();
 }
 Properties properties = new Properties();
 // store provider credentials in properties
 properties.setProperty(provider + .identity, env.getProperty( 
 providerName + .identity, ));
 properties.setProperty(provider + .credential, 
 env.getProperty(providerName + .credential, ));
 properties.putAll(env.getPropertiesForModule(providerName));
 final BlobStoreContext blobStoreContext = 
 ContextBuilder.newBuilder(provider)
 .overrides(properties)
 .modules(modules)
 .buildView(BlobStoreContext.class);
 final BlobStore bs = blobStoreContext.getBlobStore();
 bs.createContainerInLocation(null, mycontainer);
 for (int i = 0; i  num_invocations; i++)
 {
 InputStream fis = new FakeInputStream(FAKE_IS_SEED, blobSize);
 Blob blob = bs.blobBuilder(myblob).payload(fis).build();
 LOG.info(Invocation number {}, i);
 long startTime = System.currentTimeMillis();
 bs.putBlob(mycontainer, blob);
 long stopTime = System.currentTimeMillis();
 LOG.info(Running time for one blob is {}, stopTime - startTime);
 }
 }
 {code}
 Where {{FakeInputStream}} is an input stream that produces a deterministic 
 output (though method {{read()}}, of a given size, and {{Environment}} is 
 just a smarter container for {{Properties}}.



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


[jira] [Updated] (JCLOUDS-847) S3 poor upload performance

2015-03-24 Thread Andrew Gaul (JIRA)

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

Andrew Gaul updated JCLOUDS-847:

Priority: Major  (was: Minor)

 S3 poor upload performance
 --

 Key: JCLOUDS-847
 URL: https://issues.apache.org/jira/browse/JCLOUDS-847
 Project: jclouds
  Issue Type: Improvement
  Components: jclouds-drivers
Affects Versions: 1.8.1
 Environment: JDK 1.7.0_55, 64bit, Windows 7
 EU bucket, https
Reporter: Veit Guna
  Labels: performance
 Attachments: s3-upload-test.zip


 Hi.
 I'm using jclouds 1.8.1 together with the Apache HttpClient module to upload 
 files to S3. During tests, I encountered that upload performance is quite 
 poor in comparison to jets3t or windows tools like Cloudberry S3 Explorer.
 Sending a 10MB binary file on a cable connection (100mbit down/5mbit up), to 
 an EU bucket (https, default endpoints), from a Windows 7 machine (JDK 
 1.7.0_55, 64bit) gives the following results:
 jclouds: ~55 secs
 Amazon Java SDK: ~55 secs.
 jets3t: ~18 secs
 S3 Explorer: ~18 secs
 Using a faster connection upload time increased up to 200 seconds with 
 jclouds/Amazon SDK. The rest kept the same around 18 secs.
 So I wondered, where this difference comes from. I started digging into the 
 source code of jclouds, jets3t, httpclient and took a look at the network 
 packages which are send.
 Long story short: too small buffer sizes!
 Jclouds uses for the payload the default HttpEntities which HttpClient 
 provides. Such as FileEntity and InputStreamEntity. These are using an output 
 buffer size of hardcoded 4096 bytes.
 This seems no problem, when the available upload bandwidth is quite small, 
 but slows down the connection on bigger bandwidth - as it seems.
 For testing I simply created my own HttpClient module, based on the shipped 
 ones and made a simple change that adds a 128k buffer to the to-be-send 
 entity. The result is, that upload performance is now up to the other guys 
 like jets3t and S3 Explorer.
 Please find attached a small maven project that can be used demonstrate the 
 difference.
 To be honest, I'm not too deep into the jclouds code to provide a proper 
 patch, but my suggestion would be to provide an own (jclouds) implementation 
 of File- and InputStreamEntity that provide proper output buffer sizes. Maybe 
 with an option to overwrite them by configuration.
 I also tried the HttpClient http.socket.buffer-size, but that hadn't any 
 effect. Also the 2.0.0-SNAPSHOT version shows no difference.
 What do you guys think? Is this a known problem? Or are there other settings 
 to increase the upload performance?
 BTW: The same problem exists with the default 
 JavaUrlHttpCommandExecutorServiceModule which also
 uses a 4k buffer. Also tried the OkHttp driver with the same results (1.8.1, 
 2.0.0-SNAPHOT failed with an exception).
 Thanks!
 Veit



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


Re: [jclouds] Add copyBlob to portable abstraction and add S3-optimized variant (#511)

2015-03-24 Thread Everett Toews
Thanks for the pull request but it's release week in jclouds and that means 
it's time to clean up the PR queue. This PR will be over 6 months old as of 
April 1. If you intend to continue work on it, please make a comment by April 
2. Otherwise it will be closed on April 3.

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

Re: [jclouds] Updated the requests in unit test case to include globalIdentifier (#531)

2015-03-24 Thread Everett Toews
Thanks for the pull request but it's release week in jclouds and that means 
it's time to clean up the PR queue. This PR will be over 6 months old as of 
April 1. If you intend to continue work on it, please make a comment by April 
2. Otherwise it will be closed on April 3.

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

Re: [jclouds] Throw sane error if one of security groups is null (#515)

2015-03-24 Thread Everett Toews
Thanks for the pull request but it's release week in jclouds and that means 
it's time to clean up the PR queue. This PR will be over 6 months old as of 
April 1. If you intend to continue work on it, please make a comment by April 
2. Otherwise it will be closed on April 3.

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

Re: [jclouds-site] Update compute.md (#130)

2015-03-24 Thread Everett Toews
Thanks for the pull request but it's release week in jclouds and that means 
it's time to clean up the PR queue. This PR will be over 6 months old as of 
April 1. If you intend to continue work on it, please make a comment by April 
2. Otherwise it will be closed on April 3.

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

Re: [jclouds-karaf] JCLOUDS-635 Always check for container existence before uploading blobs. (#50)

2015-03-24 Thread Andrew Gaul
We should not address this with hacks in karaf.  We have a bunch of JIRA issues 
tracking these and should address it in core:

https://issues.apache.org/jira/browse/JCLOUDS-193
https://issues.apache.org/jira/browse/JCLOUDS-635
https://issues.apache.org/jira/browse/JCLOUDS-648
https://issues.apache.org/jira/browse/JCLOUDS-650

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

Re: [jclouds-site] Update aws.md (#129)

2015-03-24 Thread Everett Toews
Thanks for the pull request but it's release week in jclouds and that means 
it's time to clean up the PR queue. This PR will be over 6 months old as of 
April 1. If you intend to continue work on it, please make a comment by April 
2. Otherwise it will be closed on April 3.

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

Re: [jclouds-site] add softlayer getting started (#134)

2015-03-24 Thread Everett Toews
Thanks for the pull request but it's release week in jclouds and that means 
it's time to clean up the PR queue. This PR will be over 6 months old as of 
April 1. If you intend to continue work on it, please make a comment by April 
2. Otherwise it will be closed on April 3.

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

[jira] [Commented] (JCLOUDS-769) Upload blob from stream

2015-03-24 Thread Andrew Gaul (JIRA)

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

Andrew Gaul commented on JCLOUDS-769:
-

[~knl] You might want to push this for review as a strawman -- it might 
motivate progress on this important feature or at least give others a local 
workaround.  If we expose the part size and document the per-part buffering 
does this help users?  Personally I am inclined to expose portable 
initiateMPU/uploadPart/completeMPU/abortMPU operations and let people compose 
on top of those, although this suffers from explicit complexity.

 Upload blob from stream
 ---

 Key: JCLOUDS-769
 URL: https://issues.apache.org/jira/browse/JCLOUDS-769
 Project: jclouds
  Issue Type: New Feature
  Components: jclouds-blobstore
Affects Versions: 1.8.1
Reporter: Akos Hajnal
  Labels: multipart, s3

 Dear Developers,
 It was not easy, but using S3 API, it was possible to upload a large blob 
 from stream - without knowing its size in advance (and storing all the data 
 locally). I found solutions using jclouds' aws-s3 specific API (some async 
 interface), but I really miss this feature from jclouds' general API.
 My dream is to have a method like:
 blob.getOutputStream() into which I can write as many data as I want, 
 which pushes data to the storage simultaneously until I close the stream.
 (When I used S3, I created a wrapper class extending OutputStream, which 
 initiates multipart upload, buffers data written to the output stream, writes 
 a part when the buffer is full, and finalizes multipart upload on stream 
 close.) 
 I don't know it is possible for all providers, but I really miss it...
 Thank you,
 Akos Hajnal



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


Re: [jclouds] Expecting 2 of 3 or the first flaky test to succeed (#577)

2015-03-24 Thread Everett Toews
Thanks for the pull request but it's release week in jclouds and that means 
it's time to clean up the PR queue. This PR will be over 6 months old as of 
April 1. If you intend to continue work on it, please make a comment by April 
2. Otherwise it will be closed on April 3.

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

Re: [jclouds] Import rackspace-cloudfiles from labs (#565)

2015-03-24 Thread Everett Toews
Superseded by #705  

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

Re: [jclouds-examples] Add layer 7 load balancer examples. (#61)

2015-03-24 Thread Everett Toews
Thanks for the pull request but it's release week in jclouds and that means 
it's time to clean up the PR queue. This PR will be over 6 months old as of 
April 1. If you intend to continue work on it, please make a comment by April 
2. Otherwise it will be closed on April 3.

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

Re: [jclouds-karaf] JCLOUDS-85: Improving the creation of instance of PropertyShellTableFact... (#18)

2015-03-24 Thread Everett Toews
Thanks for the pull request but it's release week in jclouds and that means 
it's time to clean up the PR queue. This PR will be over 6 months old as of 
April 1. If you intend to continue work on it, please make a comment by April 
2. Otherwise it will be closed on April 3.

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

Re: [jclouds-labs] BlobStore API for Orion based back-ends (#45)

2015-03-24 Thread timur87
What do you mean by continue working on it? I assume you are not planning to 
merge it when we consider that the request is open since Nov 30, 2013. So does 
it make sense to continue working on it? 

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

Re: [jclouds] JCLOUDS-599 ability to execute function locally before initScript runs. (#406)

2015-03-24 Thread Everett Toews
Thanks for the pull request but it's release week in jclouds and that means 
it's time to clean up the PR queue. This PR will be over 6 months old as of 
April 1. If you intend to continue work on it, please make a comment by April 
2. Otherwise it will be closed on April 3.

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

Re: [jclouds-labs] JCLOUDS-664: Implemented Role represenstaion in API (#118)

2015-03-24 Thread Everett Toews
Thanks for the pull request but it's release week in jclouds and that means 
it's time to clean up the PR queue. This PR will be over 6 months old as of 
April 1. If you intend to continue work on it, please make a comment by April 
2. Otherwise it will be closed on April 3.

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

Re: [jclouds-labs-aws] JCLOUDS-750: Refactor glacier domain classes using @AutoValue (#64)

2015-03-24 Thread Everett Toews
Thanks for the pull request but it's release week in jclouds and that means 
it's time to clean up the PR queue. This PR will be over 6 months old as of 
April 1. If you intend to continue work on it, please make a comment by April 
2. Otherwise it will be closed on April 3.

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

Re: [jclouds-labs-aws] Prefer TestUtils.randomByteSource (#42)

2015-03-24 Thread Everett Toews
Thanks for the pull request but it's release week in jclouds and that means 
it's time to clean up the PR queue. This PR will be over 6 months old as of 
April 1. If you intend to continue work on it, please make a comment by April 
2. Otherwise it will be closed on April 3.

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

Re: [jclouds-karaf] JCLOUDS-716: Remove Rackspace First-Gen Cloud Servers (#63)

2015-03-24 Thread Everett Toews
If no one who knows Karaf cares to merge this, I'll just go ahead and close it 
on April 3. I'd rather close it unmerged than risk breaking Karaf in some weird 
way I'm not prepared to deal with.

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

Re: [jclouds-karaf] Separates parent and top level pom. (#22)

2015-03-24 Thread Everett Toews
Thanks for the pull request but it's release week in jclouds and that means 
it's time to clean up the PR queue. This PR will be over 6 months old as of 
April 1. If you intend to continue work on it, please make a comment by April 
2. Otherwise it will be closed on April 3.

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

Re: [jclouds-karaf] JCLOUDS-635 Always check for container existence before uploading blobs. (#50)

2015-03-24 Thread Everett Toews
Thanks for the pull request but it's release week in jclouds and that means 
it's time to clean up the PR queue. This PR will be over 6 months old as of 
April 1. If you intend to continue work on it, please make a comment by April 
2. Otherwise it will be closed on April 3.

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

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

2015-03-24 Thread Ignasi Barrera
@limorbortman Apologies for the lack of feedback. We're about releasing 1.9.0 
and the master branches are frozen. We expect to have it out by the end of the 
week, and we'll get back to the pending PRs.

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

[jira] [Commented] (JCLOUDS-769) Upload blob from stream

2015-03-24 Thread Nikola Knezevic (JIRA)

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

Nikola Knezevic commented on JCLOUDS-769:
-

So, I mad some rudimentary, local support for S3 streaming by implementing my 
own SequentialMPUStrategy, and injecting it. However, it is far from 
satisfactory and looks like a hack. This would be impossible to do w/o 
Sequential strategy. Now, I could push this code for a review, but I think in 
order to include it, we first need to change what jclouds expose to the user.

 Upload blob from stream
 ---

 Key: JCLOUDS-769
 URL: https://issues.apache.org/jira/browse/JCLOUDS-769
 Project: jclouds
  Issue Type: New Feature
  Components: jclouds-blobstore
Affects Versions: 1.8.1
Reporter: Akos Hajnal
  Labels: multipart, s3

 Dear Developers,
 It was not easy, but using S3 API, it was possible to upload a large blob 
 from stream - without knowing its size in advance (and storing all the data 
 locally). I found solutions using jclouds' aws-s3 specific API (some async 
 interface), but I really miss this feature from jclouds' general API.
 My dream is to have a method like:
 blob.getOutputStream() into which I can write as many data as I want, 
 which pushes data to the storage simultaneously until I close the stream.
 (When I used S3, I created a wrapper class extending OutputStream, which 
 initiates multipart upload, buffers data written to the output stream, writes 
 a part when the buffer is full, and finalizes multipart upload on stream 
 close.) 
 I don't know it is possible for all providers, but I really miss it...
 Thank you,
 Akos Hajnal



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


[jira] [Comment Edited] (JCLOUDS-769) Upload blob from stream

2015-03-24 Thread Nikola Knezevic (JIRA)

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

Nikola Knezevic edited comment on JCLOUDS-769 at 3/24/15 4:28 PM:
--

So, I made some rudimentary, local support for S3 (and Swift) streaming by 
implementing my own SequentialMPUStrategy, and injecting it. However, it is far 
from satisfactory and looks like a hack. This would be impossible to do w/o 
Sequential strategy. Now, I could push this code for a review, but I think in 
order to include it, we first need to change what jclouds expose to the user.


was (Author: knl):
So, I mad some rudimentary, local support for S3 streaming by implementing my 
own SequentialMPUStrategy, and injecting it. However, it is far from 
satisfactory and looks like a hack. This would be impossible to do w/o 
Sequential strategy. Now, I could push this code for a review, but I think in 
order to include it, we first need to change what jclouds expose to the user.

 Upload blob from stream
 ---

 Key: JCLOUDS-769
 URL: https://issues.apache.org/jira/browse/JCLOUDS-769
 Project: jclouds
  Issue Type: New Feature
  Components: jclouds-blobstore
Affects Versions: 1.8.1
Reporter: Akos Hajnal
  Labels: multipart, s3

 Dear Developers,
 It was not easy, but using S3 API, it was possible to upload a large blob 
 from stream - without knowing its size in advance (and storing all the data 
 locally). I found solutions using jclouds' aws-s3 specific API (some async 
 interface), but I really miss this feature from jclouds' general API.
 My dream is to have a method like:
 blob.getOutputStream() into which I can write as many data as I want, 
 which pushes data to the storage simultaneously until I close the stream.
 (When I used S3, I created a wrapper class extending OutputStream, which 
 initiates multipart upload, buffers data written to the output stream, writes 
 a part when the buffer is full, and finalizes multipart upload on stream 
 close.) 
 I don't know it is possible for all providers, but I really miss it...
 Thank you,
 Akos Hajnal



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


Re: [jclouds-labs] JClouds Profitbricks provider - LoadBalancer API (#143)

2015-03-24 Thread Matt Baldwin
@nacx No worries. Thanks. Good luck with the 1.9.0 release!

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

Re: [jclouds] Forwarding and read-only BlobStores (#713)

2015-03-24 Thread Andrew Gaul
 +
 +public abstract class ForwardingBlobStore extends ForwardingObject
 +  implements BlobStore {
 +   private final BlobStore blobStore;
 +
 +   public ForwardingBlobStore(BlobStore blobStore) {
 +  this.blobStore = checkNotNull(blobStore);
 +   }
 +
 +   protected BlobStore delegate() {
 +  return blobStore;
 +   }
 +
 +   @Override
 +   public BlobStoreContext getContext() {
 +  return delegate().getContext();

Note that there is an unintentional escape hatch from the `ForwardingObject`:

```java
BlobStore rwBlobStore = ...;
BlobStore roBlobStore = ReadOnlyBlobStore.newReadOnlyBlobStore(rwBlobStore);
roBlobStore.getContext().getBlobStore().putBlob(...);
```

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

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

2015-03-24 Thread Limor Bortman-Stotland
Hi @nacx, @everett-toews and @zack-shoylev 
can you please take a look?
Thanks

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

[jclouds] Forwarding and read-only BlobStores (#713)

2015-03-24 Thread Andrew Gaul

You can view, comment on, or merge this pull request online at:

  https://github.com/jclouds/jclouds/pull/713

-- Commit Summary --

  * Add ForwardingBlobStore
  * Add ReadOnlyBlobStore

-- File Changes --

A 
blobstore/src/main/java/org/jclouds/blobstore/util/ForwardingBlobStore.java 
(210)
A blobstore/src/main/java/org/jclouds/blobstore/util/ReadOnlyBlobStore.java 
(124)
M 
blobstore/src/test/java/org/jclouds/blobstore/util/BlobStoreUtilsTest.java (28)

-- Patch Links --

https://github.com/jclouds/jclouds/pull/713.patch
https://github.com/jclouds/jclouds/pull/713.diff

---
Reply to this email directly or view it on GitHub:
https://github.com/jclouds/jclouds/pull/713