Commit Graph

8338 Commits

Author SHA1 Message Date
Andrew Gaul fe79885663 JCLOUDS-460: Add jitter to avoid thundering herd
When issuing many simultaneous requests to Synaptic Atmos I observed:

HTTP/1.1 failed with code 500, error: AtmosError
[code=1040, message=The server is busy. Please try again.]

Previously all clients slept for fixed intervals and thus retried
around the same time.  This commit adds a random delay which should
better distribute load on the provider.
2014-03-03 22:30:50 -08:00
Zack Shoylev a38cbd5803 Better documentation and a bugfix for cloud-init 2014-03-03 18:57:01 -06:00
Tom Manville c368bae28c JCLOUDS-342: Retry on HTTP 408 for swift
To repro issue 342, the following steps were taken:
 - Spawn 500 parallel / 2000 total putBlobs to cloudfiles-uk
 - issue a SIGSTOP
 - wait 60 seconds
 - issue a SIGCONT

Without this patch, there are several hundred 408s.
With this patch, these are retried and complete successfully.
2014-03-03 16:48:19 -08:00
Andrew Gaul 08992c7a3d Deprecate WriteTo
Use Payload.getInput and Guava helpers instead
2014-02-21 17:11:22 -08:00
Andrew Gaul b3f7838958 Deprecate StreamingPayload 2014-02-19 21:14:52 -08:00
Andrew Gaul c2397f80ca JCLOUDS-459: Limit maximum user threads
Previously jclouds could use an unlimited number of threads on its
user ExecutorService.  While this ExecutorService will go away when we
complete deasyncafication, we should prevent jclouds from misbehaving
until that time.
2014-02-19 10:05:18 -08:00
Andrew Gaul 9dae3a692e JCLOUDS-473: Close FileInputStream in Wire.copy
FileBackedOutputStream.asByteSource.getInput returns a FileInputStream
which we do not close.  We later call FileBackedOutputStream.reset
which removes the underlying File.  This fails on Windows which does
not support deleting an open file and leaks resources on other
platforms.  Eagerly close to address this issue.
2014-02-18 16:43:19 -08:00
Andrew Phillips b1a2baee62 Cleaning up checkstyle warnings caused by 5976159
Looks like the workaround for Guava 1635 will be with us for a while on 1.7.x
2014-02-12 02:12:09 -05:00
Andrew Phillips 4804edb7e8 Removing unused Sonatype OSS plugin snapshot repository 2014-02-12 00:55:14 -05:00
Andrew Phillips 5f7a4aa5bf Moving dependencies for the Checkstyle plugin into a profile
Follow-on from 335f594
2014-02-12 00:55:06 -05:00
Andrew Bayer bf4626016b 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-11 14:05:46 -08:00
Andrew Gaul f9d4ac6a27 JCLOUDS-137: Retry on HTTP 500 AtmosError 1040 2014-02-11 12:13:33 -08:00
Ignasi Barrera a9ccef2b9b [maven-release-plugin] prepare for next development iteration 2014-02-06 10:16:10 +01:00
Ignasi Barrera cbe0e7bedd [maven-release-plugin] prepare release jclouds-1.7.1-rc1 2014-02-06 10:16:08 +01:00
Andrew Phillips 3db57e01b0 JCLOUDS-452: Adding bcpkix to the jclouds-sshj driver. Required by sshj.
Thanks to Andrea Turli and Ignasi Barrera for research and testing!
2014-02-05 17:02:53 +00:00
Andrew Phillips 3de11fa840 JCLOUDS-440: Upgrading Bouncy Castle to 1.49 (1.50 has issues with OSGi)
Artifact ID has also changed: bcprov-jdk16 -> bcprov-ext-jdk15on
2014-01-29 20:20:45 -05:00
Andrew Gaul e7795c8755 Store propagatable exceptions in a static field
Also include ResourceAlreadyExistsException.  References JCLOUDS-438.
2014-01-29 10:30:37 -08:00
Ioannis Canellos 798c76bd69 [JCLOUDS-439] Fix osgi metadata on jclouds-sts. 2014-01-29 15:47:18 +02:00
Andrew Gaul b8fae85eaf JCLOUDS-438: Map S3 code BucketAlreadyExists
Mapping to ResourceAlreadyExistsException allows external callers to
handle this situation specifically.
2014-01-28 21:22:44 -08:00
Andrew Phillips 742003ab3a Fixing an error message about an unassignable backend 2014-01-28 09:21:54 -05:00
Andrew Phillips dc7bad39cc JCLOUDS-415: Preparing for Guava 16.0
Invokable.equals has changed from 15 to 16 so we need to implement the check differently ourselves.
2014-01-28 07:59:45 -05:00
Andrew Gaul 114872483b Address Checkstyle violations 2014-01-27 19:06:46 -05:00
Ignasi Barrera d395a076cf JCLOUDS-431: Added m3.medium and m3.large instance types to EC2 2014-01-24 17:28:57 +01:00
Andrew Phillips 597615977e JCLOUDS-427: Avoiding Guava reflection code broken in Java 7u51
- Adding a version of TypeToken.where that replaces two parameters in one go
- Avoiding TypeToken type parameter replacement with wildcard bounds

Works around https://code.google.com/p/guava-libraries/issues/detail?id=1635
2014-01-24 01:07:50 -05:00
Zack Shoylev 859ca920c6 Adds support for networks in the NovaComputeServiceAdapter Related to https://issues.apache.org/jira/browse/JCLOUDS-416 2014-01-21 16:07:19 -06:00
Andrew Bayer 50f1a0c5c0 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-21 09:38:11 -08:00
Zack Shoylev 00f844b1d8 The metadata needs to be ordered for this implementation. 2014-01-21 10:46:59 -06:00
Andrew Gaul 0843c36dd2 JCLOUDS-428: Address Java 8 compatibility nits
Tested with JDK 1.6.0_45, 1.7.0_45, and 1.8.0-ea-b123.
2014-01-19 20:38:32 -08:00
Audrius Butkevicius ffb4df41eb JCLOUDS-426. Update Elasticstack vnc password key 2014-01-17 13:29:22 +01:00
Ignasi Barrera 1ebfc7d43a Added OkHttp driver to support modern HTTP verbs 2014-01-14 13:11:31 +01:00
Zack Shoylev 9817cbd900 Adds cloud databases to jclouds-all 2014-01-06 15:29:42 -06:00
Andrew Gaul db5209c043 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:58 -08:00
Andrew Gaul c444b5bf72 Remove erroneous deprecation of ByteSource method 2013-12-26 10:38:15 -08:00
Andrew Gaul bfff3c421f Replace calls to Closeables.closeQuietly
Guava 16 removes this API.  Replace with Closeables2.closeQuietly.
References JCLOUDS-413 and JCLOUDS-415.
2013-12-24 18:02:43 -08:00
Andrew Gaul 75561b5c60 Address miscellaneous Guava deprecations
References JCLOUDS-415.
2013-12-24 18:02:43 -08:00
Andrew Bayer ed663fb825 [maven-release-plugin] prepare for next development iteration 2013-12-20 10:32:48 -05:00
Andrew Bayer 52605675c5 [maven-release-plugin] prepare release jclouds-1.7.0-rc2 2013-12-20 10:32:48 -05:00
Andrew Bayer 13383b3fc0 JCLOUDS-412. Add the new i2.* instance sizes 2013-12-20 10:09:02 -05:00
Andrew Gaul 9d2e4759a3 JCLOUDS-410. Correctly override getInput
Payload.getInput must always call openStream to handle overridden
methods correctly.  Previously this caused errors in jclouds-chef in
BaseCipherPayload.
2013-12-17 08:02:03 -08:00
Andrew Bayer 16ea4fb33f Switch to maven-compiler-plugin 3.1 2013-12-16 16:02:26 -08:00
Andrew Bayer 805d45a7a9 Fixing rackspace-clouddatabases-{us,uk} openstack-trove dependency groupIds 2013-12-16 15:50:19 -08:00
Andrew Gaul d25e972344 JCLOUDS-401. Make BlobName Function type-safe 2013-12-16 15:04:14 -08:00
Andrew Gaul ac06e32e72 JCLOUDS-399: Deprecate BlobBuilder.calculateMD5
Callers should instead call BlobBuilder.contentMD5, usually with the
results from Guava Hashing.md5().  This narrows the API and removes a
strange IOException from callers.
2013-12-16 13:40:38 -08:00
Andrew Gaul 05ec994f9e Address Checkstyle violations 2013-12-16 13:09:02 -08:00
Andrew Gaul e48d4985ea JCLOUDS-410. Add support for ByteSource Payloads
Also deprecate byte[], File, InputSupplier<InputStream>, and String
Payloads.  Callers should instead provide a ByteSource via
ByteSource.wrap(byte[]) and Files.asByteSource(File)
2013-12-16 13:06:30 -08:00
Andrew Gaul f3dcd3fe86 JCLOUDS-410. Deprecate Payload.getInput
We plan to transition Payload to ByteSource in the next major release.
Unfortunately Payload.getInput masks its checked exception and
ByteSource.getInput is final so we cannot continue to mask the
exceptions.  Deprecation of getInput and addition openStream allows us
to transition callers from the former to the latter.
2013-12-16 13:02:37 -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 ac1f05ffac Remove unneeded calls to ByteSources.asByteSource 2013-12-15 22:57:32 -08:00
Andrew Gaul 0398276be3 Remove redundant imports
Also enforce no new ones via Checkstyle
2013-12-12 18:23:43 -08:00