Commit Graph

2278 Commits

Author SHA1 Message Date
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 8677ffcb21.
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
Ignasi Barrera ba93170813 Amended OAuth API pom.xml 2015-04-15 11:03:26 +02:00
Ignasi Barrera 1c8b7764f6 Promote the OAuth v2 API 2015-04-15 10:56:55 +02:00
Andrew Gaul 21a422bc71 Fix testCopyIfModifiedSince for AWS S3 2015-04-10 23:11:21 -07:00
Zack Shoylev a6ca5a363a Update cloudfiles poms 2015-04-09 14:20:28 -05:00
Andrew Gaul 0c6052f803 JCLOUDS-651: Swift copy object content metadata 2015-04-08 22:51:49 -07:00
Andrew Gaul a43dcece16 JCLOUDS-651: S3 copy object content metadata 2015-04-08 18:07:28 -07:00
Zack Shoylev a3b7f3ab80 Merge remote-tracking branch 'promote-jclouds-labs-openstack-local/promote-rackspace-cloudfiles-moved' 2015-04-07 16:24:43 -05:00
Andrew Gaul d8f48c48b4 JCLOUDS-651: Copy Swift system metadata 2015-04-06 15:35:59 -07:00
Zack Shoylev 576005a335 Adds live test. 2015-04-06 15:35:59 -07:00
Zack Shoylev a1cbec1092 Allows copying an object and modifying metadata (user and object) 2015-04-06 15:35:58 -07:00
Andrew Gaul 67d731f054 JCLOUDS-651: Add Swift server-side copyBlob
This has some limitations as discussed in JCLOUDS-872.
2015-04-02 15:36:54 -07:00
Andrew Gaul b85068ca7f JCLOUDS-651: Add S3 server-side copyBlob 2015-04-02 15:36:53 -07:00
Andrew Gaul 6a7a52642a Convert Windows to Unix line endings
Converted with:

mvn checkstyle:checkstyle --quiet -Dcheckstyle.output.file=/dev/stdout -Dcheckstyle.output.format=plain | grep warn | cut -f1 -d: | uniq | xargs -n 1 dos2unix
2015-03-31 18:25:54 -07:00
Andrew Gaul fadbbad8ac JCLOUDS-732: Filesystem portable object ACLs 2015-03-31 15:33:34 -07:00
Andrew Gaul deff8d8413 JCLOUDS-660: Filesystem portable container ACLs 2015-03-31 15:33:33 -07:00
Andrew Gaul 4f566d3b6e Address and suppress FindBugs warnings 2015-03-30 20:40:10 -07:00
Andrew Gaul df8407a1e8 Fix error-prone StringEquality 2015-03-30 19:06:48 -07:00
Andrew Gaul db5acb8588 Fix error-prone DepAnn 2015-03-30 19:06:48 -07:00
Andrew Gaul 866ac3fabb Fix error-prone PreconditionsCheckNotNullPrimitive 2015-03-30 19:06:48 -07:00
Ignasi Barrera 2a12587bf2 Next development version 2.0.0-SNAPSHOT 2015-03-24 11:07:27 +01:00
Ignasi Barrera 225c45fd4f Apache jclouds 1.9.0 release 2015-03-24 11:06:18 +01:00
Ignasi Barrera 565a102c15 Next development version 2.0.0-SNAPSHOT 2015-03-24 11:02:39 +01:00
Ignasi Barrera ce3eeefd85 Apache jclouds 1.9.0 release 2015-03-24 10:59:36 +01:00
Ignasi Barrera f469cf8b51 Next development version 2.0.0-SNAPSHOT 2015-03-24 10:52:01 +01:00
Ignasi Barrera bb41ed4341 Apache jclouds 1.9.0 release 2015-03-24 10:35:42 +01:00
Ignasi Barrera 4db2b75add Fixes OpenStack extension namespace configuration
* Improves extension namespace configuration to use Guice multibindings
  so each provider can cleanly provide their own namespaces.
* Fixes the HPCloud Compute volume attachment namespace and adds the
  corresponding live tests.
* Fixes the Rackspace CloudServers UK volume attachment namespace.
2015-03-23 22:40:43 +01:00
Zack Shoylev 8217248571 Adds a rackspace-specific test and a fix for the volume-attach extension problem. 2015-03-20 11:41:24 -05:00
Everett Toews 3077a0cc7c Modernize the VolumeAttachmentApiLiveTest 2015-03-20 11:41:24 -05:00
Everett Toews fdb2cfe567 Deprecate Nova API for volumes in favour of Cinder API for volumes 2015-03-20 10:08:07 +01:00
Matt Hurne bf00298f74 JCLOUDS-795: Retry with backoff upon receiving a 500 response from S3 with error code 'InternalError' 2015-02-25 18:30:30 -08:00
Andrew Gaul 85637ccee2 Fix ParseS3ErrorFromXmlContentTest
References JCLOUDS-794.
2015-02-25 18:29:17 -08:00
Andrew Gaul d7e25d9cc6 Use injected metadata instead of new instance
This addresses a regression from JCLOUDS-794.
2015-02-25 17:24:44 -08:00
Ka-Hing Cheung a2ee7341e3 fix non-recursive list of dir with empty prefix 2015-02-23 17:52:42 -08:00
Andrew Gaul a56fa3926a JCLOUDS-732: Swift portable object ACLs
Swift does not implement support for these:

https://blueprints.launchpad.net/swift/+spec/object-acls
2015-02-21 10:28:02 -08:00
Andrew Gaul 6c8be12703 JCLOUDS-732: S3 portable object ACLs 2015-02-21 10:28:02 -08:00
Andrew Gaul d8aea21f72 JCLOUDS-732: Local blobstore portable object ACLs
Intentionally unimplemented.
2015-02-21 10:28:02 -08:00
Andrew Gaul a49fb7941f JCLOUDS-732: Atmos portable object ACLs 2015-02-21 10:28:01 -08:00
Ka-Hing Cheung be7b9f4cc4 fix non-recursive list with empty prefix 2015-02-20 23:29:48 -08:00
Ignasi Barrera 7c9d6f7627 JCLOUDS-832: Don't expose the password credentials in the toString method 2015-02-20 12:31:57 +01:00
Zack Shoylev 07f1fb69a7 Fixes more tests with timing problems 2015-02-18 03:46:37 -06:00
Andrew Gaul 2553b09bb4 Build S3 multi-delete request with an XML library
This commit addresses test failures in
AWSS3BlobIntegrationLiveTest.deleteMultipleObjects.
2015-02-15 10:25:23 -08:00
Andrew Gaul c14141dec3 JCLOUDS-144: Swift multi-blob delete 2015-02-15 01:06:04 -08:00
Andrew Gaul ecc8548fbd JCLOUDS-144: S3 multi-blob delete 2015-02-15 01:06:03 -08:00
Zack Shoylev f6d43f6962 Fixes blob-related tests that fail occasionally 2015-02-13 17:25:15 -06:00
Andrew Gaul 4bb319a0cc JCLOUDS-820: Support multi-delete for generic S3
Tested against AWS and DreamObjects.  This commit only moves and
renames code.
2015-02-13 06:23:16 -08:00
Andrew Gaul ba2f8ac232 JCLOUDS-258: Support MPU for generic S3
Tested against AWS-S3 and DreamObjects.  This commit only moves and
renames code although some classes are duplicated for deprecation
purposes.
2015-02-12 17:59:33 -08:00
Andrew Gaul fcc991fa22 JCLOUDS-660: Swift portable container ACLs
Not implemented for legacy Swift.
2015-02-12 17:26:48 -08:00
Andrew Gaul ec3f035487 JCLOUDS-660: S3 portable container ACLs 2015-02-12 17:26:48 -08:00
Andrew Gaul 994f84e4f5 JCLOUDS-660: Local blobstore portable container ACLs
Intentionally unimplemented.
2015-02-12 17:26:47 -08:00
Andrew Gaul 261bb7eece JCLOUDS-660: Legacy Swift portable container ACLs
Intentionally unimplemented.
2015-02-12 17:26:47 -08:00
Andrew Gaul c1549e8ae2 JCLOUDS-660: Atmos portable container ACLs 2015-02-12 17:26:47 -08:00
Andrew Gaul eacfc8fdf1 Handle removal during iteration
Previously this threw UnsupportedOperationException due to
findGrantsForGrantee returning an immutable view.
2015-02-12 17:26:47 -08:00
lbortman 3e8413335d add availability zone to server 2015-02-12 13:47:00 -08:00
Zack Shoylev 8439c7238d Make cloudfiles live tests more stable by making them single threaded 2015-02-11 13:28:21 -06:00
Jeremy Daggett 59fc23249f Removed wildcard from getAttachInterfaceApi and fixed formatting 2015-02-11 09:42:22 -08:00
Evgeny Tarasenko a356ca9991 Implemented Nova compute attach interfaces extension. 2015-02-11 08:23:20 -08:00
Zack Shoylev a8982c48c6 Fixes swift - create container with metadata 2015-02-10 15:13:25 -06:00
Zack Shoylev ba4435040f Fixes a NPE in swift when maxResults is set to 0 2015-02-09 18:34:44 -06:00