Commit Graph

8137 Commits

Author SHA1 Message Date
Diwaker Gupta 675c649cb6 URL encode string to sign.
As recommended at
http://s3.amazonaws.com/doc/s3-developer-guide/RESTAuthentication.html:

"You can also send a signature as a URL-encoded query-string parameter
in the URL for the request."

Also deals with some of the craziness of URL encoding/decoding in
jclouds.

References JCLOUDS-200
2013-07-31 16:32:53 -07:00
Andrew Bayer 70af0ea5ab Fixing bad package for StubSecurityGroupExtensionIntegrationTest 2013-07-31 16:16:37 -07:00
Andrew Phillips f6b5b67b5b JCLOUDS-200: Consolidate all feature-specific in the AWS provider
Follow-up to c64c7423
2013-07-26 15:03:12 -04:00
Diwaker Gupta 2409ac1a37 Preserve blob metadata for AWS-S3 MPU
Specifically preserve content-type and content-disposition for
multi-part uploads.

Fixes JCLOUDS-204
2013-07-25 10:31:47 -07:00
Ignasi Barrera 4621176516 Generalized the Arg0ToPagedIterable to propagate all args
Generalized the Arg0ToPagedIterable to allow to propagating
all arguments. This will help building PagedIterables for
api methods that require more than one argument to be invoked.
2013-07-25 10:31:09 +02:00
Diwaker Gupta c64c7423cd AWS-S3 configurable temporary signed URL support
Introduces AWSS3BlobRequestSigner, which reuses the
RequestAuthorizeSignature filter for most of the heavy lifting.
Other implementation details based on [1].

Tested with AWSS3BlobSignerLiveTest, in particular,
testSign(Get|Put)UrlWithTime.

Closes JCLOUDS-200

[1] http://s3.amazonaws.com/doc/s3-developer-guide/RESTAuthentication.html
2013-07-24 15:22:45 -07:00
Andrew Bayer 48b499c636 JCLOUDS-199. CloudStack live tests against ACS 4.2 simulator cleanup.
- ACS 4.x doesn't like taking SSH pub keys from the filesystem, so
generate them on the fly.
- vm.getDisplayName() can be null now.
- Add new possible resource limit types.
- Default to looking template=osFamily=CENTOS, since that's the only
template guaranteed to be there in the simulator.
- Use adminJobComplete instead of jobComplete in admin tests
- Accept capacity/usage/etc of 0.
- Premium configuration category not present in ACS.
- Sleep a bit between deleting a domain and verifying it's not there
any more. Also expect an IllegalStateException.
- Given that there are issues deleting zones at the moment (through
the UI, too), use a different zone for pod and zone tests.

Still failing tests:
- pretty much everything that creates a VM and expects to log into it,
but that's simulator-specific.
- Zone deletion, due to a bug in ACS, apparently.
- Registering and creating templates
- creating volumes from snapshots, and attaching volumes
2013-07-22 12:34:59 -07:00
Andrew Bayer 2c6d8b2479 JCLOUDS-195. Add egress firewall rules for CloudStack 2013-07-21 13:38:57 -07:00
Andrew Bayer 5ec05fed70 Allow skipping duplicate-finder-plugin by setting skipDuplicateFinder property to true 2013-07-17 12:42:40 -07:00
Andrew Phillips c6facc13d6 Follow-up to Azureblob cleanup
See discussion at https://github.com/jclouds/jclouds/pull/66
2013-07-17 10:32:05 -07:00
Andrew Gaul e14e23be52 Revert "Add Atmos-specific MD5 checksum header"
This reverts commit 98230e60a4.

This succeeded in my tests but integration tests fail.
2013-07-17 10:29:42 -07:00
John Kew 865b910637 Cleanup of Azureblob code; as per pull request review. Additional items
not covered here are assigned specific bug ids.
2013-07-16 18:08:49 -07:00
Andrew Gaul fcdc3d6138 Expect exception from FilePayload.getInput
Previously the constructor threw this.  Fixes regression from ac58a70.
2013-07-16 08:26:50 -07:00
Andrew Gaul ac58a70e32 Do not eagerly check for existence in FilePayload
This is a TOCTOU violation and FilePayload.getInput already propagates
this.  This commit allows external callers like jclouds-cli to
introspect on the exception type, returning a more friendly error
message in some situations.
2013-07-15 23:34:12 -07:00
Diwaker Gupta d52f460562 Introduce StripExpectHeader filter and a property to control it.
Some providers (specifically HP Cloud and Google Cloud Storage) do not
properly support Expect: 100-continue headers. JDK7 is stricter in its
handling of the Expect header than JDK6 -- in particular, it expects
servers to properly respond to an expect header and times out only if a
prior timeout did not exist on the underlying HTTP connection. As a
result, JDK7 tests against these providers hang and fail.

This commit introduces a new filter -- appropriate called
StripExpectHeader -- that is controlled by the property
jclouds.strip-expect-header. The property defaults to false to preserve
existing behavior but allows applications to tweak Expect header
handling.

Tested by running HPCS live tests with JDK7 -- previously most of these
tests would fail with timeouts.

Closes JCLOUDS-181
2013-07-11 15:04:05 -07:00
zack-shoylev 1178f47cd7 Upgrade to gson 2.2.4
https://issues.apache.org/jira/browse/JCLOUDS-117
2013-07-11 13:52:32 -07:00
Andrew Gaul 98230e60a4 Add Atmos-specific MD5 checksum header
Tested that Atmos Online and Synaptic Atmos both enforce this.
2013-07-10 22:16:44 -07:00
Andrew Gaul 0d310f3643 [trivial] demote Boolean to primitive 2013-07-10 22:12:24 -07:00
Andrew Gaul d5fd35b45a Set provider id in AtmosClientLiveTest
This allows Atmos live tests to run.
2013-07-10 21:16:07 -07:00
John Kew 1b2fb8259f JCLOUDS-161: large blob support for Azure
Large blob support for AzureClient; the next step of this is to
support PutOptions.multipart and digest a blob into 4M parts. This
just implements the Azure interaction.
2013-07-10 16:04:51 -07:00
Andrew Gaul c299b8ff61 Add Swift-specific MD5 checksum header
Tested against cloudfiles-us, hpcloud-objectstorage, and
swift-keystone.  Reference for ETag:

https://answers.launchpad.net/swift/+question/157064
2013-07-09 21:35:17 -07:00
Everett Toews da211e257a Quantum renamed to Neutron 2013-07-09 17:45:42 -07:00
Zack Shoylev 833f046a5c A 401 error should result in re-authenticating for a new token 2013-07-09 14:14:37 -07:00
Andrew Gaul 60e9062894 Checkstyle fixes 2013-07-09 14:09:44 -07:00
Andrey Trubitsyn 02d1ac4648 Added test environment for Quantum v2.0 client
This patch adds test environment for the future
Quantum v2.0 client implementation.

Signed-off-by: Andrey Trubitsyn <andrey@sentilla.com>
2013-07-09 12:18:09 -07:00
Ignasi Barrera bbfec4a990 JCLOUDS-160: Support tags in EC2 images
Based on the work made by Brock Noland
2013-07-06 10:08:10 +02:00
JoshVote 8db0218cf7 JCLOUDS-126 - Support and tests for region selection in swift-keystone BlobStore 2013-07-03 13:44:46 -07:00
Ignasi Barrera 335f5943f4 JCLOUDS-149: Reuse checkstyle configuration 2013-07-02 18:02:03 +02:00
Andrew Bayer c6986efda6 JCLOUDS-151 - CloudStack refactored to remove async, *Client renamed to *Api. 2013-07-01 12:13:48 -07:00
Andrew Bayer 5f3b8d3fa7 JCLOUDS-150 - Removal of async from AWS - specifically EC2
...and EC2-related elsewhere. Also moved *Client -> *Api, and moved
everything from .../services to .../features, and threw in a bunch of
Optionals to fit the EC2Api approach.

And a very big tip of the hat to nacx for figuring out the generics
stuff my brain just could not handle. =)
2013-07-01 12:12:26 -07:00
Andrew Bayer 5f524ee6c9 JCLOUDS-101 - Add SecurityGroupExtension for compute
- Adds the SecurityGroupExtension to compute, with tests and stub
support.
- Gets everything else to actually build against this.
- Unifies on compute's IpPermission/IpProtocol, eliminating EC2's.
- Converters from EC2/Nova/CloudStack SecurityGroup (and rules, for
the latter two) to the compute SecurityGroup (and rules, etc).
- EC2SecurityGroupExtension and tests.
- AWSEC2SecurityGroupExtension and tests - depends on JCLOUDS-99.
2013-06-26 14:59:01 -07:00
Andrew Bayer a906f9f4ec JCLOUDS-138. Add CloudStackImageExtension support. 2013-06-26 13:24:16 -07:00
Andrew Bayer ccb4323986 Cleaning up changes from JCLOUDS-106 2013-06-24 13:02:14 -07:00
Andrew Bayer 95308de808 JCLOUDS-105 - fixing a problem caused in cases where vm.isPasswordEnabled() is false and no keypair is specified. 2013-06-23 16:08:05 -07:00
zack-shoylev 46f25bc913 Ensure rackspace cloudidentity live tests pass where applicable
Disables incompatible keystone tests
2013-06-21 11:33:05 -07:00
Everett Toews 6249d60b0b Added the SYD zone to Rackspace providers. 2013-06-20 16:38:01 -05:00
Andrew Bayer 82f25150b9 JCLOUDS-99. Enable use of Iterable<IpPermission> for aws-ec2
- Added AWSEC2CreateSecurityGroupIfNeeded, using
AWSSecurityGroupClient's ability to call
authorizeSecurityGroupInRegion with Iterable<IpPermission>

- Added a utility method,
ComputeServiceUtils.getPortRangesInList(int... ports), to get pairs of
start/end ports covering all ranges in a list of ports. Used above.
2013-06-19 14:07:18 -07:00
Andrew Gaul 1a6be0eb67 Do not repeat array type in initializers 2013-06-18 21:02:50 -07:00
Andrew Bayer 75385ee57d JCLOUDS-100. Add AWSServerErrorRetryHandler, with an increased back
off time.
2013-06-17 16:48:15 -07:00
Anton Panasenko ff3405c967 JCLOUDS-127: Added a method to check if the context is open
- Added isOpen in Context interface
- Refactoring Closer class:
  - method close can only call once
  - method close is threadsafe
  - added method getState
2013-06-18 00:31:51 +02:00
zack-shoylev bcf8e3fe50 Fixes testCreateAndRunAService by fixing the outdated jetty URL 2013-06-17 15:08:00 -05:00
Andrew Bayer 451c4326a2 Cleaning up lurking copyright issues/NOTICE txt 2013-06-16 19:38:20 -07:00
Andrew Bayer 8f7e623bed Adding DEPENDENCIES to rat exclude 2013-06-12 16:45:29 -07:00
Andrew Bayer 32ea520f34 Add license headers to src/test/resources where possible, more fine-grained RAT exclusions 2013-06-12 16:45:29 -07:00
Andrew Phillips dd54c14e21 JCLOUDS-124: Missing ^:dynamic in Clojure blobstore example
Submitted by Trevor Wennblom
2013-06-12 09:23:34 +01:00
Andrew Phillips f8fae7d557 JCLOUDS-123: Using Clojure core incubator-specific nilsafe in AMI service binding
Submitted by Trevor Wennblom
2013-06-12 09:23:01 +01:00
Andrew Bayer a3488dc43c JCLOUDS-105. Real fix for keypairs being ignored if VM says it's password-enabled. 2013-06-06 10:26:20 -07:00
Andrew Bayer fbe637c8bf JCLOUDS-106. Add proper support for generation/detection of keypair/security groups to CloudStack. 2013-06-06 10:26:20 -07:00
Jeremy Daggett 7651657cfc Remove async interface support from OpenStack Cinder API 2013-06-06 11:08:21 -05:00
Andrew Gaul 86147cd961 Remove AsyncBlobStore from DeleteAllKeysInList
We deprecated AsyncBlobStore in 1.6.0.  Subsequent commits will
require the caller to provide an ExecutorService.
2013-06-05 10:41:55 -07:00