Commit Graph

1996 Commits

Author SHA1 Message Date
Adrian Cole 7047874ad9 JCLOUDS-40 remove all implementations of AsyncBlobStore except Submission in preparation for complete removal. 2014-10-05 09:02:13 -07:00
Adrian Cole d33ec013e9 JCLOUDS-296 unasync legacy cloudservers provider. 2014-10-03 23:24:00 -07:00
Adrian Cole 896cc70374 JCLOUDS-296 unasync legacy cloudfiles provider. 2014-10-03 23:23:02 -07:00
Adrian Cole 7cf11db408 JCLOUDS-296 unasync legacy swift provider. 2014-10-03 23:22:46 -07:00
Adrian Cole 76bd3bea9d JCLOUDS-296 unasync keystone used by swift derivatives and cloudfiles. 2014-10-03 23:19:11 -07:00
Adrian Cole e55f424167 JCLOUDS-40 unasync atmos. 2014-10-03 22:08:05 -07:00
Adrian Cole c68078c22d JCLOUDS-150 add SubmissionAsyncBlobStore; unasync s3 and aws-s3 2014-10-03 13:28:20 -07:00
Andrew Phillips 2cbb5e26c0 JCLOUDS-538: Avoiding a VM crash trying to run live tests for Swift
TestNG was throwing up as its reflection was unable to find certain test methods
2014-10-03 10:10:27 -05:00
Adrian Cole ba04fa043a JCLOUDS-692 Remove the CloudSigma v1 provider. 2014-10-02 10:25:38 -07:00
Evgeny Tarasenko 7682f94ffe Support availability zone in NovaTemplateOptions. 2014-09-24 06:50:27 -07:00
jasdeep-hundal f510424c43 JCLOUDS-514: Support attaching volumes at boot in Nova 2014-09-18 19:27:46 -07:00
Jeremy Daggett b9684cd454 JCLOUDS-686: Remove changesSince() query from base PaginationOptions 2014-09-11 09:26:21 -07:00
Jeremy Daggett 885da4ea64 JCLOUDS-296: Deprecate Rackspace First-Gen CloudServers 2014-09-09 18:39:32 -07:00
Jeremy Daggett c13751cc2f Added assertion for versioned OpenStack extension APIs. Required for the Neutron v2 API. 2014-09-09 15:04:16 -07:00
Jeremy Daggett 6258a4f4ee JCLOUDS-296: Deprecate Rackspace First-Gen CloudServers 2014-09-09 14:52:39 -07:00
Andrew Gaul f2d897d977 Set Content-MD5 only if ETag has correct format
Previously this check was more lenient than it should have been.
2014-08-28 21:51:51 -07:00
Andrew Gaul e7c398321a 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:46:05 -07:00
Ignasi Barrera e0a6df1544 JCLOUDS-496: Use the security groups options in the portable TemplateOptions 2014-08-12 13:35:10 -04:00
Andrew Phillips c230f2c337 Using openStream() to read Payload contents
Payload is no longer an InputSupplier, which was deprecated in Guava 16.
See https://github.com/jclouds/jclouds/commit/80a0256c
2014-08-11 17:06:57 -04:00
Andrew Phillips 742e3eb65c Addressing Checkstyle violations 2014-08-11 17:06:28 -04:00
Andrew Phillips 22d8a38d83 [maven-release-plugin] prepare for next development iteration 2014-07-29 19:53:30 -04:00
Andrew Phillips 34b6f4aac6 [maven-release-plugin] prepare release jclouds-chef-1.8.0-rc1 2014-07-29 19:53:29 -04:00
Andrew Phillips c1ddc74aae [maven-release-plugin] prepare for next development iteration 2014-07-29 16:50:39 -04:00
Andrew Phillips 1cc7fab483 [maven-release-plugin] prepare release jclouds-1.8.0-rc1 2014-07-29 16:50:31 -04: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) fc09c4eb46 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 1908f02e04 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 2681a8e19d 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 d082995cf7 Remove unused imports to make checkstyle happy 2014-07-02 17:54:33 +02:00
Ignasi Barrera cd0f21d86b 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 1fe6bca62d Address removal of calculateMD5 2014-06-07 21:39:21 -07:00
Andrew Gaul 2982d99670 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
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
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 ad47e24f8f 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 7ada0c7924 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 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 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