Commit Graph

2174 Commits

Author SHA1 Message Date
Andrew Gaul 0b89b1fd10 Ensure that Content-MD5 has 128 bits
Update many tests Content-MD5 headers and ETag responses.
2014-09-04 16:57:48 -07:00
Andrew Gaul 1b39589092 Ensure that deprecated methods are fully annotated
Found with Google error-prone.
2014-09-04 16:54:52 -07:00
Jeremy Daggett 398e8e30a4 Updated api-version and removed upper bounds wildcards for extension APIs 2014-09-04 09:33:58 -07:00
Andrew Gaul 46daeae1d9 Address masked fields FindBugs warning 2014-09-02 15:24:34 -07:00
Andrew Gaul 8f8b6dd7ce Further FindBugs fixes 2014-09-02 15:24:33 -07:00
Andrew Gaul 8d9850d8da Correct Checkstyle violations 2014-08-31 20:04:03 -07:00
Andrew Gaul 34cfdbe266 Enforce Override annotation via Checkstyle
Also remove bogus inheritDoc on base and static methods.
2014-08-31 19:37:50 -07:00
Andrew Gaul 195998b3b6 Miscellaneous FindBugs fixes 2014-08-30 14:33:10 -07:00
Andrew Gaul 5399cb6877 Avoid unnecessary boxing
Found with FindBugs.
2014-08-30 14:30:47 -07:00
Andrew Gaul 63d43f236e Correct unusual equals implementations
Found with FindBugs.
2014-08-30 14:30:44 -07:00
Andrew Gaul df996f3231 Set Content-MD5 only if ETag has correct format
Previously this check was more lenient than it should have been.
2014-08-28 21:50:57 -07:00
Andrew Gaul 550018a68d Use randomByteSource to generate test data
This avoids buffering the entire bolus of data in-memory.
2014-08-27 15:59:36 -07:00
Andrew Gaul 37d65d3d81 Avoid primitive wrapper constructors 2014-08-26 17:51:11 -07:00
Andrew Gaul 1b824afbfc Remove redundant modifiers from interfaces 2014-08-26 17:34:13 -07:00
Andrew Gaul 480f0e883d Prevent instantiation of utility classes
Also prevent extension.
2014-08-26 12:23:36 -07:00
Andrew Gaul 74fb8f0183 Add whitespace after semicolons
Also correct some bad line-wrapping.
2014-08-26 11:06:00 -07:00
Ignasi Barrera cd4ce6b192 JCLOUDS-428: Use Maps with a consistent iteration order 2014-08-26 10:32:48 +02:00
Jeremy Daggett ddd00a20de Added assertion for versioned OpenStack extension APIs. Required for the Neutron v2 API. 2014-08-22 20:30:46 -07:00
Jeremy Daggett 66627e94b8 Swift API region cleanup
Conflicts:
	openstack-swift/src/test/java/org/jclouds/openstack/swift/v1/features/ObjectApiMockTest.java
2014-08-22 11:06:48 -07:00
Jeremy Daggett f04e2c2c2e Fix Maven parent.relativePath warnings 2014-08-21 11:25:34 -07:00
Andrew Gaul 80a4430035 JCLOUDS-679: Use HEAD for S3 bucketExists
This method costs 0.4 cents per 10,000 requests instead of 0.5 cents
per 1,000 requests:

http://aws.amazon.com/s3/pricing/

API reference:

http://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketHEAD.html
2014-08-20 12:44:20 -07:00
Jeremy Daggett e711275fb1 Prefer isEmpty() for collections rather than size() 2014-08-20 11:07:48 -07:00
Jeremy Daggett 4030a4c4f0 Removed @Nullable annotations on region parameters 2014-08-13 16:04:05 -07:00
Jeremy Daggett 7d70362590 Removed @Nullable annotations on region parameters 2014-08-13 15:37:54 -07:00
Jeremy Daggett aa04ef007f Prefer Regions to Zones 2014-08-13 10:02:44 -07:00
Jeremy Daggett 744cd5d7eb Prefer Regions to Zones in OpenStack APIs 2014-08-13 09:58:53 -07:00
Andrew Gaul 9009bb5268 JCLOUDS-658: use xattr only on supported systems
Mac OS X HFS+ does not support UserDefinedFileAttributeView:

https://bugs.openjdk.java.net/browse/JDK-8030048
2014-08-12 12:30:06 -07:00
Ignasi Barrera 95b6064c3d JCLOUDS-496: Use the security groups options in the portable TemplateOptions 2014-08-12 13:34:29 -04:00
Andrew Gaul 204a6c7f3b JCLOUDS-658: xattr for filesystem blob metadata
This allows the filesystem blobstore to mimic real blobstores more
accurately.  This also doubles the speed of getBlob by storing the
Content-MD5 header instead of recalculating it.
2014-08-11 12:56:14 -07:00
Andrew Phillips 4ef699a35c Fixing compilation errors caused by Payload no longer being an InputSupplier
See 80a0256c in jclouds
2014-08-11 15:41:34 -04:00
Andrew Gaul 4073f7fdc4 JCLOUDS-653: Address Guava 18 deprecations
Mostly renaming Objects.toStringHelper to MoreObjects.toStringHelper.
2014-08-08 11:34:44 -07:00
Andrew Gaul 95cfc0d950 JCLOUDS-653: Address Guava 18 deprecations
Mostly renaming Objects.toStringHelper to MoreObjects.toStringHelper.
2014-08-08 11:12:21 -07:00
Jeremy Daggett 23d5290526 OpenStack Cinder general cleanup. Prefer ByteSourcePayload. 2014-08-06 15:20:03 -07:00
Andrew Gaul 59462747e7 Reset StringBuilder instead of creating new ones
This avoids unneeded garbage, especially during XML parsing.  Replaced
with:

find -name \*.java | xargs sed -i 's/^\( *[^ ]*\) = new StringBuilder();$/\1.setLength(0);/'
2014-08-06 11:22:49 -07:00
Andrew Gaul 9e9acf1f3e Address Checkstyle violations 2014-08-05 17:13:29 -07:00
Jeremy Daggett 95a3c7ec2c JCLOUDS-646: Copied Cloud Identity v1.1 classes from openstack-common and fixed incorrect Keystone package names 2014-08-05 09:01:21 -07:00
Andrew Phillips 55e403d222 Updating project version to 2.0.0-SNAPSHOT
Follow-up to 82b23fc
2014-08-05 11:50:02 +02:00
Andrew Phillips 271d50fe07 Updating project versions to 2.0.0-SNAPSHOT
Follow-up to be8bc22
2014-08-05 11:36:07 +02:00
Andrew Phillips f8b5f5216f Up to 2.0.0-SNAPSHOT after the 1.8.0 release 2014-08-05 10:35:49 +02:00
Andrew Phillips e3d9851216 Up to 2.0.0-SNAPSHOT after the 1.8.0 release 2014-08-05 09:10:24 +02:00
Ignasi Barrera 8cb2cb449b Revert "Move jclouds-chef to the main jclouds repo"
This change will be added again after the 1.8.0 release.

This reverts commit 867c7a407c.
2014-07-29 00:38:46 +02:00
Ignasi Barrera 867c7a407c Move jclouds-chef to the main jclouds repo 2014-07-28 21:08:54 +02:00
Andrew Phillips eba727fef7 'iso8601DateParseWithOptionalTZ' -> 'iso8601DateOrSecondsDateParse' in DateService
Follow-up to d57bbebe
2014-07-28 12:20:49 -04:00
Luciano P. Sabenca(luciano.sabenca@movile.com) 2e81343297 JCLOUDS-624 - Fixed bug in ListNodes
To fix this bug, I used the approach debated in the above issue: create
new methods to do the operation using an ExecutorService provided by the
user.The the old methods are still working, but now the operations in
those methods are not concurrent anymore.
2014-07-28 15:31:11 +02:00
Shri Javadekar d57bbebe7e Try iso8601SecondsDateParse if iso8601DateParse fails.
S3 compatible blobStores sometimes return date in the format:
"2014-07-23T20:53:17+0000" instead of the more common
"2014-07-23T18:09:39.944Z". This caused jclouds to barf with an
IllegalArgumentException.

This commit tries to parse both the formats for S3. The exception
is thrown if both fail.

Added unit tests for the same.
2014-07-26 22:19:54 -07:00
Andrew Gaul 9677ed18eb Remove loop to gather metrics
This loop dramatically increases integration test run-time for no
discernible benefit.
2014-07-26 11:08:16 -07:00
Andrew Gaul 1e1eb5a092 Add deleteContainerIfEmpty to BlobStore
This matches how most blobstores operate: delete container is a single
operation, not a compound operation which recursively deletes blobs.
Azure is the only provider which allows deleting a non-empty
container.
2014-07-25 23:02:39 -07:00
Andrew Gaul 5c850947da Correct typo 2014-07-24 23:41:13 -07:00
Andrew Gaul 10262df81c Add symbolic error codes for Atmos 2014-07-24 16:30:42 -07:00
Andrew Gaul 5c8bdcdfbb Remove ByteSources.asByteSource
This method breaks the contract of ByteSource which specifies that
openStream can produce multiple independent streams.
2014-07-24 13:02:13 -07:00
Andrew Gaul 011aed71ed Prefer ByteStreams2 over ByteSources.asByteSource
The latter breaks the contract of ByteSource which specifies that
openStream can produce multiple independent streams.
2014-07-22 16:56:00 -07:00
Andrew Phillips 365ac21f1e Addressing a Checkstyle violation 2014-07-22 13:35:43 -04:00
Andrew Gaul d1bd551edf Add support for filesystem last modified 2014-07-21 12:25:04 -07:00
Jeremy Daggett 0d77d8c2b1 JCLOUDS-554: Update Nova default API to v2 2014-07-21 10:50:46 -07:00
Andrew Gaul f17c876d8d Replace const.txt file input with synthetic inputs
This commit replaces file resource-based test inputs with in-memory
equivalents.  This is more consistent and efficient than the previous
approach.  Also resized some test inputs to be partSize + 1 instead of
2 * partSize.  Tested against aws-s3, blobstore, core, cloudfiles-us,
and filesystem.
2014-07-19 18:35:25 -07:00
Andrew Gaul 370194b2be Enable more filesystem integration tests
Other tests will require Java 7 xattr support.
2014-07-19 12:17:23 -07:00
Andrew Gaul dd3dc9790e Close streams in integration tests
Also remove bogus delete workaround.  Previously unclosed
FileInputStream caused test failures on Windows which cannot delete
open files.  Found with Kohsuke's file-leak-detector.
2014-07-19 05:25:20 -07:00
Aled Sage 1fb286809e JCLOUDS-549: Fix NPE in LoginCredentials.toString
- also deprecates LoginCredentails.get(Password|PrivateKey)
- use getOptionalPassword and getOptionalPrivateKey instead
2014-07-18 14:09:18 +01:00
Andrew Gaul fb60d76704 JCLOUDS-622: Remove most vestiges of InputSupplier
Guava 16 deprecated InputSupplier and a future release will remove it.
2014-07-16 16:07:59 -07:00
Jeremy Daggett 1a3ad75efd JCLOUDS-40: Unasync Rackspace Cloud Identity 2014-07-16 08:47:39 -07:00
Andrew Gaul 09cf57101d Reduce Swift integration test input size
Previously testMultipartChunkedFilenames uploaded 55 MB and now it
uploads 5 MB.
2014-07-15 18:21:42 -07:00
Andrew Gaul 86de7923a1 Improve use of ByteSource 2014-07-15 18:21:42 -07:00
Jeremy Daggett 801aecafea JCLOUDS-40: Unasync OpenStack Nova API 2014-07-15 14:29:09 -07:00
Andrew Gaul a8b106c2bb JCLOUDS-622: remove calls to InputSupplier methods
Guava 16 deprecated these methods and Guava 18 will remove them.
2014-07-15 03:09:58 -07:00
Andrew Gaul f4eca0422d Enforce correct MD5 for local blobstores
Matches behavior of real blobstores.
2014-07-10 22:19:42 -07:00
Christopher Dancy 3659a5f583 JCLOUDS-607: ComputeService.createNodesInGroup throws NPE on FloatingIPApi.create() 2014-07-07 19:46:54 -04:00
Markus von Rüden a39eadce50 JCLOUDS-619: Introduce MultipartNamingStrategy to generate part names correctly. 2014-07-04 01:06:46 -07:00
Andrew Gaul 05c37c2c77 Consistently use Square's mockwebserver
Google mockwebserver merged into OkHttp as per:

https://code.google.com/p/mockwebserver/
2014-07-03 14:39:07 -04:00
Andrew Gaul 71043ac9a2 Provide descriptive bogus values for properties 2014-07-02 22:42:00 -07:00
Epimenidis Voutsakis b259af48c0 Added ConsolesApi extension for openstack-nova 2014-07-02 11:39:52 -07:00
Ignasi Barrera 18467a118f Remove unused imports to make checkstyle happy 2014-07-02 17:54:33 +02:00
Ignasi Barrera 73929940d9 JCLOUDS-617: Use the configured JCE provider in the Cipher payloads 2014-07-02 17:54:33 +02:00
Chris Custine ba894fe07b JCLOUDS-585: Add HP Cloud Block Storage Provider (OpenStack Cinder) 2014-07-01 12:43:30 -07:00
Andrew Gaul 7f8e6a03d7 Address Checkstyle violations 2014-07-01 09:33:46 -07:00
Ignasi Barrera eb884e7c09 JCLOUDS-618: Allow servers without boot device in ElasticStack 2014-06-27 19:19:42 +02:00
Chris Custine 4d5f57a303 JCLOUDS-594: ComputeService.suspendNodesMatching throwing UnsupportedOperationException but call still succeeds 2014-06-27 13:04:01 -04:00
Everett Toews 1db5d38a09 Fixed NPE when Server has no Image 2014-06-26 15:04:05 -05:00
Andrew Gaul 8fa209b15e Use more specific testng asserts where possible
These asserts yield more informative error messages.  Found with:

grep -rI 'assertTrue(.* =='
grep -rI 'assertTrue(.* !='
grep -rI 'assertTrue(.*\.equals('
2014-06-24 13:54:01 -07:00
Everett Toews b95898fc0a Fix for JSON parse error on createNodesInGroup (JCLOUDS-558) 2014-06-23 13:40:40 -05:00
Shri Javadekar c417ddef67 JCLOUDS-589: Reauthenticate on Keystone HTTP 401
This commit ports the Keystone 2.0 fix from JCLOUDS-178 to Keystone
1.1.
2014-06-21 18:58:40 -07:00
Andrew Bayer 5641f675da JCLOUDS-602. Added live tests for new EBS volume fields.
While they're implemented in apis/ec2, the tests are in
providers/aws-ec2, generally, to make sure ec2-alike clones won't barf
on them. We're exercising creation of volumes, images and instances
with the new options. I also had to do some sketchy wait-and-loop'ing
in AMIAPILiveTest.testCreateAndListEBSBackedImage() due to what seems
to be a delay on new AMIs showing up in filtered DescribeImages calls,
though they'll show up instantly when you specify the image ID. Go figure.
2014-06-20 12:27:17 -07:00
Andrew Bayer 6451098f72 JCLOUDS-602 - Add support for volumeType, iops and encrypted to EBS.
Adds CreateVolumeOptions for volume creation, adds support for the
above EBS configs in Image, Volume, BlockDeviceMapping, etc.
2014-06-20 12:27:17 -07:00
Jeremy Daggett da50cd6cbe JCLOUDS-455: Add get() method to KeyPairApi 2014-06-20 11:11:30 -07:00
Ignasi Barrera b0250cfb4f JCLOUDS-588: Register discovered images in the image cache
Images were cached in memory using a memoized supplier. To allow growing
this cache with the discovered images, the ImageCacheSupplier class has
been created. It provides an in-memory cache with all discovered images
and acts as a view over the image cache that also provides access to
them.

The in-memory cache for the discovered images expires with the session,
just as the image cache does.

The default memoized image supplier has been changed to the
ImageCacheSupplier, to make sure all providers get injected the right
instance, and the old supplier has been qualified with the 'imageCache'
name, in case a provider needs the basic image cache.
2014-06-20 12:35:18 +02:00
Jeremy Daggett 1982626cd6 Fix replaceAll regex to handle spaces correctly 2014-06-18 10:21:01 -07:00
Jeremy Daggett 235092e517 JCLOUDS-471: Adds pool field to FloatingIP and updated related tests. 2014-06-17 11:43:10 -07:00
Chris Custine 8c8fe83f3e JCLOUDS-582: Enhancements to availability zones api 2014-06-17 11:31:06 -07:00
Andrew Gaul e799a7409c JCLOUDS-597: HashCode methods for Content-MD5
This works more naturally with Guava Hashing methods and immutability
provides better safety guarantees.  Also deprecate existing byte[]
methods.
2014-06-12 15:29:17 -07:00
Jeremy Daggett a6c89d9150 Pretty formatted json test resources 2014-06-11 15:37:02 -04:00
Andrew Phillips 9b50754c24 Cleaning up Checkstyle violations from b1c1636 and 39f77ad 2014-06-09 23:17:37 -04:00
Andrew Phillips b1c163636d Adding a test to check for JCLOUDS-278
Contributed by Bill Branan.
2014-06-09 15:15:17 -04:00
Andrew Gaul 9cdd53b0b7 JCLOUDS-546: Remove Javadoc @author annotations
Annotations removed with:

find -name \*.java | xargs sed -i /@author/d

Empty Javadoc removed with multiple iterations of:

find -name \*.java | xargs sed -i -z 's/ \*\n \*\// \*\//'
find -name \*.java | xargs sed -i -z 's/ \* \n \*\// \*\//'
find -name \*.java | xargs sed -i -z 's/\/\*\*\n \*\/\n//'
2014-06-07 21:44:54 -07:00
Andrew Gaul c0d16e79f0 Address removal of calculateMD5 2014-06-07 21:39:21 -07:00
Andrew Gaul 88a6a26b80 JCLOUDS-546: Remove Javadoc @author annotations
Annotations removed with:

find -name \*.java | xargs sed -i /@author/d

Empty Javadoc removed with multiple iterations of:

find -name \*.java | xargs sed -i -z 's/ \*\n \*\// \*\//'
find -name \*.java | xargs sed -i -z 's/ \* \n \*\// \*\//'
find -name \*.java | xargs sed -i -z 's/\/\*\*\n \*\/\n//'
2014-06-07 21:09:23 -07:00
Andrew Gaul 808bd6aad7 JCLOUDS-546: Remove Javadoc @author annotations
Annotations removed with:

find -name \*.java | xargs sed -i /@author/d

Empty Javadoc removed with multiple iterations of:

find -name \*.java | xargs sed -i -z 's/ \*\n \*\// \*\//'
find -name \*.java | xargs sed -i -z 's/ \* \n \*\// \*\//'
find -name \*.java | xargs sed -i -z 's/\/\*\*\n \*\/\n//'
2014-06-07 21:06:46 -07:00
Ignasi Barrera 39f77ad3f8 JCLOUDS-570: Fallback to the GetImageStrategy
If the TemplateBuilderImpl is given an imageId but the image can not be
found in the image cache, fallback to the GetImageStrategy to perform a
call to the provider to try to get it.

We've seen that in some cases images are not returned in the image list
but they actually exist in the provider. This fix won't make them
available when filtering by other properties such as the operating system,
etc, but at least will make them available if their id is known.
2014-06-06 12:40:27 +02:00
Ignasi Barrera a7e342422c JCLOUDS-517: New ElasticHosts images and regions
Added the new ElasticHosts regions.

Updated the ElasticStack api to get the list of standard
drives using an API call. All providers except ServerLove
support the new API call, so the old logic in the ElasticStack
api has been moved to that provider. The rest of providers will now
extract all the OperatingSystem information by parsing the name of the
StandardDrive.

A unit test has been added to the ElasticStack api with all the images
that were hardcoded, to make sure all names are still parsed as expected
and all information in the existing providers is kept.

Modified the default template for all ElasticHosts providers to
match newer Ubuntu images and updated the Template*Live tests
accordingly.

Also refactored the WellKnownImage map to a supplier to lazy load it
when needed and avoid unexpected errors when building the Guice injector
if there are authentication errors or similar.
2014-06-02 16:57:44 +02:00
Andrew Gaul 186f052022 Remove BlobBuilder and Payloads.calculateMD5
Callers should instead explicitly set contentMD5, usually with the
results from Guava Hashing.md5(). This narrows the API and removes a
strange IOException from callers.  Further it removes a dangerous
rebuffering of arbitrarily-large non-repeatable Payloads.
2014-05-28 12:54:18 -07:00
Andrew Gaul 0d2c7ed6ff Use HashingInputStream to avoid buffering Payload 2014-05-27 15:53:06 -07:00
Jeremy Daggett 46867d1353 JCLOUDS-547: Improved header and option support for Swift/Cloud Files 2014-05-25 22:08:36 -07:00
Jeremy Daggett 0c22936ab2 JCLOUDS-562: Decode object names with spaces, added test cases and updated test names. 2014-05-25 18:49:47 -07:00
Jeremy Daggett 010400c143 JCLOUDS-545: Use established conventions for OpenStack APIs, updates JavaDocs and tests 2014-05-22 07:56:37 -07:00
Andrew Phillips 5239e0fea1 Updating EC2 test mocks to match changes in 79c289d 2014-05-18 14:18:35 -04:00
Andrew Gaul 79c289da9d Replace deprecated calls to LoadingCache.apply 2014-05-17 17:39:42 -07:00
Andrew Gaul 58021604a9 Migrate InputSupplier callers to ByteSource
A future version of Guava will remove InputSupplier.
2014-05-17 00:44:17 -07:00
Andrew Gaul baddf8fe80 Replace InputSupplierMap with Map<K, ByteSource>
A future version of Guava will remove InputSupplier.
2014-05-16 18:10:52 -07:00
Andrew Gaul 70cf3e1f7c Make constants final classes instead of interfaces
This commit prohibits implementation of the empty interface and
instantiation of the class.  Refer to _Effective Java_ item 19 for
more background.
2014-05-16 09:45:52 -07:00
Jeremy Daggett 94459ba6e3 Update openstack-keystone RetryOnRenew to handle 408 errors with a BackoffLimitedRetryHandler 2014-05-15 08:43:34 -07:00
Andrew Gaul 3b7d657a6d Prefer Guava HttpHeaders over JAX-RS
jclouds code contains more instances of the former and Guava has
additional constants like CONTENT_MD5.
2014-05-15 02:06:39 -07:00
Andrew Gaul 5677b0babb Prefer Guava HttpHeaders over JAX-RS
jclouds code contains more instances of the former and Guava has
additional constants like CONTENT_MD5.
2014-05-15 02:04:56 -07:00
Andrew Gaul 8d51ad6f87 Prefer Guava HttpHeaders over JAX-RS
jclouds code contains more instances of the former and Guava has
additional constants like CONTENT_MD5.
2014-05-15 01:55:51 -07:00
Zack Shoylev 44aea81972 Fixes an issue where the number of retries was always set to 1. 2014-05-14 19:11:52 -05:00
Jeremy Daggett a53438159a Fix Accept header and removed Content-Type from common headers 2014-05-14 11:58:37 -07:00
Andrew Gaul 9dc7fddb55 Address Checkstyle violations 2014-05-13 00:30:14 -07:00
Andrew Gaul 84440e5dc1 Update pre-ASF copyright notices 2014-05-12 13:30:28 -07:00
Andrew Bayer d15144cf45 JCLOUDS-564. Add ephemeral disks for m3.xlarge and m3.2xlarge sizes 2014-05-12 09:20:01 -07:00
Andrew Gaul 67c2b5f6b9 Enable whitespace around Checkstyle rule 2014-05-08 18:31:47 -07:00
Andrew Gaul 2d88f5164e Enforce that all commas have trailing whitespace 2014-05-08 18:28:08 -07:00
Andrew Gaul 24a7c4d195 Address Checkstyle violations 2014-05-07 16:30:19 -07:00
Andrew Gaul a45124c51a JCLOUDS-505: Remove unused ObjectMD5
The only users of this seem to be
org.jclouds.atmos.blobstore.strategy.FindMD5InUserMetadata and
org.jclouds.azureblob.blobstore.strategy.FindMD5InBlobProperties which
are themselves unused.
2014-05-07 10:16:18 +02:00
Jeremy Daggett b112e8069e Updated service types for OpenStack/Rackspace services 2014-05-01 13:54:53 -07:00
Everett Toews f1a0370bd0 ServerPredicates to make waiting easier. 2014-04-29 14:58:27 -05:00
jasdeep-hundal b2be149946 JCLOUDS-526: Removing Nova QuotaClassApi
The quota-classes API in Nova has been removed (and apparently never worked)
2014-04-19 09:00:50 -04:00
Andrew Gaul 5fabd87685 Mark Swift blobstores as eventually consistent
This allows tests to retry correctly.  Most blobstores, including
Swift[1], offer eventual consistency, although Azure[2] and the
jclouds test blobstores offer strong consistency.

[1] https://lists.launchpad.net/openstack/msg06788.html
[2] http://blogs.msdn.com/b/windowsazure/archive/2011/11/21/windows-azure-storage-a-highly-available-cloud-storage-service-with-strong-consistency.aspx
2014-04-14 19:50:45 -07:00
Andrew Gaul d0bd30cc15 Address several Guava InputSupplier deprecations
Many remain due to Payload implementing InputSupplier<InputStream>.  Guava 18
will remove InputSupplier.
2014-04-12 12:02:26 -07:00
Andrew Gaul 7af18d4843 JCLOUDS-534: Address Guava 17 compatibility issues
Corrected with:

find -name \*.java | xargs sed -i 's/new Stopwatch();/Stopwatch.createUnstarted();/'
find -name \*.java | xargs sed -i 's/new Stopwatch().start();/Stopwatch.createStarted();/'
2014-04-11 14:24:12 -07:00
Everett Toews 84e0b91179 JCLOUDS-317: Fix NPE when ComputeService.listNodes()
Follow-up to 222779b
2014-04-09 14:22:08 -04:00
Andrew Phillips 244e194c72 Correcting 4-space indent in openstack/nova/v2_0/domain/Server.java
Follow-up to 222779b
2014-04-05 16:22:14 -04:00
Jacob Mourelos 222779bbc4 JCLOUDS-317: Add missing states to Nova v2 Server
- Deprecated state: STOPPED
- Add states:   MIGRATING, SHUTOFF, RESCUE, SOFT_DELETED,
                SHELVED, SHELVED_OFFLOADED
2014-04-03 18:06:27 -05:00
Jeremy Daggett e195a5a2bb Add deprecation warnings and provide links to new APIs 2014-04-03 17:51:39 -05:00
Everett Toews 5dfa1cff5c Better explanation of Beta APIs 2014-04-03 17:33:22 -05:00
Jeremy Daggett d13ff0ebd9 Refactored CDN headers and test classes 2014-04-03 16:46:35 -05:00
Jeremy Daggett 1814627cfe Added @Beta annotations to APIs 2014-04-02 15:24:29 -05:00
Zack Shoylev 56c9a05369 Fixes more checkstyle violations. 2014-03-31 20:11:21 -05:00
jasdeep-hundal b92892094b JCLOUDS-515: Don't require availability zone when creating volumes in cinder 2014-03-31 14:11:43 -05:00
Hugo Trippaers 0401959157 JCLOUDS-347: Implement a poor-mans rollback if CloudStack static NAT creation fails 2014-03-27 13:01:40 +01:00
Joel Friedly b93cfa42e1 Remove Nova instance metadata limit
Rackspace cloud limits instance metadata to 5 key-value pairs, but
upstream Nova only sets the limit at 128 by default.  This patch removes
the limit entirely; the official python clients don't check it and the
server is responsible for enforcing it anyway.

Fixes:  https://issues.apache.org/jira/browse/JCLOUDS-507
2014-03-21 19:03:07 -05:00
Zack Shoylev 7588d2fba4 Fixes potentially deleting a null server id. 2014-03-21 15:13:44 -05:00
Jasdeep Hundal 22a8b9d04c Fix Keystone response for testing to not include Glance version 2014-03-19 23:28:51 +01:00
Andrew Gaul a7fa3b9c62 Retry on S3 HTTP 504 Gateway Timeout status codes
RiakCS using the S3 interface occasionally surfaces these status
codes.
2014-03-14 12:15:55 -07:00
Jeremy Daggett 33f244dbab JCLOUDS-489 - Adds support to Cloud Files for the iOS Streaming URI 2014-03-14 13:31:52 -05:00
Pedro Navarro Pérez b68f1b6e1a JCLOUDS-453. Add OpenStack Keystone v2.0 OS-KSADM Admin Extension support for Keystone. 2014-03-14 09:54:38 +01:00
Andrew Gaul e7fccd6528 Address Checkstyle violations 2014-03-13 14:06:38 -07:00
Roman C. Coedo 8dafeacfed Fixing a couple of typos 2014-03-12 14:41:23 -07:00
Zack Shoylev d99ad1b94a JCLOUDS-486 This will allow booting up nova servers with fixed IPs and ports. 2014-03-11 14:58:22 -05:00
Jeremy Daggett 07d234a09f JCLOUDS-423 - Adds support for Rackspace Cloud Files UK provider. 2014-03-05 11:58:32 -06:00
Andrew Gaul 04e6620fb9 Address Checkstyle violation 2014-03-04 11:59:30 -08:00
Zack Shoylev eef83ed3cc Better documentation and a bugfix for cloud-init 2014-03-03 17:14:27 -06:00
Jeremy Daggett 2ca0dac76c JCLOUDS-423 - Adds support for Rackspace Cloud Files API - Added support for CloudFilesApi/CDNApi - Added mock/live tests - Refactored listFirstPage() and listAt() API methods to list() and listWithOptions(…) - General Swift API cleanup: docs and tests - Added support for Internal URL - Updated JavaDocs and domain objects. - Added support for Cloud Files US 2014-03-03 15:32:58 -06:00
Andrew Gaul d7e0b3b10c Remove WriteTo
Guava helpers capture this functionality in a more idiomatic way.
2014-02-21 17:13:31 -08:00
Andrew Gaul 9965fbcadb Address error-prone warning 2014-02-21 16:59:30 -08:00
Andrew Gaul 266d7f847b Prefer ByteSource over deprecated InputSupplier 2014-02-18 22:35:10 -08:00
Andrew Gaul 076e31b076 Address Checkstyle violations 2014-02-18 22:33:56 -08:00
Andrew Bayer a656c7292f JCLOUDS-467. Properly iterate over node names for EC2 instance creation. 2014-02-14 14:54:09 -08:00
Andrew Gaul 8c495ddee4 JCLOUDS-137: Retry on HTTP 500 AtmosError 1040 2014-02-11 12:12:54 -08:00
Andrew Gaul 53134dfa4e Improve use of Splitter in Atmos code 2014-02-10 09:39:44 -08:00
Andrew Bayer e1c8c88cf5 JCLOUDS-450. Adding support for EC2 MaxCount option.
Note - no live test for this, because it's very hard to guarantee a
situation where it would be relevant.
2014-02-07 15:03:43 -08:00
Ioannis Canellos 52f25fd284 [JCLOUDS-439] Fix osgi metadata on jclouds-sts. 2014-01-29 15:46:34 +02:00
Andrew Gaul 0098751f42 JCLOUDS-438: Map S3 code BucketAlreadyExists
Mapping to ResourceAlreadyExistsException allows external callers to
handle this situation specifically.
2014-01-28 21:21:46 -08:00
Ignasi Barrera 0625c087fa JCLOUDS-431: Added m3.medium and m3.large instance types to EC2 2014-01-24 16:32:08 +01:00
Zack Shoylev d76a9d921e The metadata needs to be ordered for this implementation. 2014-01-20 23:03:26 -06:00
Jeremy Daggett 55aadf858a JCLOUDS-423: Update Service Type for Cloud Files CDN 2014-01-20 11:53:56 -06:00
Andrew Gaul 9416416ff4 Address Checkstyle violations 2014-01-19 20:51:51 -08:00
Audrius Butkevicius 05c2986d08 JCLOUDS-426. Update Elasticstack vnc password key 2014-01-17 12:50:24 +01:00
Zack Shoylev 6ab1f6ccce Adds support for networks in the NovaComputeServiceAdapter Related to https://issues.apache.org/jira/browse/JCLOUDS-416 2014-01-14 12:53:54 -06:00
Ignasi Barrera 09a430744a Added OkHttp driver to support modern HTTP verbs 2014-01-13 10:47:39 +01:00
Andrew Bayer 35ecf794cf Cleaning up nodeNames/networks copy-paste mixup in EC2TemplateOptions as well 2014-01-08 15:44:15 -08:00
Andrew Bayer 031b75c31a Cleaning up nodeNames/networks copy-paste mixup in CloudSigmaTemplateOptions 2014-01-08 15:25:02 -08:00
Andrew Bayer e2cd6d8322 JCLOUDS-416. Add TemplateOptions#networks.
- Adds networks field/methods to TemplateOptions.
- Adds them to children as well for legacy reasons.
- Deprecates CloudStackTemplateOptions#networkIds methods in favor of #networks.
- TODO: Modify compute abstraction layer for provisioning for nova,
    EC2, et al to take advantage of this.
2014-01-07 16:15:48 -08:00
Andrew Gaul b27658eccd Propagate status in deleteAndVerifyContainerGone
Consuming the result of deleteContainerIfEmpty avoids an eventual
issue with Swift containers.  Also backfill some tests for
deleteContainerIfEmpty.  Fixes JCLOUDS-420.
2014-01-06 11:41:45 -08:00
Andrew Gaul c7b0f66544 Replace calls to Closeables.closeQuietly
Guava 16 removes this API.  Replace with Closeables2.closeQuietly.
References JCLOUDS-413 and JCLOUDS-415.
2013-12-21 12:30:59 -08:00
Andrew Gaul f9e98681b6 Address miscellaneous Guava deprecations
References JCLOUDS-415.
2013-12-20 14:05:44 -08:00
Andrew Bayer fcca1fd525 JCLOUDS-412. Add the new i2.* instance sizes 2013-12-20 10:05:33 -05:00
Andrew Bayer 4f22884c48 Updating to 1.8.0-SNAPSHOT 2013-12-17 11:51:11 -08:00
Andrew Bayer c1ee11d9bd Updating to 1.8.0-SNAPSHOT 2013-12-17 11:31:56 -08:00
Andrew Gaul 05ec994f9e Address Checkstyle violations 2013-12-16 13:09:02 -08:00
Hyeonu Jeong 6d9784c4b5 Fix CloudStack EgressFirewall request parameter name
createEgressFirewall needs networkid instead of ipaddressid:
    http://download.cloud.com/releases/3.0.6/api_3.0.6/root_admin/createEgressFirewallRule.html
2013-12-16 12:58:50 -08:00
Everett Toews 5ba527ec33 Ensure the accessIPv4 value gets into NodeMetadata. 2013-12-16 14:54:06 -06:00
Andrew Gaul 0398276be3 Remove redundant imports
Also enforce no new ones via Checkstyle
2013-12-12 18:23:43 -08:00
Zack Shoylev 6de84cb003 Moving trove to jclouds from jclouds-openstack-labs https://issues.apache.org/jira/browse/JCLOUDS-102 2013-12-12 17:13:38 -06:00
Andrew Gaul 4375bdaec0 Enforce no unused imports via Checkstyle
Removed with:

mvn checkstyle:checkstyle --quiet -Dcheckstyle.output.file=/dev/stdout -Dcheckstyle.output.format=plain | tac | while read i; do echo $i | sed -n 's/\([^:]*\):\([^:]*\):.*/sed -i \2d \1/p' | bash; done
2013-12-11 17:27:59 -08:00
Andrew Gaul 828d8790c2 Enforce no unused imports via Checkstyle
Removed with:

mvn checkstyle:checkstyle --quiet -Dcheckstyle.output.file=/dev/stdout -Dcheckstyle.output.format=plain | tac | while read i; do echo $i | sed -n 's/\([^:]*\):\([^:]*\):.*/sed -i \2d \1/p' | bash; done
2013-12-11 17:27:43 -08:00
Andrew Gaul 3321506c84 JCLOUDS-403. Add support for Swift object expiry 2013-12-11 14:20:32 -08:00
Ignacio Mulas 7e99ddef5c [JCLOUDS-263] Usage of internalURL services' endpoints 2013-12-11 11:28:37 -06:00
Eric Evans 15a3c04fb7 JCLOUDS-356 multipart uploads with InputStream payloads
This changeset introduces an alternative to PayloadSlicer,
IterablePayloadSlicer, with a method for returning a Payload iterator.

...swift.blobstore.strategy.internal.SequentialMultipartUploadStrategy
has been updated to to use a payload iterator.
2013-12-11 16:34:19 +01:00
Zack Shoylev 83e77d2309 Adds some easy-of-use for openstack mock tests 2013-12-10 12:55:22 -06:00
Adrian Cole acde2beff1 JCLOUDS-32: Using less magic in route53 signature 2013-12-09 19:04:21 -05:00
Andrew Gaul 4cef85d1cd Address Checkstyle violations in tests 2013-12-09 14:40:07 -08:00
Andrew Bayer b351406fc9 JCLOUDS-394. Add note to ec2 README in re: live tests and new accounts 2013-12-08 18:45:16 -08:00
Andrew Gaul 1043d851a7 Correct jcloud -> jclouds typos 2013-12-01 11:36:08 -08:00
Andrew Gaul cb98a47173 Correct jcloud -> jclouds typos
Corrected with:

find -name pom.xml | xargs sed -i 's/jcloud\>/jclouds/'
2013-12-01 11:21:26 -08:00
Zack Shoylev 6e663be20a Fixes filesystem tests sometimes failing on Windows. 2013-11-26 16:12:46 -06:00
Andrew Bayer 8b94ee589b JCLOUDS-218. List templates in all known projects for CloudStack. 2013-11-26 10:00:09 -08:00
Andrew Bayer 23e43b2c8d JCLOUDS-381. Allow explicit naming of nodes via TemplateOptions. 2013-11-21 10:15:25 -08:00
Alex Heneveld 3ecbf90847 remove addl whitespace pointed out in JCLOUDS-331 2013-11-19 17:37:02 -05:00
Alex Heneveld 9a7336bb0e applies tidies for imageChooser (JCLOUDS-331) as suggested in pull #202 2013-11-18 10:31:34 -05:00
Andrew Bayer 0d3f6441c7 JCLOUDS-383. Adding c3 instance sizes. 2013-11-15 12:59:54 -08:00
Everett Toews ab4473561e Style fixes and corrections. 2013-11-15 10:46:49 -06:00
Andrew Bayer 2077da2879 JCLOUDS-361. Add support for filtering Describe* methods in EC2 2013-11-14 11:53:31 -08:00
Noorul Islam K M a08b91af73 JCLOUDS-368: Remove methods which are not exposed to public and hence not used. 2013-11-06 18:03:18 -05:00
jolly 6e7c2c7e88 add g2.2xlarge EC2 instance size (JCLOUDS-364) 2013-11-06 12:24:06 -08:00
Andrew Gaul c215d123c4 Address error-prone self-equals warning 2013-11-05 16:24:50 -08:00
Andrew Gaul 6c5effcdb1 Address error-prone empty statement warnings 2013-11-05 16:22:44 -08:00
Noorul Islam K M 3724ee6749 JCLOUDS-274 Implement listCookbookVersionsInEnvironment in ChefService API 2013-11-05 12:10:58 +01:00
Noorul Islam K M 6697e0ae90 Fix checkstyle warnings 2013-11-04 11:30:16 +01:00
Andrew Bayer cf597121b2 Cleaning up CloudStack SecurityGroupExtension work 2013-11-01 17:06:54 -07:00
Andrew Gaul 17ce72794c Enable RedundantModifier for Checkstyle 2013-10-31 10:23:30 -07:00
Noorul Islam K M 6182a7e3b1 Remove public keyword from interface method. 2013-10-30 23:20:11 +01:00
Noorul Islam K M 5354b680f8 Remove public keyword from interface methods. 2013-10-30 08:31:34 -07:00
Everett Toews 1013986585 Refactored OpenStack pagination. Removed Rackspace pagination. Prefer PaginationOptions. 2013-10-24 16:52:25 -05:00
Andrew Gaul ac5559ca9e Address Checkstyle violations 2013-10-22 16:45:16 -07:00
istolber fb11c1fc1a JCLOUDS-350 rebuild server for Openstack NOVA added more options: password, name, ipv6 and ipv4 addresses. 2013-10-22 18:04:17 -05:00
istolber 1c9d1676cd JCLOUDS-348
list quotas for cinder + expected and live tests
2013-10-21 09:12:53 -05:00
istolber 725b7c5c2c JCLOUDS-353 openstack list availability zones for NOVA 2013-10-21 09:08:07 -05:00
istolber a42d62cb88 JCLOUDS-349
createServerByZone squashed commit
create server in a selected availability zone + live and expect tests
2013-10-18 09:50:27 -05:00
Andrew Gaul e30f865215 Work around CloudFiles test failures
Java helpfully interprets Expect: 100-continue instead of returning
the response code.  This commit reverts
100afba1d8.
2013-10-17 13:08:02 -07:00
Zack Shoylev 578a77d631 Reauthenticate on Keystone HTTP 401 (JCLOUDS-178)
The number of retries here is not the same as for 500 errors; expected
behavior is a quick fail while retaining some robustness.  This fix
should not reintroduce JCLOUDS-231.
2013-10-16 10:34:27 -07:00
Noorul Islam K M b2c44b4a53 JCLOUDS-272: Migrate list roles, cookbooks and databags tests from ChefApiTest to ChefApiExpectTest. 2013-10-15 23:09:23 +02:00
Everett Toews 952d8444d4 Added Marconi (Queues) to accessRackspace. 2013-10-15 13:42:58 -05:00
Everett Toews 622d019f44 Fixed imports and formatting. 2013-10-15 11:23:05 -05:00
Everett Toews cf9ef9ce5f Renamed variable and method more appropriately. 2013-10-15 11:22:53 -05:00
Niraj Tolia 53146fb7bb [JCLOUD 301]: Make increased use of Invokable params cache
This patch moves the Invokable Parameter cache to Reflection2 and adds
a convenience method for it to allow it to be shared by multiple
callers. The subsequent ability of S3Utils to use this cache results
in a ~40% improvement in performance for generating signed GETs and
PUTs for S3. This commit also converts a few others calls to
Invokable.getParameters() but the observed benefit from those was
small in microbenchmarks.
2013-10-14 17:44:03 -07:00
Andrew Gaul 0722ce71af Skip testCreateBlobWithExpiry for Swift
jclouds does not implement this functionality.  Now all tests pass for
cloudfiles-us.
2013-10-13 20:01:44 -07:00
Andrew Gaul 8bf534cc3a Do not set hash to null unnecessarily
This avoids test failures seen in
CommonSwiftClientLiveTest.testObjectOperations.
2013-10-13 19:24:40 -07:00
Andrew Gaul 4aeaf5f5bd Get container name before creating with metadata 2013-10-12 14:10:17 -07:00
Andrew Gaul f468a951b2 Do not call createContainer(getContainerName)
BaseBlobStoreIntegrationTest.getContainerName implicitly calls
createContainer.
2013-10-12 12:39:18 -07:00
Everett Toews 3aabd50790 New base class for all OpenStack mock tests. 2013-10-11 17:17:00 -05:00
Everett Toews 3172e0bc11 ServiceType for Marconi/Cloud Queues. 2013-10-11 13:47:55 -05:00
Andrew Gaul 04c9c6afd2 JCLOUDS-339. Handle zero-length objects in Atmos
Atmos does not return a location header when writing zero-length
objects, which normally throws an HttpResponseException: no uri in
headers or content.
2013-10-08 22:14:37 -07:00
Zack Shoylev 7593935380 JCLOUDS-332 Skips tests broken on windows 2013-10-08 15:07:35 -05:00
Andrew Gaul 7d20658b02 JCLOUDS-334. Return URI only if container created
This allows us to honor the BlobStore.createContainerInLocation
interface and gives consistency with other providers.
2013-10-08 13:03:55 -07:00
Andrew Gaul 103dd7315b Skip failing testCreateBlobWithExpiry on Atmos 2013-10-08 11:45:25 -07:00
Shri Javadekar af245d67fe JCLOUDS-334. Return correct status while creating containers in Swift.
BlobStore.createContainerInLocation is supposed to return True if the
container was newly created and False if the container already
existed. This commit makes that happen for Swift blobstores.
2013-10-07 21:48:57 -07:00
Andrew Bayer 46b8fd0eee Fix OpenStack Nova SecurityGroupExtension based on live tests
So there were a few problems, but the core ugly one is that what you
pass in for creating a rule allowing groups' access is not the same
thing you get back from a group with such a rule, which makes mapping
between the arguments and the output insanely painful. So now, well,
we do some insanely painful stuff.
2013-10-07 17:50:53 -07:00
Niraj Tolia e017b8904c Trivial: Remove unnecessary for loop in Atmos signing 2013-10-07 15:00:51 -07:00
Alex Heneveld 8207c53cf2 JCLOUDS-331 - support specifying an imageChooser function in TemplateBuilder 2013-10-04 18:38:53 +02:00
Ignasi Barrera 2b3bcaf034 JCLOUDS-335: Properly deserialize the deleteDatabagItem response 2013-10-04 10:56:15 +02:00
Andrew Bayer aa8fab16f9 JCLOUDS-287. Add SecurityGroupExtension support to CloudStack. 2013-10-03 14:54:57 -07:00
Andrew Gaul f1fc63ab76 Add whitespace around keywords and braces 2013-09-30 09:39:29 -07:00
Andrew Bayer 0aa19a0cee Fix aws-ec2 live tests
Involves some non-trivial reworking of EC2 security group
translation/binding, but it was necessary.

Still problems with a number of tests:
- org.jclouds.aws.ec2.compute.AWSEC2TemplateBuilderLiveTest#testTemplateBuilderWithLessRegions
- org.jclouds.ec2.compute.EC2TemplateBuilderLiveTest#testTemplateBuilderCanUseImageIdWithoutFetchingAllImages

Those seem to be failing because there's caching going on that they're
not expecting, but I could be wrong.

Also failing:
- org.jclouds.aws.ec2.features.PlacementGroupApiLiveTest in general
- org.jclouds.aws.ec2.features.SpotInstanceApiLiveTest - a couple tests
2013-09-30 09:33:57 -07:00
Andrew Bayer 962f98969f Fix EC2 live tests
This removes
org.jclouds.ec2.compute.functions.PasswordCredentialsFromWindowsInstanceLiveTest
due to there not being an easily detectable valid AMI for it to run,
and low interest in actually running it in the first place.
2013-09-30 09:33:56 -07:00
Andrew Gaul 06b8cd7ac5 JCLOUDS-305. Disable S3 virtual host buckets for generic S3
Not all S3-compatible providers support virtual host buckets and thus
we should disable this feature by default.  Continue to enable virtual
host buckets for AWS-S3 which supports this although this feature
suffers from DNS settling issues.  Ran ran integration tests against
AWS-S3 and Scality using its S3 API.
2013-09-27 16:22:42 -07:00
Andrew Bayer 7290cc8ea6 JCLOUDS-303. unhook ApiMetadata type hierarchy from ec2 2013-09-27 15:58:25 -07:00
Andrew Bayer bd984ba508 CloudStackApi should extend Closeable
Without that, you can't actually do view.unwrapApi(CloudStackApi.class).
2013-09-27 11:58:33 -07:00
Niraj Tolia e8ef5c0665 [JCLOUDS-301] Reduce reflection overhead of Invokable.getParameters()
By caching the results from Invokable.getParameters(), this commit
improves request signing performance (GETs and PUTs) for S3 by >
3X. These performance problems were seen in production and diagnosed
using the YourKit profiler.
2013-09-27 07:49:09 -07:00
Andrew Gaul 5f8961723f Remove BlobStore Map abstractions
These provide little end-user benefit and make evolving the core API
more difficult.  We deprecated these in 1.6.0.
2013-09-25 20:46:31 -07:00
Noorul Islam K M 92b3f5942c JCLOUDS-272: Migrate search role tests from ChefApiTest to ChefApiExpectTest. 2013-09-23 09:24:43 +02:00
Noorul Islam K M d9a79366fa Rename test method names to reflect what is being tested. 2013-09-20 09:31:20 +02:00
Ignasi Barrera 61258a64f6 JCLOUDS-286: Use by default the Omnibus installer 2013-09-19 23:45:06 +02:00
Noorul Islam K M 0e4d32b98e Make listCookbooksInEnvironment return an empty set on 404
Added tests to validate above.
Also factored out some duplicate code in test.
2013-09-19 15:48:05 +02:00