Commit Graph

2565 Commits

Author SHA1 Message Date
Andrew Gaul cc0d0d40c5 JCLOUDS-844: Atmos putBlob ACLs 2015-12-22 00:46:33 -08:00
Andrew Gaul 86491bc607 JCLOUDS-844: Portable putBlob ACLs 2015-12-22 00:46:33 -08:00
Andrew Gaul 37f307ecd0 Skip testSetContainerAccess for local blobstores
These lack a public HTTP endpoint needed for this test.
2015-12-20 01:14:33 -08:00
Andrew Gaul ffa7c5c587 Update via canned ACLs instead of XML ACLs for S3
These are simpler than the full XML API and better supported by
non-AWS S3 implementations, e.g., Ceph, S3Proxy.  Further this makes
the provider more consistent when creating a bucket or object which
only supports setting canned ACLs.
2015-12-19 19:28:03 -08:00
Andrew Gaul c2ba0bef32 Allow updating S3 canned ACLs
These are simpler than the full XML API and better supported by
non-AWS S3 implementations, e.g., Ceph, S3Proxy.
2015-12-19 19:28:03 -08:00
Andrew Gaul 4c8f758e3a Loosen restrictions for S3 bucket naming
US Standard and most S3 clones allow more bucket names than DNS
allows.
2015-12-19 15:10:01 -08:00
Andrew Gaul 750c5d5316 JCLOUDS-1042: Remove unneeded ACL swizzling
The previous commit shows that we do not need this.
2015-12-18 23:28:39 -08:00
Zack Shoylev 7d73a0392a Adds nova extension names and an example test 2015-12-16 11:35:09 -06:00
Ignasi Barrera 962de83e86 JCLOUDS-1050: Fix BootstrapConfig deserialization in Chef 2015-12-16 16:05:09 +01:00
Zack Shoylev 415a8a6600 Allows extensions to fall back on using an optional name in keystone/openstack 2015-12-14 10:24:59 -06:00
Andrew Gaul b6e20822d8 Remove @Nullable from methods returning primitives
Found via error-prone.
2015-12-12 10:20:34 +08:00
Andrew Gaul b47c50b7a5 Correct malformed format strings
Found via error-prone.
2015-12-12 08:53:08 +08:00
Andrew Gaul 06e379d7a5 Remove @Nullable from methods returning primitives
Found via error-prone.
2015-12-12 08:53:07 +08:00
Graeme-Miller 75e2c6999c Instead of setting up static NAT for all networks, we setup static NAT for default network only 2015-12-11 16:39:20 +01:00
Andrew Gaul 4abd5dd16f Revert "Delete parts when removing Swift multipart objects"
This reverts commit 3c1588527d.
2015-12-08 10:08:22 +08:00
Josef Cacek 0fb1b459a6 JCLOUDS-1044 fix handling NULL JsonTokens in adapters under NullFilteringTypeAdapterFactories class 2015-12-05 22:45:24 +01:00
Ignasi Barrera 90423d7b9b Fix filesystem api in OSX 2015-11-24 15:38:10 +01:00
Ignasi Barrera 86dadc3a75 JCLOUDS-1038: Fix date deserialization in EC2 apis 2015-11-24 14:53:18 +01:00
Zack Shoylev 02b79106c3 Fixes tenantId when using the keystone admin extension 2015-11-23 16:03:02 -06:00
Zack Shoylev ab25fc7259 putblob fails when file exists 2015-11-23 16:01:46 -06:00
Ignasi Barrera 29a8474ba0 JCLOUDS-1041: Fix NPE when deserializing Port in Docker 1.9.1 2015-11-23 22:31:01 +01:00
Ka-Hing Cheung ca70d44143 don't remove directory if it's a blob
the filesystem blob store was always removing a/ when a/b was
removed, even if the client explicitly created a/. this patch
fixes that
2015-11-20 17:27:19 -08:00
Andrew Gaul f706d9c13a JCLOUDS-835: Atomically put filesystem blobs
Write to a temporary file and rename to the desired destination to
better match object store semantics.
2015-11-20 14:44:02 -08:00
Zack Shoylev 2efcb2c5a9 Fixes a windows locale bug with the "Everyone" principal 2015-11-19 11:50:15 -06:00
Andrew Gaul 3c1588527d Delete parts when removing Swift multipart objects
Swift implements multi-part upload with user-visible parts and an
explicit manifest.  When deleting an MPU blob it can delete only the
manifest or both the manifest and parts.  For consistency with other
providers, we now do the latter in the portable abstraction.  Swift
ignores the multipart-manifest=delete parameter for single-part
objects.  Fixes andrewgaul/s3proxy#92.
2015-11-17 23:06:33 -08:00
Andrew Gaul 721a0dbd3c Add support for standard_ia storage class
This enables storage with lower at-rest prices, higher request prices,
and lower availability.  Also rework existing reduced redundancy
parsing into a more generic storage class.  More background on
standard_ia:

https://aws.amazon.com/blogs/aws/aws-storage-update-new-lower-cost-s3-storage-option-glacier-price-reduction/
2015-11-16 14:04:51 -08:00
Andrew Gaul 22c789da9e JCLOUDS-894: Use prefix when listing MPU on Swift
Previously we only used the blob name and not the blob
name/slo/timestamp/part size cookie which yield extra parts when
listing an MPU with parts from a previous MPU.  Listing using the
stricter prefix gives the expected results.
Fixes andrewgaul/s3proxy#91.
2015-11-13 12:15:29 -08:00
Andrea Turli 33522b8945 add docker NetworkAPI
- bump api version to 1.21
- use `alpine/3.2` image for liveTests
- use `kwart/alpine-ext:3.2-ssh` image as ssh-able image
- assert request bodies created correctly in NetworkApiMockTest
2015-11-13 16:47:01 +01:00
Zack Shoylev 41ce90ec36 Fixes tests failing on windows filesystems Makes windows behavior more consistent, especially for deletes 2015-11-11 21:01:13 -06:00
Ignasi Barrera 9df30c5a09 JCLOUDS-717: Join Enterprise and OpenSource Chef 2015-10-30 01:02:53 +01:00
Ignasi Barrera 985d45122b JCLOUDS-987: Create security groups in AWS if subnetId is specified 2015-10-29 01:54:03 +01:00
Ignasi Barrera 0e7283e191 Convert logback.xml to unix format 2015-10-28 23:15:28 +01:00
Andrew Gaul 592a4e7cce JCLOUDS-786: Remove legacy swift provider
The modern openstack-swift provider obsoletes this.
2015-10-25 20:39:39 -07:00
Stuart Hendren ada17d3e47 [elasticstack] fix for incorrect logging message
Was logging when it was present rather than when it had failed to find it.
2015-10-24 21:39:40 -07:00
Josef Cacek 746038e8b2 [JCLOUDS-1021] Add JavaDoc to cover behavior of repoTags() method in org.jclouds.docker.domain.Image 2015-10-21 17:16:27 +02:00
Josef Cacek 3260fa5803 Add LiveTest to cover loginPort (SSH) customization in Docker. 2015-10-21 16:10:29 +02:00
Josef Cacek f0fc31e299 [JCLOUDS-1020] fix query parameter name in Docker's BuildOptions 2015-10-21 16:10:25 +02:00
Josef Cacek 3342e88f80 [JCLOUDS-1017] add tagImage() method to ImageApi 2015-10-21 16:10:21 +02:00
Josef Cacek 9271c11b67 [JCLOUDS-1010] use a lightweight image as a base for Docker build test 2015-10-21 16:10:18 +02:00
Ignasi Barrera 01d43f503b JCLOUDS-1014: Make the login port lookup function configurable 2015-10-19 16:14:05 +02:00
Andrew Gaul 4829bbbd2c JCLOUDS-964: S3 multipart copy 2015-10-14 23:17:40 -07:00
John McDonnell ef816119b1 AS per JCLOUDS-1012 project and projectId parameters are not supported. This commits adds the 2 parameters to the usage response. 2015-10-13 10:35:13 +02:00
John McDonnell c73b82b58b As in JCLOUDS-991 it appears size is missing as a UsageResponse parameter, particularily for Volume usages. This commit adds it into the UsageRecord class. 2015-10-07 20:42:47 +02:00
googlielmo 8ca3a326c8 Fix dnsSearch type
- dnsSearch declared as String, corrected to List<String>
2015-10-05 12:36:43 +02:00
Josef Cacek f6ad2cc380 [JCLOUDS-1007] Implemented Docker Exec support in MiscApi 2015-10-02 16:29:50 +02:00
Josef Cacek d7b3f5d98f [JCLOUDS-1011] force closing HTTP client connection after using Docker build REST API method 2015-10-02 15:58:42 +02:00
Josef Cacek 288d387610 Format code of DockerUntrustedSSLContextSupplier to fit jclouds code conventions and checkstyle settings 2015-09-28 11:20:30 +02:00
Josef Cacek 4e308868bd [JCLOUDS-1006] Fix DockerUntrustedSSLContextSupplier to allow tests runs against endpoints without TLS configured 2015-09-28 11:19:02 +02:00
Josef Cacek e21767dbde JCLOUDS-997 Allow nullable docker configuration - the null has another meaning than empty list/map (e.g. CMD: null=default, emptyList=no-command) 2015-09-18 10:28:37 +02:00
Timur Alperovich 2c2b498066 JCLOUDS-217: Old Swift should encode blob names.
When constructing the URI from the blob names, the deprecated Swift
provider should encode the blob names.
2015-09-17 13:08:44 -07:00
Timur Alperovich 7151a3875b JCLOUDS-217: Cloudstack: avoid encoded strings.
jclouds should not use encoded strings in tests for Cloudstack.
2015-09-17 13:08:44 -07:00
Andrew Kennedy 3901403379 Added ExtraHosts option to template 2015-09-17 14:48:30 +02:00
Josef Cacek 15651822be JCLOUDS-996 fix location of NetworkMode parameter from Docker Remote API and make it configurable from DockerTemplateOptions 2015-09-17 12:01:34 +02:00
Timur Alperovich 85357cf92a JCLOUDS-217: Filesystem: avoid trailing spaces.
On Windows, we need to avoid trailing spaces, as the test fails to
create the required blob. Specifically, we should not test blobs named
" " and "%20 ".
2015-09-08 15:19:03 -07:00
Timur Alperovich f7370d2b12 JCLOUDS-217: Nova: do encode form parameters.
OpenStack Nova tests should not pre-encode parameters before passing
them to generate the HTTP requests, as they end up encoded twice.
2015-09-08 15:19:03 -07:00
Timur Alperovich 9b15fdfde8 JCLOUDS-217: SQS: Do not encode parameters.
SQS API tests should not encode parameters when constructing the
expected HTTP requests.
2015-09-08 15:19:03 -07:00
Timur Alperovich d70127f126 JCLOUDS-217: EC2: Do not encode form parameters.
EC2 tests should not pre-encode form parameters when constructing the
expected HTTP responses.
2015-09-08 15:19:03 -07:00
Timur Alperovich b87ca1b33a JCLOUDS-217: CloudStack do not encode parameters.
Parameters when creating an HTTP request should not be encoded in the
CloudStack tests, as they end up being doubly encoded.
2015-09-08 15:19:03 -07:00
Timur Alperovich 6df2233867 JCLOUDS-217: Do not encode strings in STS tests.
When constructing the expected HTTP requests in STS tests, STS API
should not pre-encode the strings. The form parameters are already
encoded and are otherwise encoded twice.
2015-09-08 15:19:02 -07:00
Timur Alperovich a0b95ea7a3 JCLOUDS-217: Fix encoding handling in S3.
When constructing the query path, S3 does not properly handle encoded
paths. For example, if a blob named %20 is to be placed into the blob
store, S3 would end up placing blob named " " (what %20 represents).
This occurs because the S3 provider examines the URI's path portion
(which is presented in a decoded fasion to the caller). After
examining the path, it is not encoded again. Instead, we should call
getRawPath() to avoid this issue.

There are two issues on the decoding path:
1. Given a blob named " ", S3 API will throw a RuntimeException due to
a NULL check -- the key that it uses is NULL to represent the XML
content " " corresponding to the blob name.
2. Given a blob named "%20 ", S3 API will generate a URI for a blob
named "%20%20", which is also incorrect. The correct URI would be
"%2520%20" (escaping the first "%" and " " characters).

The first issue is due to the currentOrNull() helper, which calls
trim() on the string and then compares the string to an empty string.
This means that a blob named " " will be parsed as "" and then
converted to NULL as the result of that method. Passing "null" as the
key then fails in a number of places (notably, appendPath()).

The second issue is due to the appendPath() method in the jclouds Uris
class. The issue here is that appendPath() calls urlDecode() and
passes the result to path(). The path() method, in turn, also calls
urlDecode(). After these transformations, a properly encoded blob of
the form %2520%20 turns into "%20 " and then "  " (two spaces). After
these transformations the path is encoded again, resulting in "%20%20"
(which is wrong).
2015-09-08 15:19:02 -07:00
Irmo Manie 9be7339c32 JCLOUDS-993 - Add missing parameters to `VirtualMachineApi`
- `serviceOfferingId` at `#changeServiceForVirtualMachine`
- `options` of type `UpdateVirtualMachineOptions` at
  `#updateVirtualMachine`
2015-09-06 23:59:15 +02:00
Irmo Manie 89f81840d2 JCLOUDS-995 - Add `userData` property to `CloudStackTemplateOptions` and map it in the underlying adapter. 2015-09-06 23:58:21 +02:00
Oliver Gondža edde721937 JCLOUDS-962: Make all @Provider methods final 2015-09-02 23:54:44 +02:00
Nate Rosenblum 496e27f1af Always return ETag from filesystem object store
If the Content-MD5 extended attribute is missing for an object,
recompute it and return as the ETag. Primarily affects OS X.
2015-08-20 14:46:17 -07:00
Timur Alperovich 238cc525f9 JCLOUDS-992: Old Swift: treat directories as blobs 2015-08-20 12:42:11 -07:00
Timur Alperovich a2d8dfcb27 JCLOUDS-992: Handle directories as blobs in S3. 2015-08-20 12:42:11 -07:00
Timur Alperovich 2c417c83a6 JCLOUDS-992: Handle directories as blobs in Swift. 2015-08-20 12:42:10 -07:00
Josef Cacek 644541a2f4 JCLOUDS-990: fix condition DockerTemplateOptions.copyTo() method 2015-08-19 14:15:25 +02:00
Zack Shoylev 92ccea8c4f Adds a mock test for a much longer token format for Rackspace identity 2015-08-17 18:01:28 -05:00
Ignasi Barrera 586e31805a [JCLOUDS-898] Allow insecure connection in Docker.
Original author was @andreaturli and the original patch was #172.
2015-08-14 10:56:07 +02:00
Andrew Gaul e2b6950462 JCLOUDS-872: Swift copy object and append metadata
The existing method replaces metadata.
2015-08-11 13:26:56 -07:00
Andrew Gaul 4f32e863ad JCLOUDS-883: Replace metadata during Swift copy
Previously Swift copy would append metadata instead of replacing it.
2015-08-06 11:26:45 -07:00
Adrian Bravo eafdeb5266 JCLOUDS-967: Chef Client Model update with public key attribute
JCLOUDS-967: Made PubKey nullable and added tests to verify serialization works with and without it
2015-08-05 09:40:28 +02:00
Andrew Gaul d86a6c9ee1 Correct Checkstyle violations 2015-07-31 15:28:25 -07:00
Andrew Gaul 86f47394bf Correct FindBugs violations 2015-07-31 14:53:58 -07:00
Andrew Gaul 98b3105669 Address error-prone errors
Mostly of the form, Collection.size() >= 0.
2015-07-30 15:40:03 -07:00
Arvind Nadendla ba55ab4b12 Fix bug where password information is printed in logs in case of exceptions 2015-07-30 12:16:16 -05:00
Ignasi Barrera 5d30f859aa Fix AWS and EC2 TemplateBuilder live tests 2015-07-29 11:58:19 +02:00
Zack Shoylev 632e0c3f66 Fixes an error caused by not using an assert by @CheckReturnValue. Also see jsr305 2015-07-28 12:01:57 -05:00
Marcus Wanner 35b71c5728 Add awareness of Manila and SHARED_FILESYSTEM openstack projects to keystone 2015-07-27 07:22:43 -05:00
Arvind Nadendla d7c4867752 add os-hypervisors extension for openstack-nova 2015-07-27 07:05:06 -05:00
Csaba Palfi 55a7d8ce3c [docker] upgrade to docker 1.7 and refactor TLS support 2015-07-22 10:22:36 +02:00
Ka-Hing Cheung 2c578d7bcb marker should be null when there are no more items 2015-07-21 15:46:58 -07:00
Ignasi Barrera ed1149141d Added missing virtualization types after rebasing on top of 1fe90b0 2015-07-20 18:23:11 +02:00
Alex Heneveld a6aff306e7 add deprecated flag to Hardware and prefer non-deprecated hardware types
deprecated hardware types in EC2 are flagged using this, according to latest AWS advice,
to fix situations where deprecated hardware types would be chosen when a non-deprecated alternative exists.
we also deprecate T2 because it requires a VPC.

also fixes semantics of ImagesToRegionAndIdMap to match the logic used in the TemplateBuilderImpl;
RegionAndName should contain the ID not the ProviderID.  this is only really used in tests so no external impact.
(previously the cache only worked if provider ID matched the non-location segment of the image ID.)
however this does now assert that image id's are in the right format for AWS, as suggested by @nacx.
2015-07-20 17:40:07 +02:00
Alex Heneveld 04a4095ca6 indicate virtualization type for all ec2 instance types 2015-07-20 17:40:06 +02:00
Arvind Nadendla a38ee21207 Split availability Zone API to return Basic Info and Detailed info 2015-07-16 13:11:52 -05:00
Zack Shoylev ca3c2622ff Adds missing floating-ip-pool expect test
Fixes broken namespace for the ip pool extension
2015-07-15 16:25:01 +02:00
Zack Shoylev dcba6fe51a Fixes missing @Deprecated annotation 2015-07-15 16:11:12 +02:00
Ka-Hing Cheung ad38e48205 range get of manifest object has no etag 2015-07-14 17:20:14 -07:00
Arvind Nadendla 537f411ebd Adding missing "hosts" field to OpenStack Nova AvailabilityZone 2015-07-14 18:54:40 -05:00
Timur Alperovich e4161a59bb Move tests to test the file system API.
Move the prefix and delimiter tests from BaseContainerLiveTest to
BaseContainerIntegrationTest, as that class is subclassed in
Filesystem integration tests. This will make sure the file system blob
store will not regress.

The ListContainerTest is updated to _not_ use a file separator
character, as that leads to a possible creation of directories.
Instead, "-" is used as the delimiter for the delimiter option tests.
2015-07-14 14:11:34 -07:00
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 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
Andrew Kennedy 4edaf18226 Minor fixes for the Docker provider
- Tidy up DockerTemplateOptions and add tests for new options
- Make Dns a list of strings in HostConfig
- Change template option builder to remove use of optionals
- Update tests to verify HostConfig.Dns as list
2015-06-29 11:17:53 +02: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
Jakub Bartecek be6ce141b6 Options use boolean primitive instead of object
The Boolean object makes passing null value possible, which would cause NPE.
2015-05-05 10:55:39 +02:00
Jakub Bartecek 867b7f52e4 Add option to remove a volume, when removing docker container 2015-05-05 10:55:38 +02:00
Andrea Turli 26d925c2de add ConnectionSpec.CLEARTEXT for DockerEngine running w/t TLS 2015-05-04 09:08:44 +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
Andrea Turli e4477e579a DockerTemplateOptions: use the correct return type 2015-04-10 15:36:43 +02: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
Andrew Kennedy 1685758f0d Updates for new Docker port mapping option based on review comments
- Change to portBindings and Map intead of List
- Tidy up formatting for DockerTemplateOptions
- Remove superfluous checkNotNull calls
- Document the Map contents for portBindings option
- Remove unused import to fix Checkstyle
2015-04-08 21:38:00 +02:00
Andrew Kennedy 0cea1efd2f Add template option to specify direct (unmapped) ports 2015-04-08 21:38:00 +02: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 944f14c687 Next development version 2.0.0-SNAPSHOT 2015-03-24 10:56:30 +01:00
Ignasi Barrera 08fae12ef4 Apache jclouds 1.9.0 release 2015-03-24 10:54:19 +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
Andrea Turli 0418acb6e7 AzureCompute: initial work to support ComputeServiceAdapter
improve DeploymentToNodeMetadata
enhance Deployment value object
add support for get/set NetworkConfiguration
added AzureComputeTemplateOptions to manage networkConfigurations
add support for create/checkAvailable/list storageAccounts
add support for inboundPorts
add more RoleSize
add support for SecurityGroupExtension by using NetworkSecurityGroup
fix destroy node
fix LocationToLocation
fix OsImageToImage
2015-02-27 12:30:50 +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
Andrew Gaul 8a2c821e13 JCLOUDS-794: Use bogus URL for generic S3 endpoint
This prevents users from accidentally connecting to AWS.
2015-02-04 13:42:03 -08:00
Ignasi Barrera acd06b3024 JCLOUDS-462: Fix AWSEC2TemplateBuilderLiveTest 2015-02-04 11:04:18 +01:00
Ignasi Barrera 9a8a604bac Added C4 instance types 2015-02-04 11:04:18 +01:00
Andrew Gaul 10690f9293 Handle null return value from File.listFiles
This matches the behavior of other call sites.
Fixes andrewgaul/s3proxy#39.
2015-02-03 20:22:58 -08:00
Zack Shoylev 9fc2ca98a0 Adds a flavor filter for nova to make sure the Ubuntu image works well 2015-01-30 20:13:55 -06:00
Zack Shoylev c64470e0b1 Fixes flavor and template tests to be more robust. 2015-01-30 15:19:55 -06:00
Aled Sage bdfd1facb9 JCLOUDS-529: fix aws-ec2 cleanupIncidentalResources
- Some users get a DependencyVioloation, rather than InvalidGroup.InUse,
  when attempting to delete the security group. This caused
  cleanupIncidentalResources to propagate an exception.
- Fixes it by converting this to an IllegalStateException (in same
  way as is done for “InUse”)
- Adds tests (using MockWebServer) for happy-path and for failing
  to delete the security group with each of InUse and DependencyViolation
  responses.
- Adds Timeouts.cleanupIncidentalResources
- Use that timeout in EC2, when retrying the deletion of security group
  on VM deletion (previously hard-coded as 3 seconds).
- Configure that timeout in the tests, so deterministic number of retries
2015-01-30 11:07:25 +01:00
Zack Shoylev a8c5e28129 Windows fixes, mostly separator related. 2015-01-28 19:47:19 -06:00
Ignasi Barrera cc49f934d7 Fixed checkstyle violations 2015-01-27 10:45:08 +01:00
Taylor Jones 73600c8174 fix for JCLOUDS-655 2015-01-26 14:26:30 -06:00
Andrew Gaul 34733e991b Skip test which cannot run on openstack-swift 2015-01-24 15:12:38 -08:00
Andrew Gaul 7863df69a6 Skip tests which cannot run on Atmos 2015-01-24 14:08:08 -08:00
Andrew Gaul affad9fa3b JCLOUDS-96: JCLOUDS-351: Fix S3 copy if tests
Use correct options in testCopyIfUnmodifiedSince, use looser time
bounds, and ensure that tests throw HttpResponseException when
expected.
2015-01-24 10:56:21 -08:00
Chris Custine b3691fed7c Maven bundle plugin is not adding org.jclouds.* packages to import for some reason 2015-01-23 19:48:17 -07:00
Andrew Gaul c770ffbeb0 Use sorted set to order relative paths correctly 2015-01-22 11:37:46 -08:00
Jeremy Daggett c902fbf906 Add CDN service type for OpenStack Poppy 2015-01-21 11:20:37 -08:00
Everett Toews 7375ca4619 Normalize deprecation messages to make them easier to find 2015-01-21 11:00:43 -06:00
Ka-Hing Cheung 3cabb196ce fix usermetadata check on OS X
Java on OS X does not support extended attributes, which the
filesystem blobstore uses to implement user metadata. This disable
the relevant test on OS X
2015-01-20 17:33:22 -08:00
Jeremy Daggett ade72d44ef Add Rackspace CDN service type 2015-01-16 10:24:37 -08:00
Jeremy Daggett 09641ec2da Split Auto dependencies into auto-service and auto-value 2015-01-16 10:04:10 -08:00
Andrew Gaul e170f1e632 JCLOUDS-654: Add size to Swift StorageMetadata
This allows callers to read the content length during container
listing.  Follow-on to fae097e144.
2015-01-15 17:46:24 -08:00
Andrea Turli 6afc3c889d fix docker unit tests 2015-01-14 17:32:11 +01:00
Andrea Turli f1bf27bfaf support docker 1.4.1 (API v1.16) 2015-01-14 17:09:53 +01:00
Andrea Turli 14da3d680a support for docker 1.3.2
- update value objects (Container, Config)
- add new value object (Resource, StatusCode)
- add more options for ContainerApi
- add support for pause/unpause, restart, kill, copy and attach APIs + Mock and Live tests
- add *ParseTest
- refactor MockTests
- removed *Options.NONE
- cleanup low-value javadoc
- more coverage in LiveTests
- removed useless DockerProperties
- add comments for TLS issue
- use Date where needed
- fix listImages
- add package-private constructor to value classes
- remove KillOptions, RestartOptions, StopOptions in favour of @QueryParam
- use PEM instead of PKCS12 format
- update docker/pom.xml to use sshj dependencies
- explicit usage of OkHttp driver
- simplify DockerApiMetadata
- add bouncycastle driver explicitly
2015-01-14 16:48:24 +01:00
Ignasi Barrera 8f9acd1cad Custom Chef version in the Omnibus installer 2015-01-14 11:33:12 +01:00
Ka-Hing Cheung 5edd5de38c make xattr work in docker volume
when you bind a host volume into docker, java does not correctly
detect that and checks the xattr support on the root fs instead
of the host fs. The root fs often does not support xattr, so
the check would fail even if the target really does support xattr.

the fix is just try setting the xattrs anyway, and let them fail
if there really isn't xattrs support
2015-01-13 18:08:55 -08:00
Andrew Gaul 0fad16e07f Enable testListContainerMarker for Atmos
Confirmed that this passes against Atmos Online.
2015-01-12 19:42:35 -08:00
Andrew Gaul 58612bc473 Expand pagination test and enable for Atmos
Tested against atmos, aws-s3, azureblob, filesystem,
google-cloud-storage, rackspace-cloudfiles-us, and transient.
2015-01-12 17:43:42 -08:00
Ka-Hing Cheung 5cc3b243fc disable directory blob tests in OS X
On OS X, java doesn't support xattrs, which is required by
directory blobs. Disable those tests on OS X
2015-01-12 12:32:41 -08:00
Andrew Gaul fae097e144 JCLOUDS-654: Add object size to StorageMetadata
This allows callers to read the content length during container
listing.  Tested against: atmosonline, aws-s3, azureblob, filesystem,
and transient.  Intentionally not implemented for legacy swift
provider.
2015-01-09 22:34:56 -08:00
Andrew Gaul 2c32cfee3b Add test for UpdateContainerOptions.anybodyRead 2015-01-09 22:18:19 -08:00
Andrew Gaul 694558db0c Fix testListContainerWithZeroMaxResults on Swift 2015-01-09 22:12:49 -08:00
Andrew Gaul e8f925225c Bind Swift content metadata in multipart upload 2015-01-09 21:59:25 -08:00
Andrew Gaul 317089c77e Remove tests duplicated by testPut 2015-01-09 21:59:25 -08:00
Andrew Gaul 91c47bfd92 JCLOUDS-801: Add portable multipart upload tests
Exercise both repeatable and non-repeatable payloads.  Tested against
AWS-S3, Azure, and legacy Swift.  Skipped on all other providers.
2015-01-09 21:59:25 -08:00
Ka-Hing Cheung b7ab8b18a0 support directory blobs
make the filesystem blob store distinguish between a/ and a. a/
must be a directory blob with no content and only metadata

on listing, only directories with md5 attribute is considered a
blob and returned
2015-01-09 16:28:16 -08:00
Andrew Gaul 77eaa2c1f9 Add container creation date to local blobstores 2015-01-09 14:10:33 -08:00
Jeremy Daggett d3c1e2eab4 Use AutoService to generate service loader metadata 2015-01-09 11:22:12 -08:00
Ka-Hing Cheung 692691bcdc fix fs container validator test
previoisly it was testing blob key validator instead of container
name validator
2015-01-07 11:36:47 -08:00
Ignasi Barrera 6b350fb6b7 JCLOUDS-792: Configure chef-client security attributes
This commit also improves some internal behavior related to the
bootstrap configuration generation, and deprecated some methods that
will be removed in upcoming versions.

* Removes all methods that return the bootstrap DataBag or the raw
  configuration json to return the BootstrapConfig object instead.
* Deprecates all methods that provide support for old Chef versions.
* Formats the Enterprise Chef provider according to the jclouds
  formatting guidelines.
* Deprecates the ChefContext view. That view is not an abstraction and
  only provides access to the ChefService. It can be obtained from the
  ChefApi itself.
2015-01-05 14:15:54 +01:00