Commit Graph

92 Commits

Author SHA1 Message Date
Darren Shepherd 1460196496 Centralize loading of db.properties to one place
There is now a method DbProperites.getDbProperties() that will load the
db.properties in one place and do the proper decryption of values if needed
2013-10-30 17:03:13 -07:00
Darren Shepherd f62e28c1ec New Transaction API
Introduction of a new Transaction API that is more consistent with the style
of Spring's transaction managment.  The existing Transaction class was renamed
to TransactionLegacy.  All of the non-DAO code in the management server has been
updated to use the new Transaction API.
2013-10-16 09:21:00 -07:00
Darren Shepherd aed5e9dc2a Add Manage Context framework
The managed context framework provides a simple way to add logic
to ACS at the various entry points of the system.  As threads are
launched and ran listeners can be registered for onEntry or onLeave
of the managed context.  This framework will be used specifically
to handle DB transaction checking and setting up the CallContext.
This framework is need to transition away from ACS custom AOP to
Spring AOP.
2013-10-02 13:09:52 -07:00
Likitha Shetty 24e9797807 CLOUDSTACK-3112. UserCredentials that is injected in AuthenticationHandler is not picked up 2013-07-08 15:37:57 +05:30
Likitha Shetty 4bf6c1e2f7 CLOUDSTACK-1444. Adding ASF license header to the regenerated JAVA files
[Support for EC2 API version 2012-08-15]
2013-07-04 11:59:36 +05:30
Likitha Shetty 4cda7a5d97 CLOUDSTACK-1444. Adding ASF license header to the regenerated JAVA files
[Support for EC2 API version 2012-08-15]
2013-07-04 11:58:23 +05:30
Likitha Shetty 26af71b23b CLOUDSTACK-1444. Adding ASF license header to the regenerated JAVA files
[Support for EC2 API version 2012-08-15]
2013-07-04 11:11:21 +05:30
Likitha Shetty d908f85749 CLOUDSTACK-1444. Fix EC2 Query API to support latest ec2 api version 2012-08-15 [Support for EC2 API version 2012-08-15]
Signed-off-by: Likitha Shetty <likitha.shetty@citrix.com>
2013-07-04 10:09:00 +05:30
Likitha Shetty 3cfaa92917 CLOUDSTACK-3258. In AWSAPI provide Tags support for resource 'security group'
Signed-off-by: Likitha Shetty <likitha.shetty@citrix.com>
2013-07-04 10:08:42 +05:30
Likitha Shetty 135b688a00 CLOUDSTACK-1444. Updated EC2SoapService and EC2SoapServiceImpl to be compatible with the java stubs generated from EC2 WSDL 2012-08-15.
- by adding stubs for the new EC2 APIs (unsupported by CS AWSAPI)
  - by setting the new EC2 API response elements
  - by adding support for the new EC2 API request elements
[Support for EC2 API version 2012-08-15]
2013-07-04 10:06:51 +05:30
Likitha Shetty 33df54edaf CLOUDSTACK-1444. Contains regenerated JAVA stubs and services.xml obtained by generating code from ec2 wsdl 2012-08-15 [Support for EC2 API version 2012-08-15]
Signed-off-by: Likitha Shetty <likitha.shetty@citrix.com>
2013-07-04 10:01:19 +05:30
Likitha Shetty c08b927b86 CLOUDSTACK-3295. Code should look for xes.keystore under cloud-awsapi-4.2.0-SNAPSHOT and not under generated-webapp. 2013-07-04 09:46:41 +05:30
Prachi Damle 6c9383bd76 CLOUDSTACK-3336 AWSAPI - createVolume API with custom size should prefer a non-tagged custom sized disk offering first over a tagged offering
Changes:
For createVolume API with custom size the awsapi component chooses the custom size disk offering present on CloudStack, sice CS createVolume API needs an offering Id.

But if there are multiple custom size disk offerings, and some of the offerings have tags, awsapi should try to choose a non-tagged custom offering first. There is a reason for people to tag a disk offering and using that on every user API call may not be preferable.

If all disk offerings are tagged however, awsapi will choose one of them.
2013-07-02 15:18:49 -07:00
Prachi Damle 4858bd1df3 CLOUDSTACK-3251 AWSAPI - runInstances should not error out if instanceType provided is a valid ServiceOffering on CloudStack
Changes: - If instanceType value corresponds to a valid serviceoffering on CloudStack, dont error out on runInstances even if thats not an AWS name
2013-06-27 15:59:26 -07:00
Prachi Damle f88590f6db CLOUDSTACK-3218: AWSAPI - For runInstances, awsapi need not send networkId information in case of advance zone
Changes:
 awsapi will not pass networkId in case of Advance Zone and let CS identify which network to deploy VM in. The same case applies to allocateAddress API too.
2013-06-27 15:49:31 -07:00
Likitha Shetty dc242039b3 CLOUDSTACK-305. Everytime a SOAP call is made some transactions are rolled back because the transactions are not committed. 2013-06-24 14:21:59 +05:30
Likitha Shetty 77674721ca CLOUDSTACK-308. ec2-describe-instances - Instance type should return right service offering name 2013-06-24 11:29:12 +05:30
Likitha Shetty bbfa9bfcbd CLOUDSTACK-2862. EC2Engine is not injected correctly 2013-06-11 10:58:49 +05:30
Likitha Shetty 9a33fd181f CLOUDSTACK-2623. Provide appropriate AWS EC2 error codes in error thrown by CS AWSAPI. Since CS has very few generic errorcode groups, in AWSAPI parse the response message and translate the CS error to AWS EC2 error code.
Provide support for the following error codes -
AuthFailure, DependencyViolation, IncorrectState, InvalidAMIID.NotFound, InvalidAttachment.NotFound, InvalidDevice.InUse, InvalidFilter, InvalidGroup.Duplicate, InvalidGroup.InUse, InvalidGroup.NotFound
InvalidInstanceID.NotFound, InvalidKeyPair.Duplicate, InvalidKeyPair.Format, InvalidKeyPair.NotFound, InvalidParameterCombinatio, InvalidParameterValue, InvalidPermission.Duplicate, InvalidPermission.Malformed
InvalidSnapshot.NotFound, InvalidVolume.NotFound, InvalidVolumeID.Duplicate, InvalidZone.NotFound, MissingParameter, UnsupportedOperation, SignatureDoesNotMatch, InternalError, AddressLimitExceeded, InstanceLimitExceeded
VolumeLimitExceeded, Unavailable, ResourceLimitExceeded

CLOUDSTACK-2624. Support ModifyInstanceAttribute API in AWSAPI.
2 AWS instance attributes will be supported, 'InstanceType' and 'UserData'
As per AWS EC2, to modify both the attributes, the instance must be stopped. If not throw 'IncorrectInstanceState' error
2013-05-22 18:17:11 +05:30
Likitha Shetty eb92135d55 CLOUDSTACK-2603. EC2RunInstances return xen or ovm as the response value for attribute "hypervisor" 2013-05-21 15:15:35 +05:30
Likitha Shetty 6217b0fb4c CLOUDSTACK-2600. Fix CS AWSAPI to add the below filters that are missing in DescribeImages API-
architecture
description
image-id
image-type
is-public
name
owner-id
state
tag-key
tag-value
tag:key
hypervisor
2013-05-21 12:10:52 +05:30
Likitha Shetty 503392119d CLOUDSTACK-2599. Fix EC2 Rest to support tag related EC2 API's - CreateTags/DeleteTags/DescribeTags 2013-05-21 11:33:33 +05:30
Likitha Shetty 8986e16e5f CLOUDSTACK-2576. AWS API not returning values in CFSimpleXML Object format.
PHP SDK calls the CFSimpleXML parser class to parse the response body into CFSimpleXML Object format.
In AWSAPI added an XML declaration during serialization of Axis beans to XML output
2013-05-20 15:01:57 +05:30
Likitha Shetty 046580fcf1 CLOUDSTACK-2552. Modify AWSAPI to decrypt db values using the decrypted database_key and not management_server_key 2013-05-17 13:16:04 +05:30
Pranav Saxena ff7112a074 Correcting the spelling errors in the Non contigous Vlan range code 2013-04-24 19:58:10 +05:30
Likitha Shetty a0b5ebccb8 CLOUDSTACK-1988. Attempting to register a AWS API user fails with error code 401.
Fix the code to refer to /usr/share/cloudstack-management/webapps7080/awsapi/WEB-INF/classes.
2013-04-11 04:33:14 +05:30
Pradeep Soundararajan 582f8a0f38 BUG-ID: CLOUDSTACK-1713, CLOUDSTACK-1719
Summary: EC2 REST API: AWS APIs are not getting translated on the CloudStack Management Server and AWS API Installation Problems.

Fixing the class not found exception, key not found and other issues as mentioned in the above two defects.

Signed-off-by: Pradeep <pradeep.soundararajan@citrix.com>
2013-03-26 13:28:03 +00:00
Likitha Shetty f1249b353e CLOUDSTACK-1450. AWSAPI server fails to start.
Missing annotation @Component in CloudStackUserDao implementation
2013-03-01 15:23:39 +05:30
Prachi Damle d84a8601e5 CLOUDSTACK-1362: EC2 dns-name filter support for EC2 describeInstances API is broken
Mapped CS UserVm 'name' propertyto the dns-name value to filter out the results.
2013-02-21 14:01:52 -08:00
Prachi Damle 8296d41b5b CLOUDSTACK-1330: ec2-run-instances - When -n option is used to deploy multiple Vms API returns error even though few of the Vms have been deployed successfully.
Changes:
- Instead of throwing out error, return the response containing the info about the instances that were launched.
2013-02-19 15:12:06 -08:00
Likitha Shetty f0086df0c7 CLOUDSTACK-1134: [EC2 Query API] DescribeSnapshots, 'n' ListVolumes get fired on CS for displaying 'n' Snapshots taken from the same Volume
For snapshots taken from the same volume re-use the response obtained by calling listVolumes
2013-02-13 17:54:23 -08:00
Prachi Damle c3be0f995d CLOUDSTACK-1135: [EC2 Query API] AuthorizeSecurityGroupIngress and RevokeSecurityGroupIngress fails when icmp code and type is provided
For AuthorizeSecurityGroupIngress RevokeSecurityGroupIngress query calls parse and set the icmp code and type
2013-02-12 14:45:29 -08:00
Likitha Shetty 57969843d6 CLOUDSTACK-1133: [EC2 Query API] In StopInstances add support for parameter 'force'
Propagate this parameter to CS to force stop an instance
2013-02-12 14:04:07 -08:00
Likitha Shetty 3337106693 CLOUDSTACK-1131
[EC2 Query API] RunInstances allows negative values for paramters 'MinCount' and 'MaxCount'
Add parameter validation to ensure MinCount is greater than 0 and MaxCount is great than or equal to MinCount
2013-02-12 14:01:10 -08:00
Likitha Shetty b0b2fd4833 CLOUDSTACK-1125: [EC2 Query API] Permission denied exception when a parameter value contains space
Convert space characters in the parameters to %20 while forming a query string after url-encode because java.net.URLEncoder performs application/x-www-form-urlencoded-type encoding and not percent-encoding. According to RFC 3986 as required by Amazon, we need to percent-encode.
2013-02-12 13:56:36 -08:00
Prachi Damle c26b02a0a7 CLOUDSTACK-1129: [EC2 Query API] DescribeVolumes, add support for filter attachment.status
1. If volume is attached to a VM set attachment state based on the state of the VM it is attached to.
Running, Starting, Stopped -> Attached
Starting -> Attaching
Destroyed, Error -> Detached
2. If volume is not attached to a VM set attachment state as 'detached'
2013-02-12 13:40:58 -08:00
Prachi Damle cd039206d3 CLOUDSTACK-1128: [EC2 Query API] DescribeAvailabilityZones, support for message filter
Add message in the response element of EC2DesrcibeAvailibilityZones. Add support for filter 'message'.
The value of 'message' should be set to the allocation_state of the zone
Code cleanup
2013-02-12 13:35:31 -08:00
Likitha Shetty 52b81f8bff CLOUDSTACK-1127: [EC2 Query API] DescribeSecurityGroups, support for additional filters
Add support for filters ip-permission.group-name and ip-permission.user-id
2013-02-11 15:26:49 -08:00
Likitha Shetty 06fd21bd44 CLOUDSTACK-1126: [EC2 Query API] RunInstances ignores the UserData input parameter
When EC2RunInstances is called with UserData parameter, the parameter is not propogated to CS
2013-02-11 14:20:40 -08:00
Likitha Shetty 41f6585754 CLOUDSTACK-1136: [EC2 Query API] AssociateAdress, DisassociateAddress and ReleaseAddress fail with NPE
When invalid parameter is provided as input for any of these API's we get an NPE
2013-02-11 12:05:03 -08:00
Likitha Shetty 1e8648c92d CLOUDSTACK-1124 [EC2 Query API] Improve the logging. Having empty response objects is harmless to functionality
This is observed in the awsapi.log for all Describe* EC2 commands when the response object returned by CS has no elements. But with EC2DescribeImages command it is always observed. This is because every time DescribeImage is fired, we call CS listTemplates command multiple times, each time setting a different value for the templateFilter parameter (e.g. featured, executable, community etc.). And for some of these CS calls made we obtain am empty response and hence the message in the logs.
2013-02-11 11:50:13 -08:00
Likitha Shetty 5d09b9fd3a CLOUDSTACK-1112 [EC2 Query API] DescribeSnapshots fails, when an invalid 'snapshotId' parameter is provided 2013-02-11 11:37:57 -08:00
Likitha Shetty f839ad7b53 CLOUDSTACK-1121: [EC2 Query API] RunInstances, instance is always deployed in the default security group
During EC2RunInstances, even if the security group the instance is to be deployed in specified the instance gets deployed in the default security group
2013-02-11 11:19:55 -08:00
Likitha Shetty 05280976e5 CLOUDSTACK-1120 [EC2 Query API] Parameter 'keynames' is not honoured by DescribeKeyPairs
When EC2DesribeKeyPairs is called with filter 'keynames' it ignored the key-name provided and lists all the key-pairs
2013-02-11 11:09:36 -08:00
Likitha Shetty 2364ada4df CLOUDSTACK-1119 [EC2 Query API] Add filter support for DecsribeAddresses
EC2DescribeAddresses doesn't have filter support.
Support will be available for filters -> instance-id and public-ip
2013-02-07 18:32:48 -08:00
Likitha Shetty b5e28038cb [EC2 Query API] DescribeAvailabilityZones doesn't have any filter support.
CLOUDSTACK-1118

Support will be available for filters - zone-name and message
2013-02-07 18:00:35 -08:00
Likitha Shetty 12ad296b6c CLOUDSTACK-1117 [EC2 Query API] DescribeImageAttribute fails
EC2DescribeImageAttribute fails with 'Unsupported - only description supported' error. And this is observed for both the supported attributes 'Description' and 'LaunchPermission'
2013-02-07 17:54:02 -08:00
Prachi Damle 4e4edc9e42 CLOUDSTACK-1116 [EC2 Query API] Support for ModifyImageAttribute and ResetImageAttribute
https://reviews.apache.org/r/9213

Add support for EC2 ApiI's ModifyImageAttribute and ResetImageAttribute.
Attributes supported are Description and LaunchPermission.
2013-02-07 17:22:16 -08:00
Kelven Yang 7bd8bec68a Sync javelin with master up to 894cb8f7d9 2013-01-31 17:20:19 -08:00
Likitha Shetty 64b00d0b34 [EC2 Query API] Remove the registration step since query API does not require the certificate
https://reviews.apache.org/r/8742/

While checking if the user keys exists and also while retrieving the secret-key for signature generation (Query API only), make a change to directly check in the 'cloud' DB instead of the 'cloudbridge' DB.
With this change user will not require to register the keys before making EC2 Query API calls against CS. The registration process to make EC2 SOAP API calls will remain the same.
2013-01-31 12:00:39 -08:00