You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jclouds.apache.org by ga...@apache.org on 2017/10/24 14:18:46 UTC
[1/3] jclouds git commit: JCLOUDS-1337: B2 putBlob portable storage
tiers
Repository: jclouds
Updated Branches:
refs/heads/master e0e3519ed -> c901bf3a0
JCLOUDS-1337: B2 putBlob portable storage tiers
Project: http://git-wip-us.apache.org/repos/asf/jclouds/repo
Commit: http://git-wip-us.apache.org/repos/asf/jclouds/commit/3193aa68
Tree: http://git-wip-us.apache.org/repos/asf/jclouds/tree/3193aa68
Diff: http://git-wip-us.apache.org/repos/asf/jclouds/diff/3193aa68
Branch: refs/heads/master
Commit: 3193aa68e80691356694fd0b2e0064e22f3f7866
Parents: f513bf7
Author: Andrew Gaul <ga...@apache.org>
Authored: Mon Oct 23 20:57:07 2017 -0700
Committer: Andrew Gaul <ga...@apache.org>
Committed: Mon Oct 23 21:31:48 2017 -0700
----------------------------------------------------------------------
.../org/jclouds/b2/blobstore/B2BlobStore.java | 2 ++
.../integration/B2BlobIntegrationLiveTest.java | 38 ++++++++++++++++++++
2 files changed, 40 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/jclouds/blob/3193aa68/providers/b2/src/main/java/org/jclouds/b2/blobstore/B2BlobStore.java
----------------------------------------------------------------------
diff --git a/providers/b2/src/main/java/org/jclouds/b2/blobstore/B2BlobStore.java b/providers/b2/src/main/java/org/jclouds/b2/blobstore/B2BlobStore.java
index 677f9c8..0aabe99 100644
--- a/providers/b2/src/main/java/org/jclouds/b2/blobstore/B2BlobStore.java
+++ b/providers/b2/src/main/java/org/jclouds/b2/blobstore/B2BlobStore.java
@@ -55,6 +55,7 @@ import org.jclouds.blobstore.domain.MutableBlobMetadata;
import org.jclouds.blobstore.domain.PageSet;
import org.jclouds.blobstore.domain.StorageMetadata;
import org.jclouds.blobstore.domain.StorageType;
+import org.jclouds.blobstore.domain.Tier;
import org.jclouds.blobstore.domain.internal.BlobImpl;
import org.jclouds.blobstore.domain.internal.BlobMetadataImpl;
import org.jclouds.blobstore.domain.internal.MutableBlobMetadataImpl;
@@ -454,6 +455,7 @@ public final class B2BlobStore extends BaseBlobStore {
contentMetadata.setContentType(b2Object.contentType());
metadata.setContentMetadata(contentMetadata);
metadata.setUserMetadata(b2Object.fileInfo());
+ metadata.setTier(Tier.STANDARD);
try {
metadata.setPublicUri(URI.create(auth.get().downloadUrl() + "/file/" + container + "/" +
URLEncoder.encode(b2Object.fileName(), "UTF-8")));
http://git-wip-us.apache.org/repos/asf/jclouds/blob/3193aa68/providers/b2/src/test/java/org/jclouds/b2/blobstore/integration/B2BlobIntegrationLiveTest.java
----------------------------------------------------------------------
diff --git a/providers/b2/src/test/java/org/jclouds/b2/blobstore/integration/B2BlobIntegrationLiveTest.java b/providers/b2/src/test/java/org/jclouds/b2/blobstore/integration/B2BlobIntegrationLiveTest.java
index fa0f6ae..85d37fa 100644
--- a/providers/b2/src/test/java/org/jclouds/b2/blobstore/integration/B2BlobIntegrationLiveTest.java
+++ b/providers/b2/src/test/java/org/jclouds/b2/blobstore/integration/B2BlobIntegrationLiveTest.java
@@ -16,6 +16,7 @@
*/
package org.jclouds.b2.blobstore.integration;
+import static org.assertj.core.api.Assertions.assertThat;
import static org.assertj.core.api.Assertions.failBecauseExceptionWasNotThrown;
import java.io.IOException;
@@ -24,6 +25,7 @@ import java.util.concurrent.ExecutionException;
import org.jclouds.blobstore.domain.Blob;
import org.jclouds.blobstore.domain.BlobMetadata;
import org.jclouds.blobstore.domain.BlobBuilder.PayloadBlobBuilder;
+import org.jclouds.blobstore.domain.Tier;
import org.jclouds.blobstore.integration.internal.BaseBlobIntegrationTest;
import org.testng.SkipException;
import org.testng.annotations.Test;
@@ -241,4 +243,40 @@ public final class B2BlobIntegrationLiveTest extends BaseBlobIntegrationTest {
throw new SkipException("B2 requires at least two parts", iae);
}
}
+
+ @Test(groups = { "integration", "live" })
+ public void testPutBlobTierStandardMultipart() throws Exception {
+ try {
+ super.testPutBlobTierStandardMultipart();
+ failBecauseExceptionWasNotThrown(IllegalArgumentException.class);
+ } catch (IllegalArgumentException iae) {
+ throw new SkipException("B2 requires at least two parts", iae);
+ }
+ }
+
+ @Test(groups = { "integration", "live" })
+ public void testPutBlobTierInfrequentMultipart() throws Exception {
+ try {
+ super.testPutBlobTierInfrequentMultipart();
+ failBecauseExceptionWasNotThrown(IllegalArgumentException.class);
+ } catch (IllegalArgumentException iae) {
+ throw new SkipException("B2 requires at least two parts", iae);
+ }
+ }
+
+ @Test(groups = { "integration", "live" })
+ public void testPutBlobTierArchiveMultipart() throws Exception {
+ try {
+ super.testPutBlobTierArchiveMultipart();
+ failBecauseExceptionWasNotThrown(IllegalArgumentException.class);
+ } catch (IllegalArgumentException iae) {
+ throw new SkipException("B2 requires at least two parts", iae);
+ }
+ }
+
+ @Override
+ protected void checkTier(BlobMetadata metadata, Tier expected) {
+ // B2 maps all tiers to STANDARD
+ assertThat(metadata.getTier()).isEqualTo(Tier.STANDARD);
+ }
}
[3/3] jclouds git commit: JCLOUDS-1337: Swift putBlob portable
storage tiers
Posted by ga...@apache.org.
JCLOUDS-1337: Swift putBlob portable storage tiers
Project: http://git-wip-us.apache.org/repos/asf/jclouds/repo
Commit: http://git-wip-us.apache.org/repos/asf/jclouds/commit/c901bf3a
Tree: http://git-wip-us.apache.org/repos/asf/jclouds/tree/c901bf3a
Diff: http://git-wip-us.apache.org/repos/asf/jclouds/diff/c901bf3a
Branch: refs/heads/master
Commit: c901bf3a0f86d0fe4c129e31dd9796eae905d0b4
Parents: 3193aa6
Author: Andrew Gaul <ga...@apache.org>
Authored: Mon Oct 23 21:00:04 2017 -0700
Committer: Andrew Gaul <ga...@apache.org>
Committed: Mon Oct 23 21:31:49 2017 -0700
----------------------------------------------------------------------
.../swift/v1/blobstore/functions/ToBlobMetadata.java | 2 ++
.../blobstore/integration/SwiftBlobIntegrationLiveTest.java | 8 ++++++++
2 files changed, 10 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/jclouds/blob/c901bf3a/apis/openstack-swift/src/main/java/org/jclouds/openstack/swift/v1/blobstore/functions/ToBlobMetadata.java
----------------------------------------------------------------------
diff --git a/apis/openstack-swift/src/main/java/org/jclouds/openstack/swift/v1/blobstore/functions/ToBlobMetadata.java b/apis/openstack-swift/src/main/java/org/jclouds/openstack/swift/v1/blobstore/functions/ToBlobMetadata.java
index 952379f..8395fa1 100644
--- a/apis/openstack-swift/src/main/java/org/jclouds/openstack/swift/v1/blobstore/functions/ToBlobMetadata.java
+++ b/apis/openstack-swift/src/main/java/org/jclouds/openstack/swift/v1/blobstore/functions/ToBlobMetadata.java
@@ -20,6 +20,7 @@ import static com.google.common.base.Preconditions.checkNotNull;
import org.jclouds.blobstore.domain.MutableBlobMetadata;
import org.jclouds.blobstore.domain.StorageType;
+import org.jclouds.blobstore.domain.Tier;
import org.jclouds.blobstore.domain.internal.MutableBlobMetadataImpl;
import org.jclouds.openstack.swift.v1.domain.Container;
import org.jclouds.openstack.swift.v1.domain.SwiftObject;
@@ -59,6 +60,7 @@ public class ToBlobMetadata implements Function<SwiftObject, MutableBlobMetadata
to.setType(StorageType.BLOB);
}
to.setSize(from.getPayload().getContentMetadata().getContentLength());
+ to.setTier(Tier.STANDARD);
return to;
}
http://git-wip-us.apache.org/repos/asf/jclouds/blob/c901bf3a/apis/openstack-swift/src/test/java/org/jclouds/openstack/swift/v1/blobstore/integration/SwiftBlobIntegrationLiveTest.java
----------------------------------------------------------------------
diff --git a/apis/openstack-swift/src/test/java/org/jclouds/openstack/swift/v1/blobstore/integration/SwiftBlobIntegrationLiveTest.java b/apis/openstack-swift/src/test/java/org/jclouds/openstack/swift/v1/blobstore/integration/SwiftBlobIntegrationLiveTest.java
index bffa9a4..3cb015e 100644
--- a/apis/openstack-swift/src/test/java/org/jclouds/openstack/swift/v1/blobstore/integration/SwiftBlobIntegrationLiveTest.java
+++ b/apis/openstack-swift/src/test/java/org/jclouds/openstack/swift/v1/blobstore/integration/SwiftBlobIntegrationLiveTest.java
@@ -23,6 +23,8 @@ import static org.jclouds.openstack.keystone.v2_0.config.KeystoneProperties.CRED
import java.util.Properties;
import org.jclouds.blobstore.domain.Blob;
+import org.jclouds.blobstore.domain.BlobMetadata;
+import org.jclouds.blobstore.domain.Tier;
import org.jclouds.blobstore.integration.internal.BaseBlobIntegrationTest;
import org.testng.SkipException;
import org.testng.annotations.DataProvider;
@@ -129,4 +131,10 @@ public class SwiftBlobIntegrationLiveTest extends BaseBlobIntegrationTest {
protected long getMinimumMultipartBlobSize() {
return 1;
}
+
+ @Override
+ protected void checkTier(BlobMetadata metadata, Tier expected) {
+ // Swift maps all tiers to STANDARD
+ assertThat(metadata.getTier()).isEqualTo(Tier.STANDARD);
+ }
}
[2/3] jclouds git commit: JCLOUDS-1337: Atmos putBlob portable
storage tiers
Posted by ga...@apache.org.
JCLOUDS-1337: Atmos putBlob portable storage tiers
Project: http://git-wip-us.apache.org/repos/asf/jclouds/repo
Commit: http://git-wip-us.apache.org/repos/asf/jclouds/commit/f513bf7c
Tree: http://git-wip-us.apache.org/repos/asf/jclouds/tree/f513bf7c
Diff: http://git-wip-us.apache.org/repos/asf/jclouds/diff/f513bf7c
Branch: refs/heads/master
Commit: f513bf7c40d9e7e83fae021f70fc1ca5dce3841b
Parents: e0e3519
Author: Andrew Gaul <ga...@apache.org>
Authored: Mon Oct 23 20:45:10 2017 -0700
Committer: Andrew Gaul <ga...@apache.org>
Committed: Mon Oct 23 21:31:48 2017 -0700
----------------------------------------------------------------------
.../functions/ObjectToBlobMetadata.java | 2 ++
.../integration/AtmosIntegrationLiveTest.java | 38 ++++++++++++++++++++
.../internal/BaseBlobIntegrationTest.java | 6 +++-
3 files changed, 45 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/jclouds/blob/f513bf7c/apis/atmos/src/main/java/org/jclouds/atmos/blobstore/functions/ObjectToBlobMetadata.java
----------------------------------------------------------------------
diff --git a/apis/atmos/src/main/java/org/jclouds/atmos/blobstore/functions/ObjectToBlobMetadata.java b/apis/atmos/src/main/java/org/jclouds/atmos/blobstore/functions/ObjectToBlobMetadata.java
index 17aaee9..0ea70cbe 100644
--- a/apis/atmos/src/main/java/org/jclouds/atmos/blobstore/functions/ObjectToBlobMetadata.java
+++ b/apis/atmos/src/main/java/org/jclouds/atmos/blobstore/functions/ObjectToBlobMetadata.java
@@ -29,6 +29,7 @@ import org.jclouds.atmos.filters.ShareUrl;
import org.jclouds.atmos.functions.AtmosObjectName;
import org.jclouds.blobstore.domain.MutableBlobMetadata;
import org.jclouds.blobstore.domain.StorageType;
+import org.jclouds.blobstore.domain.Tier;
import org.jclouds.blobstore.domain.internal.MutableBlobMetadataImpl;
import org.jclouds.http.HttpUtils;
@@ -78,6 +79,7 @@ public class ObjectToBlobMetadata implements Function<AtmosObject, MutableBlobMe
}
to.setUserMetadata(lowerKeyMetadata);
to.setSize(from.getContentMetadata().getContentLength());
+ to.setTier(Tier.STANDARD);
return to;
}
}
http://git-wip-us.apache.org/repos/asf/jclouds/blob/f513bf7c/apis/atmos/src/test/java/org/jclouds/atmos/blobstore/integration/AtmosIntegrationLiveTest.java
----------------------------------------------------------------------
diff --git a/apis/atmos/src/test/java/org/jclouds/atmos/blobstore/integration/AtmosIntegrationLiveTest.java b/apis/atmos/src/test/java/org/jclouds/atmos/blobstore/integration/AtmosIntegrationLiveTest.java
index 4f6e991..8bed038 100644
--- a/apis/atmos/src/test/java/org/jclouds/atmos/blobstore/integration/AtmosIntegrationLiveTest.java
+++ b/apis/atmos/src/test/java/org/jclouds/atmos/blobstore/integration/AtmosIntegrationLiveTest.java
@@ -17,6 +17,7 @@
package org.jclouds.atmos.blobstore.integration;
import static org.assertj.core.api.Assertions.assertThat;
+import static org.assertj.core.api.Assertions.failBecauseExceptionWasNotThrown;
import static org.testng.Assert.assertEquals;
import java.io.IOException;
@@ -24,6 +25,7 @@ import java.util.concurrent.ExecutionException;
import org.jclouds.blobstore.domain.Blob;
import org.jclouds.blobstore.domain.BlobMetadata;
+import org.jclouds.blobstore.domain.Tier;
import org.jclouds.blobstore.integration.internal.BaseBlobIntegrationTest;
import org.testng.SkipException;
import org.testng.annotations.DataProvider;
@@ -197,4 +199,40 @@ public class AtmosIntegrationLiveTest extends BaseBlobIntegrationTest {
public void testCopyIfNoneMatchNegative() throws Exception {
super.testCopyIfNoneMatchNegative();
}
+
+ @Test(groups = { "integration", "live" })
+ public void testPutBlobTierStandardMultipart() throws Exception {
+ try {
+ super.testPutBlobTierStandardMultipart();
+ failBecauseExceptionWasNotThrown(UnsupportedOperationException.class);
+ } catch (UnsupportedOperationException uoe) {
+ throw new SkipException("Atmos does not support multipart", uoe);
+ }
+ }
+
+ @Test(groups = { "integration", "live" })
+ public void testPutBlobTierInfrequentMultipart() throws Exception {
+ try {
+ super.testPutBlobTierInfrequentMultipart();
+ failBecauseExceptionWasNotThrown(UnsupportedOperationException.class);
+ } catch (UnsupportedOperationException uoe) {
+ throw new SkipException("Atmos does not support multipart", uoe);
+ }
+ }
+
+ @Test(groups = { "integration", "live" })
+ public void testPutBlobTierArchiveMultipart() throws Exception {
+ try {
+ super.testPutBlobTierArchiveMultipart();
+ failBecauseExceptionWasNotThrown(UnsupportedOperationException.class);
+ } catch (UnsupportedOperationException uoe) {
+ throw new SkipException("Atmos does not support multipart", uoe);
+ }
+ }
+
+ @Override
+ protected void checkTier(BlobMetadata metadata, Tier expected) {
+ // Atmos maps all tiers to STANDARD
+ assertThat(metadata.getTier()).isEqualTo(Tier.STANDARD);
+ }
}
http://git-wip-us.apache.org/repos/asf/jclouds/blob/f513bf7c/blobstore/src/test/java/org/jclouds/blobstore/integration/internal/BaseBlobIntegrationTest.java
----------------------------------------------------------------------
diff --git a/blobstore/src/test/java/org/jclouds/blobstore/integration/internal/BaseBlobIntegrationTest.java b/blobstore/src/test/java/org/jclouds/blobstore/integration/internal/BaseBlobIntegrationTest.java
index 27657ae..23f26eb 100644
--- a/blobstore/src/test/java/org/jclouds/blobstore/integration/internal/BaseBlobIntegrationTest.java
+++ b/blobstore/src/test/java/org/jclouds/blobstore/integration/internal/BaseBlobIntegrationTest.java
@@ -787,12 +787,16 @@ public class BaseBlobIntegrationTest extends BaseBlobStoreIntegrationTest {
.tier(tier)
.build();
blobStore.putBlob(containerName, blob, options);
- assertThat(blobStore.blobMetadata(containerName, blobName).getTier()).isEqualTo(tier);
+ checkTier(blobStore.blobMetadata(containerName, blobName), tier);
} finally {
returnContainer(containerName);
}
}
+ protected void checkTier(BlobMetadata metadata, Tier expected) {
+ assertThat(metadata.getTier()).isEqualTo(expected);
+ }
+
protected void checkUserMetadata(Map<String, String> userMetadata1, Map<String, String> userMetadata2) {
assertThat(userMetadata1).isEqualTo(userMetadata2);
}