This avoids a 'java.io.IOException: Unrecognized character: "' when a quoted ETag is encountered (which happens when getting a multipart blob from Rackspace Cloud).
Also adds support for the new options to
CloudStackComputeServiceAdapter, unsurprisingly. Also got rid of the
in fact wrong mutual exclusivity of dataDiskSize and diskOfferingId in
DeployVirtualMachineOptions - that's a misleading bit from the
CloudStack API docs.
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
- 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
...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. =)
- 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.