>
> ### Access Control
>
> -By default, every item you put into a container is private, if you are
> interested in giving access to others,
> -you will have to explicitly configure that.
> +By default, every item you put into a container is _private_, if you are
> interested in giving access
>
> -## Using BlobStore API
> +A `BlobStoreContext` associates an identity on a provider to a set of
> network connections.
[minor] "identify for" rather than "identity on"?
---
Reply to this email directly or view it on GitHub:
https://github.com/jclouds/jclouds-site/pull/68/files#r13615450
>
> {% highlight java %}
> context.close();
> {% endhighlight %}
>
> -There are many options available for creating contexts. Please see the
> Javadoc for
> -[ContextBuilder](http://demobox.github.com/jclouds-maven-site-1.5.5/1.5.5/jclouds-multi/apidocs/org/jclouds/ContextBuilder.html)
> -
> .build();
> +
> +// Upload the Blob
> blobStore.putBlob(containerName, blob);
We're not closing the context in this example. Is that OK?
---
Reply to this email directly or view it on GitHub:
https://github.com/jclouds/jclouds-site/pull/68/files#r13615544
> -
> -
> -
> -
> -
> -
> -
> -
> -
> -
> -
> -
> -
> -
> +// Upload the Blob
> +String futureETag = blobStore.putBlob(containerName, blob, multipart());
Again, not closing the context here. And why "futureETag" instea
>
> -{% highlight clojure %}
> -(defproject mygroup/myproject "1.0.0"
> - :description "FIXME: write"
> - :dependencies [[org.clojure/clojure "1.2.0"]
> - [org.clojure/clojure-contrib "1.2.0"]
> - [org.jclouds/jclouds-allblobstore "1.1.0"]])
> -{% endhighlight %}
>
> @@ -330,59 +285,89 @@ Clearly, you need to substitute your accounts and keys
> below.
> (create-container *blobstore* "mycontainer")
> (put-blob *blobstore* "mycontainer" (blob "test" :payload "testdata"))
> {% endhighlight %}
Does Clojure close the context automatically for us?
---
Reply t
> {% highlight java %}
>
> -HttpRequest request = context.getSigner().
> - signGetBlob("adriansmovies",
> - "sushi.avi");
> -{% endhighlight %}
> -### clojure example
> +HttpRequest request = context.getSigner()
> +
>
> {% endhighlight %}
>
> -## Configure multipart upload strategies ==
> -There are two `MultipartUploadStrategy` implementations:
> `SequentialMultipartUploadStrategy` and `ParallelMultipartUploadStrategy`.
> -Default strategy is the `ParallelMultipartUploadStrategy`. With parallel
> strat
>
> -For this reason, we have a `DeleteDirectoryStrategy` strategy. The default
> version of this used
> -for flat trees removes all known deviations of directory markers.
> +The challenge with this approach is that there are multiple ways to suggest
> presence of a
> +directory. For example,
>
> -For this reason, we have a `DeleteDirectoryStrategy` strategy. The default
> version of this used
> -for flat trees removes all known deviations of directory markers.
> +The challenge with this approach is that there are multiple ways to suggest
> presence of a
> +directory. For example,
>
> -For this reason, we have a `DeleteDirectoryStrategy` strategy. The default
> version of this used
> -for flat trees removes all known deviations of directory markers.
> +The challenge with this approach is that there are multiple ways to suggest
> presence of a
> +directory. For example,
>
> ## Content Metadata : Content Disposition
>
> -You may be using jclouds to upload some photos to the cloud, show thumbnails
> of them to the user
> -via a website and allow to download the original image. When the user
> clicks on the thumbnail,
> -a the download dialog appears. To con
>
> ## Content Metadata : Content Disposition
>
> -You may be using jclouds to upload some photos to the cloud, show thumbnails
> of them to the user
> -via a website and allow to download the original image. When the user
> clicks on the thumbnail,
> -a the download dialog appears. To con
> ## Return Null on Not Found
>
> -All APIs, provider-specific or abstraction, must return null when an object
> is requested, but not found.
> -Throwing exceptions is only appropriate when there is a state problem, for
> example requesting an object from a container
> -that does not exist is
>
> -## Uploading Large Files
> +### Uploading
> +As long as you use either `InputStream` or File as the payload your blob,
> you should
[minor] `File`?
---
Reply to this email directly or view it on GitHub:
https://github.com/jclouds/jclouds-site/pull/68/files#r13616060
>
> -This is verified against all of our http clients, conceding that it isn't
> going to help limited environments such as
> -google app engine.
> +This is verified against all of our http clients, conceding that it isn't
> going to help limited
[minor] "HTTP clients"? And drop the ", concedi
>
> -A blob you've downloaded via `blobstore.getBlob()` can be accessed via
> `blob.getPayload().getInput()` or
> -`blob.getPayload().writeTo(outputStream)`. Since these are streaming, you
> shouldn't have a problem with memory
> -unless you rebuffer it.
> +A blob you've downloaded via `blobst
> @@ -303,6 +303,31 @@
> */
> public static final String PROPERTY_MAX_PARALLEL_DELETES =
> "jclouds.max-parallel-deletes";
>
> + /**
> +* The size (in bytes) of object parts being uploaded in parallel.
> +*/
> + public static final String PROPERTY_MPU_PARTS_SIZE =
> "jcloud
> +* The magnitude of object parts being uploaded in parallel.
> +*/
> + public static final String PROPERTY_MPU_PARTS_MAGNITUDE =
> "jclouds.mpu.parts.magnitude";
> +
> + /**
> +* The number of object parts being uploaded in parallel.
> +*/
> + public static final String PRO
Pending PR builders, this change looks +1 - good to go for me. Just curious
about the meaning of some of those properties, actually.
Thanks, @everett-toews!
---
Reply to this email directly or view it on GitHub:
https://github.com/jclouds/jclouds/pull/402#issuecomment-45788690
Closed #398.
---
Reply to this email directly or view it on GitHub:
https://github.com/jclouds/jclouds/pull/398#event-130415607
> jclouds-java-7-pull-requests #1336 UNSTABLE
I can't see that build any more, but I'm pretty sure it's something unrelated.
[Merged](https://git-wip-us.apache.org/repos/asf?p=jclouds.git;a=commit;h=a6c89d9150cc4464515e2108712d4cd8d55f614b)
to master.
Thanks, @jdaggett!
---
Reply to this email
How ironic that this should be PR 404. You were waiting for that, eh,
@jdaggett? ;-)
---
Reply to this email directly or view it on GitHub:
https://github.com/jclouds/jclouds/pull/404#issuecomment-45913303
> @@ -28,6 +28,7 @@
> import java.util.Set;
> import java.util.concurrent.BlockingQueue;
> import java.util.concurrent.LinkedBlockingQueue;
> +import java.util.regex.Pattern;
Do you need this import?
---
Reply to this email directly or view it on GitHub:
https://github.com/jclouds/jclouds/pull
> @@ -101,7 +102,8 @@ public MockResponse dispatch(RecordedRequest request)
> throws InterruptedExceptio
> * access.json or accessRackspace) for the declared service
> * endpoints.
> */
> - String newBody = new
> String(response.get
> jclouds-pull-requests #876 UNSTABLE
> jclouds » jclouds #1210 UNSTABLE
Thanks for addressing some of the comments, @andrewgaul! The test failures
[were](https://jclouds.ci.cloudbees.com/job/jclouds-pull-requests/876/testReport/)
[both](https://buildhive.cloudbees.com/job/jclouds/job/jclouds/o
Erm...yes...that indeed looks like weird original code. Fix looks good to me,
too...but do we perhaps need a test for this? Something like
`suspendWithExtensionPresentSucceeds` and `suspendWithoutExtensionThrowsUOE`?
> jclouds-java-7-pull-requests #1350 UNSTABLE
Unrelates [test
failure](https:
> but I created equivalent live tests and do not believe the Glacier error
> messages are useful enough
> to remove this functionality.
That Gist is interesting, indeed! The one (name too long) error message seems
to contain all the information we'd need:
```
java.lang.IllegalArgumentException
@andrewgaul W.r.t. the `testIllegalCharacters` errors in your Gist, do you
think the server _would_ return the correct error if we were to provide the
"correct" signature?
It seems to me our signature-generator is perhaps not handling the unexpected
name properly, and that's masking the "correc
> @@ -267,7 +267,22 @@ public boolean apply(NodeMetadata nodeMetadata) {
>
>@Override
>public String toString() {
> - return "TERMINATED";
> + return Status.TERMINATED.toString();
> + }
> + };
> +
> + /**
> +* Match nodes with State == SUSPENDED
> +
> @@ -141,6 +141,19 @@ public void testNodeRunningReturnsTrueWhenRunning() {
>Assert.assertTrue(nodeRunning.apply(reference));
>Assert.assertEquals(reference.get(), node);
> }
> +
> + @Test
> + public void testNodeSuspendedReturnsTrueWhenSuspended() {
> + expect(node
> @@ -141,6 +141,19 @@ public void testNodeRunningReturnsTrueWhenRunning() {
>Assert.assertTrue(nodeRunning.apply(reference));
>Assert.assertEquals(reference.get(), node);
> }
> +
> + @Test
> + public void testNodeSuspendedReturnsTrueWhenSuspended() {
> + expect(node
> @@ -141,6 +141,19 @@ public void testNodeRunningReturnsTrueWhenRunning() {
>Assert.assertTrue(nodeRunning.apply(reference));
>Assert.assertEquals(reference.get(), node);
> }
> +
> + @Test
> + public void testNodeSuspendedReturnsTrueWhenSuspended() {
> + expect(node
> @@ -67,7 +67,7 @@
> * Provides synchronous access to availability zone features
> */
> @Delegate
> - AvailabilityZoneAPI getAvailabilityZoneApi(
> + Optional getAvailabilityZoneApi(
Just a minor...why is this `...API` (caps) when pretty much everywhere else, I
think, we use `.
> @@ -160,6 +160,8 @@ protected void configure() {
>
> URI.create("http://docs.openstack.org/compute/ext/quotas-sets/api/v1.1";))
>.put(URI.create(ExtensionNamespaces.VOLUME_TYPES),
>
> URI.create("http://docs.openstack.org/compute/ext/volume_types/api/
> @@ -23,7 +23,7 @@
> import org.jclouds.openstack.v2_0.services.Extension;
>
> @Beta
> -@Extension(of = ServiceType.COMPUTE, namespace =
> ExtensionNamespaces.ADMIN_ACTIONS)
> +@Extension(of = ServiceType.COMPUTE, namespace =
> ExtensionNamespaces.AVAILABILITY_ZONE)
> public interface Avail
> @@ -56,6 +58,9 @@ public void setup() {
>super.setup();
>zone = Iterables.getLast(api.getConfiguredZones(), "nova");
>volumeOption = api.getVolumeExtensionForZone(zone);
> +
> + Optional availabilityZoneApi =
> api.getAvailabilityZoneApi(zone);
> + availabilityZ
> @@ -236,7 +242,11 @@ public boolean apply(VolumeApi volumeApi) {
> assertNotNull(attachments);
> assertEquals(attachments.size(), before + 1);
>
> -
> assertEquals(volumeOption.get().get(testVolume.getId()).getStatus(),
> Volume.Status.IN_USE);
> +
>for (String zoneId : zones) {
> ServerApi serverApi = api.getServerApiForZone(zoneId);
> + Optional azApi =
> api.getAvailabilityZoneApi(zoneId);
> + availabilityZone = azApi.isPresent() ?
> azApi.get().list().last().get().getName() : "nova";
Any reason why thi
> @@ -84,8 +85,12 @@ protected Properties setupProperties() {
> }
>
> protected Server createServerInZone(String zoneId) {
> + return createServerInZone(zoneId, null);
Use `new CreateServerOptions()` instead of `null` here, or have a (nasty?)
if...then below that does something
Thanks, @ccustine! Just wondering if this potentially affects any code in
https://github.com/jclouds/jclouds-labs-openstack that would also need to be
updated?
---
Reply to this email directly or view it on GitHub:
https://github.com/jclouds/jclouds/pull/392#issuecomment-45972612
@jdaggett: It looks like this has [been
merged](https://git-wip-us.apache.org/repos/asf?p=jclouds.git;a=commit;h=446671a2a7433f201b87f40e4d9960d80aa1f804)?
Also, please set up your GitHub repo to use your `@apache.org` address as the
committer email? Thanks!
![image](https://cloud.githubusercon
>// see https://issues.apache.org/jira/browse/JCLOUDS-570
>Optional image = tryFind(images, idPredicate);
> - if (!image.isPresent()) {
> - logger.warn("Image %s not found in the image cache. Trying to get
> it directly...", imageId);
> - // Note that this migh
> FYI: I'm going on vacation for 2 weeks, so I'll not be able to respond for
> that time.
Thanks for the heads-up, @najtmar. Have fun! Hopefully, by the time you get
back this will be merged ;-)
---
Reply to this email directly or view it on GitHub:
https://github.com/jclouds/jclouds-labs-googl
Thanks for the explanations and updates, @cdancy! Pending a squash'n'rebase, +1
- looks good to go for me.
Cleanups like remove the (unnecessary, if you ask me)
`Assert.assertEquals(reference.get(), node);` assertions we can address in
another PR, if desired.
---
Reply to this email directly o
> Is that a policy or something you can link us to for that?
I asked based on the idea that our `@apache.org` addresses includes the ASF ID,
which is ultimately the unique identifier by which we are known to the
foundation, is granted access rights to the repos etc. But you're absolutely
right,
> Next commit, how's that? ;)
That sounds like a plan! I've also [updated the Committer's
Guide](https://wiki.apache.org/jclouds/Committers%20Guide?action=diff) to read
"Ensure your name and @apache.org email address are there as the committer..."
---
Reply to this email directly or view it on
> +import com.google.common.primitives.Bytes;
> +
> +/**
> + * Calculates the linear hash and the tree hash of the payload.
> + */
> +public class TreeHasher {
> +
> + private static int CHUNK_SIZE = 1024 * 1024;
> +
> + private final Payload payload;
> + private HashCode hash;
> + private
> +import com.google.common.io.ByteStreams;
> +import com.google.common.primitives.Bytes;
> +
> +/**
> + * Calculates the linear hash and the tree hash of the payload.
> + */
> +public class TreeHasher {
> +
> + private static int CHUNK_SIZE = 1024 * 1024;
> +
> + private final Payload payload;
> + Hashing.sha256(), ByteStreams.limit(linearHis,
> CHUNK_SIZE));
> + long count = ByteStreams.copy(chunkedHis,
> ByteStreams.nullOutputStream());
> + if (count == 0) {
> + break;
> + }
> + q.offer(chunkedHis.has
> +
> + /**
> +* Build the Hash and the TreeHash values of the payload.
> +*/
> + private void buildHashes() throws IOException {
> + InputStream is = null;
> + try {
> + is = payload.openStream();
> + Queue q = Lists.newLinkedList();
> + HashingInputSt
> + is = payload.openStream();
> + Queue q = Lists.newLinkedList();
> + HashingInputStream linearHis = new
> HashingInputStream(Hashing.sha256(), is);
> + while (true) {
> + HashingInputStream chunkedHis = new HashingInputStream(
> +
> + HashingInputStream linearHis = new
> HashingInputStream(Hashing.sha256(), is);
> + while (true) {
> + HashingInputStream chunkedHis = new HashingInputStream(
> + Hashing.sha256(), ByteStreams.limit(linearHis,
> CHUNK_SIZE));
> + long
Thanks, @rcoedo! Could you explain a little where and how this utility is
needed? And, for example, do we always need to calculate both hashes? Or are we
also likely to see many use cases where only one of the two hashes is needed?
Also, are there any links you could add to where these algorithm
> For the empty vault name, Glacier returns GlacierError code=BadRequest
Yes, for this one it definitely looks like some client-side validation will
help.
> This looks like Glacier doubled percent-encoded its input, from , to %2C to
> %252C
Wait...am I understanding this correctly? Glacier is
> @@ -160,6 +160,8 @@ protected void configure() {
>
> URI.create("http://docs.openstack.org/compute/ext/quotas-sets/api/v1.1";))
>.put(URI.create(ExtensionNamespaces.VOLUME_TYPES),
>
> URI.create("http://docs.openstack.org/compute/ext/volume_types/api/
This looks good to me - thanks for the changes, @ccustine.
/cc @zack-shoylev @everett-toews @jdaggett?
---
Reply to this email directly or view it on GitHub:
https://github.com/jclouds/jclouds/pull/392#issuecomment-46137770
Congrats, @cdancy! Thanks for contributing!
---
Reply to this email directly or view it on GitHub:
https://github.com/jclouds/jclouds/pull/405#issuecomment-46261756
> + while (hashList.size() > 1) {
> +//Hash pairs of values and add them to the result list.
> +for (Iterator it = hashList.iterator(); it.hasNext();)
> {
> + HashCode hc1 = it.next();
> + if (it.hasNext()) {
> + HashCod
> +result = Lists.newArrayList();
> + }
> + return hashList.iterator().next();
> + }
> +
> + /**
> + * Builds the Hash and the TreeHash values of the payload.
> + *
> + * @return The calculated TreeHash.
> + * @see href="http://docs.aws
Just some minor comments and questions. Thanks, @rcoedo and @andrewgaul!
---
Reply to this email directly or view it on GitHub:
https://github.com/jclouds/jclouds-labs-aws/pull/11#issuecomment-46262050
>
> ## Run
>
> -bash$ lein repl
> -user> (use 'org.jclouds.compute2)
> -user> (use 'compute-clojure.compute-examples)
> -user> (def compute (compute-service "aws-ec2" "AMAZON-IDENTITY"
> "AMAZON-CREDENTIAL" :slf4j :sshj))
> -user> (create compute "example-node-group")
> -
> Could you merge the pull?
Thanks for the ping, @igreenfield. Hopefully we'll be able to go through
another review cycle soon.
---
Reply to this email directly or view it on GitHub:
https://github.com/jclouds/jclouds-labs/pull/61#issuecomment-46938836
+1 - looks good to me. Have you been able to test this, by the way?
Thanks for picking this one up so quickly, @andrewgaul!
---
Reply to this email directly or view it on GitHub:
https://github.com/jclouds/jclouds/pull/420#issuecomment-46939599
> jclouds-pull-requests #925 FAILURE
> jclouds » jclouds #1273 FAILURE
Compilation failures:
```
[ERROR] Failed to execute goal
org.apache.maven.plugins:maven-compiler-plugin:3.1:compile (default-compile) on
project swift: Compilation failure: Compilation failure:
[ERROR]
/scratch/jenkins/works
> @@ -122,7 +122,16 @@ public ServerWithSecurityGroups deserialize(JsonElement
> jsonElement, Type type,
>@Override
>public Server deserialize(JsonElement jsonElement, Type type,
> JsonDeserializationContext context)
> throws JsonParseException {
> - Server se
@andrewgaul: Ping on this? Looks like it needs a rebase...
---
Reply to this email directly or view it on GitHub:
https://github.com/jclouds/jclouds/pull/300#issuecomment-46953854
> * @throws UnsupportedOperationException
> *if the underlying provider doesn't support suspend/resume
> * @throws NoSuchElementException
> *if no nodes matched the predicate specified
> +* @throws TransformParallelException
This is a bit of weird ex
> * @throws UnsupportedOperationException
> *if the underlying provider doesn't support suspend/resume
> * @throws NoSuchElementException
> *if no nodes matched the predicate specified
> +* @throws TransformParallelException
See comment above - here
> @@ -423,24 +422,35 @@ public void rebootNode(String id) {
>boolean successful = nodeRunning.apply(node);
>logger.debug("<< rebooted node(%s) success(%s)", id, successful);
> }
> -
> +
[minor] remove this change?
---
Reply to this email directly or view it on GitHub:
https
> Sorry for the delay, this looks good!
No problem...thanks, @andrewgaul!
---
Reply to this email directly or view it on GitHub:
https://github.com/jclouds/jclouds/pull/389#issuecomment-46995685
> Is there anything else that needs to be done with this PR?
Looks like it might need a rebase..?
---
Reply to this email directly or view it on GitHub:
https://github.com/jclouds/jclouds/pull/339#issuecomment-46995840
> @@ -151,5 +160,22 @@ protected ServerInternal(String id, @Nullable String
> name, java.util.Set l
> super(id, name, links, uuid, tenantId, userId, updated, created,
> hostId, accessIPv4, accessIPv6, status, image, flavor, keyName, configDrive,
> addresses, metadata, extendedStatus
> @@ -151,5 +160,22 @@ protected ServerInternal(String id, @Nullable String
> name, java.util.Set l
> super(id, name, links, uuid, tenantId, userId, updated, created,
> hostId, accessIPv4, accessIPv6, status, image, flavor, keyName, configDrive,
> addresses, metadata, extendedStatus
>logger.debug(">> rebooting nodes matching(%s)", filter);
> -
> transformParallel(nodesMatchingFilterAndNotTerminatedExceptionIfNotFound(filter),
> -new Function>() {
> - // TODO use native async
> - @Override
> - public Listenable
> +new Function NodeMetadata>>() {
> +
> + // TODO make an async interface instead of re-wrapping
> + @Override
> + public ListenableFuture apply(final
> NodeMetadata from) {
> + return userE
>logger.debug(">> rebooting nodes matching(%s)", filter);
> -
> transformParallel(nodesMatchingFilterAndNotTerminatedExceptionIfNotFound(filter),
> -new Function>() {
> - // TODO use native async
> - @Override
> - public Listenable
> +new Function NodeMetadata>>() {
> +
> + // TODO make an async interface instead of
> re-wrapping
> + @Override
> + public ListenableFuture
> apply(final NodeMetadata from) {
> +
> @@ -548,16 +548,28 @@ protected void assertNodeZero(Collection NodeMetadata> metadataSet) {
> }
>
> @Test(enabled = true, dependsOnMethods = "testGet")
> - public void testReboot() throws Exception {
> - client.rebootNodesMatching(inGroup(group));// TODO test
> + public void te
> +
> + // TODO make an async interface instead of
> re-wrapping
> + @Override
> + public ListenableFuture
> apply(final NodeMetadata from) {
> + return userExecutor.subm
>
> +Set suspendedNodes =
> client.suspendNodesMatching(inGroup(group));
Please fix indenting
---
Reply to this email directly or view it on GitHub:
https://github.com/jclouds/jclouds/pull/419/files#r14141542
> @@ -572,7 +584,13 @@ public boolean apply(NodeMetadata input) {
>
>}) : stoppedNodes;
>
> - client.resumeNodesMatching(inGroup(group));
> + Set resumedNodes =
> client.resumeNodesMatching(inGroup(group));
> + for (ComputeMetadata node : resumedNodes) {
> + ass
>
> +Set suspendedNodes =
> client.suspendNodesMatching(inGroup(group));
> + for (ComputeMetadata node : suspendedNodes) {
> + assert node.getProviderId() != null : node;
Please fix indents and use assertNotNull
---
Reply to this email directly or view it on GitHub:
https
Two questions:
* do we need some unit tests to verify that the _correct_ nodes are returned
each time? The current tests only seem to check for some non-null properties
* we're adding a call to `cleanUpIncidentalResourcesOfDeadNodes`, it seems.
Verify this using a test?
---
Reply to this email
> Are you still against explicitly declaring we throw
> "TransformParallelException" in ComputeService?
Personally, yes. It's a very implementation-specific exception that doesn't
belong in the interface, if you ask me - it has nothing to do with the "public
contract" of the method, in my view.
> @@ -423,24 +422,35 @@ public void rebootNode(String id) {
>boolean successful = nodeRunning.apply(node);
>logger.debug("<< rebooted node(%s) success(%s)", id, successful);
> }
> -
> +
> Should I add it back?
No, sorry, my comment wasn't clear: the change looked like it wa
Pending the PR builders, +1 - looks good to me. Thanks for the updates, @cdancy!
---
Reply to this email directly or view it on GitHub:
https://github.com/jclouds/jclouds/pull/419#issuecomment-47017965
> but some documentation as to say what could possibly be thrown from method
> a,b,c is I guess what
> I was looking and/or advocating for.
I can see your point, and in this case since we weren't actually adding it to
the method signature it wouldn't have caused any issues for consumers. But
w
> +import static org.testng.Assert.assertEquals;
> +
> +import org.jclouds.http.HttpRequest;
> +import org.jclouds.http.HttpResponse;
> +import org.jclouds.rackspace.autoscale.v1.AutoscaleApi;
> +import
> org.jclouds.rackspace.autoscale.v1.internal.BaseAutoscaleApiExpectTest;
> +import org.testng.
Just a couple of minor [Checkstyle
violations](https://jclouds.ci.cloudbees.com/job/jclouds-labs-openstack-pull-requests/291/org.apache.jclouds.labs$rackspace-autoscale-us/violations/),
otherwise looks good to me.
---
Reply to this email directly or view it on GitHub:
https://github.com/jclouds/
> @@ -70,7 +75,11 @@ public boolean apply(@Nullable StorageMetadata input) {
>
> BlobMetadata metadata =
> view.getBlobStore().blobMetadata(containerName, "hello");
>
> - assert metadata.getPublicUri() != null : metadata;
> + assertTrue(metadata.getPublicUri() != null
> @@ -70,7 +75,11 @@ public boolean apply(@Nullable StorageMetadata input) {
>
> BlobMetadata metadata =
> view.getBlobStore().blobMetadata(containerName, "hello");
>
> - assert metadata.getPublicUri() != null : metadata;
> + assertTrue(metadata.getPublicUri() != null
> +}
> +],
> +"user": {
> +"id": "378",
> +"roles": [
> +{
> +"id": "3",
> +"description": "User Admin Role.",
> +"name": "identity:user-admin"
> +}
> +
> +
> +import java.net.URI;
> +import java.util.Properties;
> +
> +import org.jclouds.openstack.keystone.v2_0.config.CredentialTypes;
> +import org.jclouds.providers.ProviderMetadata;
> +import org.jclouds.providers.internal.BaseProviderMetadata;
> +
> +/**
> +<<< HEAD
> + * Implementation of {
> @@ -27,4 +28,13 @@
> public HPCloudObjectStorageContainerLiveTest() {
>provider = "hpcloud-objectstorage";
> }
> +
> + @Override
> + @Test
[minor] Do we prefer `SkipException` or `@Test(ignored = ...)`?
---
Reply to this email directly or view it on GitHub:
https://github.co
> + fail("static test Strings do not parse to URI: " + ex.getMessage());
> + }
> +
> + expect(mockSupplier.get())
> + .andReturn(endpoints)
> + .anyTimes();
> +
> expect(mockFactory.createForApiTypeAndVersion(ServiceType.OBJECT_STORE, null))
> + .andR
Just a couple of minor comments, which we don't necessarily need to address.
The only thing that I think _does_ need fixing is inadvertent commit of
[`HPCloudObjectStorageProviderMetadata.java.orig`](https://github.com/jclouds/jclouds/blob/1.7.x/providers/hpcloud-objectstorage/src/main/java/org/j
> @@ -151,5 +160,22 @@ protected ServerInternal(String id, @Nullable String
> name, java.util.Set l
> super(id, name, links, uuid, tenantId, userId, updated, created,
> hostId, accessIPv4, accessIPv6, status, image, flavor, keyName, configDrive,
> addresses, metadata, extendedStatus
> is the inadvertent commit of HPCloudObjectStorageProviderMetadata.java.orig
[Removed](https://git-wip-us.apache.org/repos/asf?p=jclouds.git;a=commit;h=a8ce281904735d0c1954e31bd626f60557352cac)
---
Reply to this email directly or view it on GitHub:
https://github.com/jclouds/jclouds/pull/411#iss
601 - 700 of 4824 matches
Mail list logo