2236 Commits

Author SHA1 Message Date
Timur Alperovich
fe13b07233 JCLOUDS-929: Implement delimiter support in S3.
Plumb the delimiter option to the S3 API.
2015-07-13 14:34:59 -07:00
Timur Alperovich
6ec11fd6ec JCLOUDS-929: Implement delimiter support in Swift.
The patch adds the delimiter support in the openstack-swift API. As
part of the change, the subdirectory support in results is introduced.
This occurs when a prefix and delimiter options are set and there are
subdirectories present in the listing (i.e. multiple objects under the
same prefix/delimiter). In this case, Swift will return a list of
"subdir" objects (similar to CommonPrefixes in S3), which need to be
treated differently.
2015-07-13 14:34:59 -07:00
Timur Alperovich
a29d75a5d1 JCLOUDS-929: Implement generic delimiter support.
The patch adds delimiter option support in the generic blob store
interface. A live integration test is added to verify that jclouds
correctly lists objects separated by a delimiter.
2015-07-13 14:34:58 -07:00
Andrew Bayer
1fe90b03c9 JCLOUDS-961 - Add d2, m4, t2 instance types for EC2 2015-07-13 16:10:58 +02:00
Zack Shoylev
65b7bdf282 Removes CopyObjectException in favor of jclouds-standard blobstore exceptions 2015-07-09 18:28:14 -05:00
Zack Shoylev
6945b04243 Fixes a small test bug on windows 2015-07-08 20:19:33 -05:00
Timur Alperovich
86af0753bf Swift: do not assume only 1 container in tests.
Openstack Swift ContainerApiLiveTest testListWithOptions assumes that
there are no other containers and that ContainerApiLiveTest container
will _always_ be the first container.

The patch changes the behavior of the test to instead pull out the
container from the returned list.
2015-07-07 18:05:20 -07:00
Timur Alperovich
5383148d9e Filesystem: disable directory integration test.
There is no notion of marker blobs in the file system blob store,
which means that when listing results after issuing the
"createDirectory" request, the marker blob will not be in the result
set.
2015-07-07 18:00:32 -07:00
Timur Alperovich
6d27fbb18a JCLOUDS-930: Handle subdir entries correctly.
When listing blobs, Swift returns an array of "subdir" entries for
every common prefix. The openstack-swift provider needs to process
such entries and add them to the result set. The subdir array is an
array of strings, so additional metadata needs to be added to the
objects (bogus ETag, bogus LastModifiedDate, and so on).

When directory marker blobs are used, this means that potential _two_
entries are generated for every directory if:
1. the delimiter is set and matches the directory blob (e.g. dir/ and
   delimiter /)
2. there are objects under the directory name (e.g. dir/blob), which
   will result in results that include common prefixes (subdir)

In the above example, we should expect two results: "dir" and "dir/"
representing the directory marker blob and the common prefix,
respectively.

This is caught in the testDirectory integration test.

The patch changes the behavior of the Swift provider to correctly
handle the results in the subdir stanza and changes the test to expect
the directory marker to be returned in the list.
2015-07-07 17:55:50 -07:00
Andrea Turli
82da165fdd [JCLOUDS-956] synchronizing allocateFloatingIPForNode helps 2015-07-03 13:29:54 +02:00
Andrew Gaul
41d598b03f JCLOUDS-894: Skip multipart tests on Atmos 2015-07-02 22:28:42 -07:00
Timur Alperovich
8c9344b501 JCLOUDS-930: Regression in a File System test.
Fix a regression in the file system blob store, where a test does not
expect the trailing delimiter character.
2015-06-29 21:41:33 -07:00
Andrew Gaul
1dcd4500ea JCLOUDS-930: disable testListDirectoryBlobsS3FS
Regression from 8677ffcb213f4182eee03039431a9562c2eee16a.
2015-06-29 19:36:20 -07:00
Timur Alperovich
1cb0822972 JCLOUDS-930: Add prefix option to OpenStack Swift.
Plumbs the prefix option to the openstack-swift provider. In the
process, the support for the recursive option is modified to avoid
setting the _path_ parameter, but rather use the delimiter if required
(setting the delimiter is sufficient for a non-recursive listing).
2015-06-29 17:31:56 -07:00
Timur Alperovich
c409c19ff3 JCLOUDS-930: Plumb prefix support down to S3.
Plumbs the ListContainerOptions.prefix setting down to the S3 API.
2015-06-29 17:31:56 -07:00
Timur Alperovich
7c7d2e2df6 JCLOUDS-930: Add the prefix option.
Add a prefix option to the ListContainerOptions class.
2015-06-29 17:31:55 -07:00
Andrea Turli
61b06329d8 create java-xmlbuilder.version property for maven
add java-xmlbuilder to dependencyManagement so downstream project don't need to specify the version
2015-06-29 08:47:54 +02:00
Andrea Turli
aa64e0d3e2 [NOVA] change some access modifiers to simplify the downstream provider impl
modify the BasicAuthenticator in Keystone
destroy node if creation timeouts
2015-06-26 15:05:06 +02:00
Zack Shoylev
87b885306b Remove old cloudfiles providers 2015-06-26 02:32:16 -05:00
Andrew Gaul
46493ed3b5 Avoid using internal testng methods 2015-06-25 11:43:17 -07:00
Ka-Hing Cheung
8b325d585e object stores typically sort the list of containers 2015-06-24 15:08:23 -07:00
Ka-Hing Cheung
e0bafd4c10 list MPU parts with prefix listing instead of marker
we now use segment conventions that allow us to do more
efficient listing
2015-06-23 20:06:10 -07:00
Andrew Gaul
38fa41d056 JCLOUDS-941: Ignore metadata tests on Mac OS X
Also make testOverwriteBlobMetadata consistent with other tests.
2015-06-22 11:50:20 -07:00
Iván López
37a014ae00 JCLOUDS-941: Auto-detect filesystem Content-Type
When a filesystem blob does not have content metadata and when users
set jclouds.filesystem.auto-detect-content-type to tru, probe the file
type to return to clients.  This is useful when using jclouds to serve
an existing filesystem.
2015-06-21 22:55:57 -07:00
Ka-Hing Cheung
b8b20c16f5 use segment names similar to those created by python-swiftclient
Currently swift creates blob-1, blob-2... blob-n for multipart
upload segments, which are very common names that can easily
collide with normal objects. This changes the naming convention
to that of python-swiftclient (the `swift' command line).

python-swiftclient also uses a different segment container by
default, that's not implemented by this patch
2015-06-19 17:34:40 -07:00
Andrew Gaul
1f7f8c8c86 Refine HTTP 416 into IllegalArgumentException
Providers yield different messages so remove parsing from test.  Also
narrow exception handling scope.TTP 416 into IllegalArgumentException

Providers yield different messages so remove parsing from test.  Also
narrow exception handling scope.
2015-06-16 21:47:30 -07:00
Andrew Gaul
b0dfae1092 Use a configurable timeout for awaitConsistency
This allows setting to zero for strongly-consistency implementations
of s3 and swift stores.
2015-06-15 15:45:17 -07:00
Ka-Hing Cheung
320742c6b5 send HEAD instead of GET for blobMetadata 2015-06-11 17:33:51 -07:00
Ka-Hing Cheung
6ed95d8968 fix range get for manifest object
swift doesn't return the etag if the client is doing a range
get of a manifest (SLO or DLO), this fixes SwiftObject so
etag is optional
2015-06-10 13:38:55 -07:00
Zack Shoylev
25ec655d74 Adds support for the orchestration type. 2015-06-10 12:39:10 -05:00
Andrew Gaul
454a30a484 Set Atmos object size to content metadata size 2015-06-08 14:28:42 -07:00
Andrew Gaul
4f6af13329 JCLOUDS-894: Swift portable MPU improvements 2015-06-08 11:20:09 -07:00
Andrew Gaul
04c4d5c916 JCLOUDS-894: Odds and ends for other providers 2015-06-06 16:32:16 -07:00
Andrew Gaul
9a02157a7f JCLOUDS-894: Add portable multipart upload for Swift 2015-06-06 16:32:16 -07:00
Andrew Gaul
ae157991ba JCLOUDS-894: Add portable multipart upload for S3 2015-06-06 16:32:16 -07:00
Andrew Gaul
00734ee755 JCLOUDS-894: Move MultipartUploadSlicingAlgorithm to core 2015-06-06 16:32:16 -07:00
Ignasi Barrera
97c160879e Propagate an AuthorizationException on OAuth client errors 2015-06-05 14:32:49 +02:00
Andrew Gaul
5095590d60 JCLOUDS-894: Do not add unnecessary ETag quotes
Previously
AWSS3BlobIntegrationLiveTest.testMultipartUploadMultipleParts failed.
2015-05-26 11:19:58 -07:00
Ignasi Barrera
7053a7870d JCLOUDS-897: Remove the Rocoto dependency 2015-05-21 00:26:57 +02:00
Zack Shoylev
f397bebeb2 JCLOUDS-894 Multipart upload code fixes for swift 2015-05-12 19:13:15 -05:00
Karel Vervaeke
2c53ef38a5 JCLOUDS-901 Moved CloudStack javadocs around
During the rename from *Client to *Api the javadocs were shuffled
around. This commit moves them back to the correct methods.
2015-05-07 15:18:39 +02:00
Stuart Hendren
31749cba5d JCLOUDS-207: Key Pair and Security Groups created by jclouds are not removed when the node is destroyed
The names created do not match those searched for.

They are created in FormatSharedNamesAndAppendUniqueStringToThoseWhichRepeat.java
and have are of this form jclouds#I-0#e96.

But for example jclouds#I-0#us-east-1#* is used as the search term.
2015-05-07 10:50:14 +02:00
Ignasi Barrera
4863bb83a9 Remove the deprecated methods in Chef 2015-05-03 22:22:44 +02:00
Andrew Gaul
deeebe46f7 JCLOUDS-894: Expose Swift multipart operations 2015-05-01 13:32:36 -07:00
Andrew Gaul
9128ae515f JCLOUDS-894: Expose S3 multipart operations 2015-05-01 13:32:35 -07:00
Andrew Gaul
ca543f3cdd Add S3 list multipart parts
TODO: pagination, etc.?
2015-05-01 13:32:35 -07:00
Andrew Gaul
df3c91ef4a JCLOUDS-894: Expose legacy Swift multipart operations
Not yet implemented
2015-05-01 13:32:35 -07:00
Andrew Gaul
66516106a2 JCLOUDS-894: Expose Atmos multipart operations
Atmos does not support multipart uploads
2015-05-01 13:32:28 -07:00
Zack Shoylev
786e5d8e25 Adds windows ACL code for file permissions, fixes build. 2015-04-28 14:35:58 -05:00
Ignasi Barrera
2b855809a4 JCLOUDS-890: Prevent NPE when generating the Chef attributes file 2015-04-23 23:21:14 +02:00