Commit Graph

168 Commits

Author SHA1 Message Date
alena 9e622c6a6c bug 8726: escape ", ', &, <, > special chars in xml response
status 8726: resolved fixed
2011-02-24 17:11:28 -08:00
will 68d5c0919a bug 5482: Fixed malformed JSON when an error is returned by the API call. Also fixed the UI to make use of the new JSON object. 2011-01-05 18:06:59 -08:00
alena 2d316eabb7 bug 6056: Changed format for API error response.
status 6056: resolved fixed

Example of error response:

Json:

 { "updatedomainresponse" : {"errorcode" : "431, "errortext" : "Unable to find domain 4"}  }

Xml:

<updatedomainresponse cloud-stack-version="1.9.1.2010-12-28T18:14:57Z">
<errorcode>431</errorcode>
<errortext>Unable to find domain 4</errortext>
</updatedomainresponse>
2010-12-28 10:36:04 -08:00
Kelven Yang 54f177cacc 1) Make generic dao be able to persist UTF-8 string for internationalization support
2) Undo gson Unicode escape in API response object to avoid double escaping which can break Javascript from getting correct text content
3) Correct API layer in dealing with character encoding
4) Remove double escape in cloud.core.js
2010-11-30 09:40:54 -08:00
alena 44737d24c5 bug 7196: fixed response object generation for authorizeNetworkGroupIngress command (response type is Network group response - the way it was in 2.1.x - instead of IngressRule response)
status 7196: resolved fixed

Also fixed revokeNetworkGroup command - didn't work via 8096 port
2010-11-24 09:50:04 -08:00
Alex Huang 1e44925564 api refactoring 2010-11-21 12:00:21 -08:00
abhishek 18ff23c839 added a list method to list ip forwarding rules, optionally list a rule based on its public ip address 2010-11-18 11:15:13 -08:00
abhishek c4f1b35aef returning the public ip address in the creation of firewall rule, for the UI to consume 2010-11-18 09:42:47 -08:00
alena 2184dd1af2 bug 7195: introduced search by forVirtualNetwork parameter in listVmsCmd. Added "forVirtualNetwork" param to responses for all VM's apis.
status 7195: resolved fixed
2010-11-17 14:11:16 -08:00
alena dae39942f1 bug 7192: Added networktype parameter for the zone
status 7192: resolved fixed

1) Zone has networktype parameter now, 2 values are supported: Basic and Advanced. "networktype" field is created in data_center table. The parameter is being set at creation time; we don't allow to modify it with updateZone command.
2) Only vlan of Untagged Direct type can be created in Basic network zone; any other vlan except for Untagged Direct can be created in Advanced zone
3) Allow NULL guest vlan range for the zone. Only vlan of Direct type can be created in zone with NULL guest vlan.
4) "Default" zone is Basic by default.
5) Changed "vnet" parameter to "vlan" in updateZone command to be consistent with createZone
2010-11-16 16:54:44 -08:00
alena c5d78a726e Modified exception handing in API. Following exceptions are supported now (location - BaseCmd.java):
* MALFORMED_PARAMETER_ERROR - when type of the request parameter is invalid (String instead of Long for id for example)
* PARAM_ERROR - when invalid parameter value is specified in api request. For example, id of non existing vm for StartVmCmd
* ACCOUNT_RESOURCE_LIMIT_ERROR - when user tries to exceed his resource limits by executing the api command.
* INSUFFICIENT_CAPACITY_ERROR - when resource fails to create/start due to insufficient capacity.
* RESOURCE_UNAVAILABLE_ERROR - when user tries to create a vm when storage is not available.
* RESOURCE_IN_USE_ERROR - when user tries to delete/modify resource while it's in use. For example, when we try to delete a network group when it contains ingress rules.
* NETWORK_RULE_CONFLICT_ERROR - when LB/PF rule to add conflicts with existing rule
* ACCOUNT_ERROR - when user is not authorized to execute operation on the resource.
* INTERNAL_ERROR
2010-11-16 11:56:34 -08:00
abhishek d5ab597fcf bug 6474,6475: porting over the expunge fixes for port forwarding rules to 2.2
status 6474,6475: resolved fixed
2010-11-15 17:33:05 -08:00
abhishek c115a2e401 bug 7189: returning vmdisplayname if available for all port fwding crud cmds
status 7189: resolved fixed
2010-11-15 14:55:03 -08:00
abhishek d520f0af5b adding a column in user_ip_address table called one_to_one_nat; which is a boolean to tell us if the ip is a nat ip. This is false by default, and is set to true when we nat the ip. Also, this value is returned in the list public ip addrsses api call.
finally, the value is set to false when we delete the ip forwarding rule.
2010-11-15 12:39:24 -08:00
abhishek c91c977fba bug 6290: we will be returning the service offering details for a root disk in the list volumes cmd, as opposed to the disk offering which was misleading
status 6290: resolved fixed
2010-11-12 11:24:34 -08:00
abhishek 673ddb246a bug 6832: returning the missing api value for destroyed volumes
status 6832: resolved fixed
2010-11-12 10:55:13 -08:00
nit dd8f02589d bug 6837 : UpdateIso and UpdateTemplate API should return ostypename. Removing incorrect domainId creeping in because it was of primitive type.
status 6837: resolved fixed
2010-11-12 18:08:43 +05:30
alena 47e365f5ea bug 7089: return embedded object name in xml response
status 7089: resolved fixed
2010-11-08 13:59:14 -08:00
will 89c717703f Fixed API commands that extend BaseCreateAsyncCmd to return the correct API response of id, and jobid.
Added the default public constructor back in the SuccessResponse to make sure deserialization works from the asyncjob table.
Fixed a issues with the VPN tab.  It should now make use of the corrected API format.
2010-11-06 16:30:08 -07:00
will ca0ce93fde Fixed all sync commands that can possibly return a <success> tag. If success, it will return true, otherwise an HTTP error will be returned. 2010-11-05 21:25:19 -07:00
will a3dbc34857 bug 7059: refactored the API to now add the single embedded object tag after a response
- Changed networkgroups to security groups
- a whole bunch of other API bugs.  Unfortunately, I may have broken more.
2010-11-05 20:10:57 -07:00
will 05ab3bf673 bug 7063: AsyncJobResult should now return the correct success and error tags upon the completion of a async job. It should now follow either the format ... jobresult.success or jobresult.errorcode and jobresult.errortext
- Fixed a lot of other Async related packaging issues.  It's not all done but will continue to refactor this later.
2010-11-05 17:30:03 -07:00
alena b9ad299ac6 bug 6998: return embedded job result object in queryAsyncJobResult command
status 6998: resolved fixed
2010-11-05 12:03:01 -07:00
will b9fc4137f7 Bug 6988: Fixed issue with queryAsyncJobResult returning jobResults in all String format. This is to mirror the same way that the async commands are being serialized.
- Changed client.war to now include all the thirdparty files
- Fixed addVpnUser command to return a vpnuser instead of the response
- Added vmware jar files to the development build.
2010-11-04 20:56:28 -07:00
will 70b4c4d181 Bug 6988: addVpnUser did not camel case the "username" which resulted in that particular value not being returned. 2010-11-04 20:56:23 -07:00
nit 7dc7a4838a bug 4286: Fixing the extract functionality for Upload after new API framework. Also added a check to avoid system created templates and ISO's from getting extracted as per Mike.
status 4286: resolved fixed
2010-11-04 19:09:38 +05:30
will f907e370d1 - Added the rest of the VPN UI feature with the exception of displaying the preshared key.
- AddVpnUserCmd will now return the embedded object.
- Fixed RemoteAccssVpnResponse to return "iprange" instead of "ipRange"
2010-11-03 22:24:22 -07:00
abhishek 2303afe55c making changes for disk offerings with a new column called customized being added, for the UI to cosume whilst deploying vm with an arbitrary volume size. The UI will use this value to set the right size and the offering will ensure the right tags are taken. 2010-11-03 17:45:52 -07:00
alena 6bd87ca161 Return "status" field in StoragePoolResponse. Status can be Up, Maintenance, ErrorInMaintenance 2010-11-03 14:59:00 -07:00
Chiradeep Vittal 0dd19c197b VPN users API -- WIP 2010-11-03 14:02:13 -07:00
Alena Prokharchyk 694a8231ef Build responses in ApiResponseHelper for the deploy/start/stop/reboot/recover/listVm create/list snapshot/snapshotPolicies 2010-11-02 18:16:45 -07:00
alena 6c3256d1e4 1) Return embedded objects for enable/disable/lock/update Account/User and updateDomain
2) Added "haschild" return parameter to Domain response.
3) Fixed updateDomain command - used to set domainname to "updatedomainnameresponse" value if no name was specified in the request. Added more logging for updateDomain command.
2010-11-01 23:49:57 -07:00
Chiradeep Vittal 1e0eb04442 Add VPN apis, some systemvm changes for vpn 2010-11-01 10:27:49 -07:00
abhishek 362e67d724 adding failover protection case for when the mgmt svr crashes in the middle of executing something; along with custom response for cert 2010-11-01 09:04:51 -07:00
kishan 3a0f30a049 bug 6408: remove security groups/port forwarding service in virtual network case
status 6408: resolved fixed
2010-11-01 14:28:03 +05:30
Kris McQueen 24551eea3a Add constants for API command parameter names and for API response parameter names. Update the commands with the new constants rather than custom strings. Update several of the responses with the constants. Not all the responses have been updated, this is still work in progress... 2010-10-29 17:20:40 -07:00
Kris McQueen 88dac13bb0 use the API response date format when serializing response objects 2010-10-29 13:23:29 -07:00
Kris McQueen 7531525252 Add commented code out for the old style (2.1.x) JSON async job responses. The XML responses are still a TODO. In order to get this to fully revert back to 2.1.x style responses, some commands will need to be modified to set the responseName to be something like getResultObjectName(), and there's an example of this in StopVMCmd. 2010-10-28 14:32:13 -07:00
Kris McQueen 9eb851db60 bug 6809, 6712: standardize the domain router response to use guestmacaddress instead of macaddress
status 6809, 6712: resolved fixed
2010-10-28 14:32:13 -07:00
Kris McQueen 50c175d6c1 bug 6799: forgot to add the exception response in my commit for this bug... 2010-10-27 18:23:23 -07:00
nit 497c60d63d Extending extract functionlity for volumes to allow download. The
extraction can have two modes FTP_UPLOAD and HTTP_DOWNLOAD. In the former one
the user would provide the ftp url where the entity needs to be uploaded and in
the later the user would be provided a HTTP URL where from he/she can download
the entity. This url would be exposed for a specific time limit and would not
function after the time limit
2010-10-26 18:49:43 +05:30
Kris McQueen b3c7821b44 bug 6752: fix updating resource limits for a domain by looking at the given accountName/domainId parameters rather than looking at the caller's account. If updating limits for an account, e.g. account 'foo' in domain 4, then execute updateResourceLimit&account=foo&domainid=4&..., but if updating the limit for a domain, don't specify the account parameter. When processing the command, if accountName is null, the limit for the domain will be properly updated.
status 6752: resolved fixed
2010-10-25 17:32:28 -07:00
Kris McQueen fcb0ff83ac bug 6712: for router responses, change guestmacaddress -> macaddress to preserve behavior from 2.1.x and before.
status 6712: resolved fixed
2010-10-25 16:37:42 -07:00
Kris McQueen 869f3587c3 bug 6714: add displaytext to SuccessResponse so commands that return success true/false can also return a brief description of what took place.
status 6714: resolved fixed
2010-10-25 16:37:42 -07:00
nit 511a095c26 bug 6487: AttachISO API would return an embedded object on success.
status 6487: resolved fixed
2010-10-25 18:26:39 +05:30
nit 554e360d21 Fixing a typo in the HostResponse of the word custer.
Fixing the names of the ISO and templates.
2010-10-25 14:54:49 +05:30
Jessica Wang 958aaaaf87 new UI - instance page - refactor submenu. 2010-10-22 20:23:05 -07:00
Kris McQueen e6f7a480ae bug 6674: Fix VM responses
- ostypeid -> guestosid
 - findRootVolume is now in ApiDBUtils (from mgmt server) since it's for API responses only
 - add rootdeviceid and rootdevicetype to various VM respones (listVirtualMachines, deployVirtualMachine, start/stopVirtualMachine)

status 6674: resolved fixed
2010-10-22 13:57:03 -07:00
abhishek 2b9ab00cc2 bug 3386: first part of the checkin, wherein we have an optional param domainId for create and modify zones. If this domain exists in the system, then the zone is tagged with this domain id, so that subsequent calls are checked for sanity against this domain. 2010-10-21 11:43:06 -07:00
kishan fa4a16cb68 bug 5592: Added configurable domain for hosts.
status 5592: resolved fixed
2010-10-21 11:51:09 +05:30
nit 6723549fc7 bug 6399: extending extract functionlity for templates and ISO's to allow download. The extraction can have two modes FTP_UPLOAD and HTTP_DOWNLOAD. In the former one the user would provide the ftp url where the entity needs to be uploaded and in the later the user would be provided a HTTP URL where from he/she can download the entity. This url would be exposed for a specific time limit and would not function after the time limit. 2010-10-20 11:40:03 +05:30
Kris McQueen 2bd5b6a29e bug 6654: virtualmachinename should be serialized as vmname, fix handling of the createPortForwardingRule response
status 6654: resolved fixed
2010-10-19 15:59:37 -07:00
Kris McQueen 0267a306c8 bug 6649: when listing domains, accept -1 as 'list all.' Fix listDomainChildren response to return haschild, handle haschild as a boolean rather than a string.
status 6649: resolved fixed
2010-10-19 13:49:00 -07:00
abhishek 89e9a85902 bug 6037: adding response obj of type uservmmanager to recovervm response 2010-10-19 11:00:23 -07:00
alena bb5399c2bc Fixed PodResponse: endip is all lowercase now. 2010-10-18 14:11:21 -07:00
Kris McQueen 603874605d The serialized names for the old VIRTUAL_MACHINE_* constants weren't quite right. Fix these up. This is a good example for why there needs to be a pass through the API commands and responses and constants should be used in the annotations rather than the current strings that are in place. 2010-10-18 14:10:07 -07:00
edison e41729cc43 fix rpm build 2010-10-16 01:03:31 -07:00
Kris McQueen 0f4a245f0a resolving merge conflicts before pushing to the remote repository 2010-10-12 15:37:50 -07:00
Kris McQueen 2740ba6c40 final merge of master->2.1.refactor preparing for merge back into master 2010-10-12 14:46:24 -07:00
alena fb50fe624c * Added descriptions for Api command's request and response parameters.
* Changed response type for DeleteDomain and DeletePreallocatedLun commands to SuccessResponse
* Implemented small tool (ApiXmlDocReader) for comparing api commands of different product versions.
2010-10-11 09:21:42 -07:00
Kris McQueen 335613a8a9 Add the mirrored property to the disk offering response 2010-10-07 15:03:47 -07:00
alena 136060e5cf 1) Finished XmlApiDoc writer. The program gets api classes from commands.properties.in file, and build Command objects with "name"/"description"/"request"/"response" fields. Request and response are represented by the list of arguments, each argument contains "name"/"description"/"isrequired" fields. The commands are being serialized to commands.xml using imported xstream library, and can be desiarialized later - it will help to compare commands from differemt product versions.
2) Added description() methods to Implementation and Param annotations.
2010-10-04 09:50:14 -07:00
Kris McQueen 5f2acc8cdd Fixing API responses for user VMs (we need to return ipaddress rather than privateip) and domain routers (guestMacAddress != guestmacaddress for case sensitive string comparison) 2010-09-30 14:22:10 -07:00
Kris McQueen 95a7f20a0a Adding in XML response serializing. Now the new API framework supports both XML and JSON responses the way the old framework did. 2010-09-28 17:36:27 -07:00
Kris McQueen 848ce60097 Merging master into 2.1.refactor, resolve the merge conflicts as best I can. New commands related to extracting template/iso/volume and related to instance groups were refactored to the new API framework. 2010-09-28 15:47:14 -07:00
Kris McQueen 62257d4021 Fix serializing async job responses by writing a custom adapter for ResponseObjects. Improve exception handling when calling async commands (the job still needs to complete, but with FAILED status). 2010-09-24 13:52:35 -07:00
Kris McQueen 2a4ddac41a Change getResponse() to return a ResponseObject so that the caller can choose how to serialize. This in in preparation for serializing the async commands to the database with class information and deserializing them into the ResponseObject itself when queryAsyncJobResult is called. Once the ResponseObject is deserialized, the proper string can be returned to the caller.
The previous behavior had the JSON response from the command embedded into the queryAsyncJobResult response as a string rather than a JSON object which prevented the client from being able to read the response.  With this new behavior an actual JSON object should be returned which can then be parsed on the client side.
2010-09-23 17:34:28 -07:00
Kris McQueen c32d6e7524 Template id is not a required parameter when listing templates. The proper serialized name for the async job id is jobid, not id. Sadly, ctxAccoutId != ctxAccountId, ugh, no wonder the UserContext wasn't getting set up correctly. Clean up some miscellaneous unnecessary casts. 2010-09-21 17:00:50 -07:00
Kris McQueen 1a54c52d5e Change the annontations for response objects to use the GSON annotations for the property name written to the response 2010-09-20 17:47:56 -07:00
Kris McQueen 12ef5106b6 Fixing serialization of JSON responses to handle both regular objects and list-style responses. Add missing managers to API dispatcher. Fix a typo in listAlerts command implementation method. Add signatures for various add host/storage APIs. 2010-09-20 15:20:32 -07:00
Kris McQueen e2e0e76063 More work on serializing responses. Now responses have to have the name set on them, and the name will eventually be serialized to the JSON/XML response the way it used to work for commands themselves [the result of cmd.getName() was written to the response string]. For list respones, we wrap the individual objects in a ListResponse object that has the name of the response, and the individual objects have the object name so that accounts will be something like <listaccountsresponse><account><...></account><account><...></account></listaccountsresponse>. 2010-09-17 17:13:04 -07:00
Kris McQueen a5f50d236f Rearranging how response objects work since we need the response name when doing serialization. Now there's a base class that implements the getResponseName method, all responses extend this base class 2010-09-17 15:18:37 -07:00
alena b49f63c28e Refactoring addConfig/deleteDiskOffering/deletePod/getCloudIdentifier/enableAccount/enableUser/enableAccount/updateUser/updateDiskOffering/updateConfig commands to new API framework 2010-09-15 16:41:38 -07:00
Kris McQueen dc6e07ad75 Refactoring deletePreallocatedLun and registerPreallocatedLun to new API framework. 2010-09-14 17:53:12 -07:00
Kris McQueen 1d912fb608 adding licensing info 2010-09-14 16:09:05 -07:00
Kris McQueen a53cb4aab0 Refactoring deleteDomain to new API framework. Cleaning up some compilation errors that resulted from previous refactoring, namely there was a requirement to keep the old manager method around for createDiskOffering and createZone in order for the ConfigurationServer to work. 2010-09-14 15:36:12 -07:00
Kris McQueen dbb2897626 Unexposed parameters can now be assigned to commands. This are for internal use of the command, and will be serialized/deserialized during execution/response phases, but will not be accepted as part of the API request. Also create a DB utility file for the API to use which delegates requests to the DAOs. Mostly this utility class will look up objects by ID, and it allows the removal of similar methods from ManagementServer, thereby reducing some of the clutter in ManagementServer. 2010-09-14 14:54:04 -07:00
Kris McQueen f4caf145c3 Refactoring dispatching API commands from the scheduled async job. Instead of calling an executor, the dispatcher invokes the method on the manager directly. After the command is executed the response is serialized to the async job table so it can be queried later. Also serialize a response for async create commands that includes the id of the object being created. 2010-09-13 18:28:19 -07:00
Kris McQueen b73cd10fbe Refactoring listAccounts to new API framework. 2010-09-09 18:58:37 -07:00
Kris McQueen 3949afa9ae Refactor queryAsyncJobResult to new API framework. 2010-09-08 19:24:35 -07:00
Kris McQueen 8c2756b681 Refactor listZones to new API framework. 2010-09-08 18:56:28 -07:00
Kris McQueen 741bb77b7e Refactor listVolumes to new API framework. 2010-09-08 18:56:28 -07:00
Kris McQueen b144be4613 Refactor listVMs to new API framework. 2010-09-08 18:56:28 -07:00
Kris McQueen bdebd4bfa3 Refactor listUsers to new API framework. 2010-09-08 18:56:28 -07:00
Kris McQueen b40f496f80 Refactoring listTemplatePermissions and listIsoPermissions to new API framework. 2010-09-08 18:56:27 -07:00
Kris McQueen 5204349fef Refactor listSystemVms to new API framework. Add missing licensing info to several API response files. Combine ConsoleProxy and SecondaryStorageVm interfaces into SystemVm interface to have common functions callable from one interface rather than having to cast overly much just to get the same data from the objects. This also includes a partial refactoring of ListStoragePoolsAndHosts command. 2010-09-08 18:56:27 -07:00
Kris McQueen 614c3fa502 Refactor listSnapshots to new API framework. Also some minor code cleanup. 2010-09-07 18:41:52 -07:00
Kris McQueen 3b703c76cf Refactor listSnapshotPolicies to new API framework. 2010-09-07 17:46:55 -07:00
Kris McQueen a905442b2e Refactor listRouters to new API framework. 2010-09-07 16:25:26 -07:00
Kris McQueen 4e5aa9cd98 Finish refactoring listResourceLimits to new API framework. 2010-09-07 14:56:51 -07:00
Kris McQueen f653e54ce6 Refactoring listRecurringSnapshotSchedule to new API framework. 2010-09-07 14:56:50 -07:00
Kris McQueen 22b0a95b2f Refactor listPublicIpAddresses to new API framework. 2010-09-02 16:23:29 -07:00
Kris McQueen 1d1e10d2d3 Refactoring listPreallocatedLuns to new API framework. 2010-09-02 15:23:15 -07:00
Kris McQueen f6ae5e9b52 Refactoring listPortForwardingServicesByVM to new API framework. 2010-09-02 11:57:31 -07:00
Kris McQueen 476151453e Refactor listPortForwardingServiceRules to new API framework. 2010-09-01 16:19:11 -07:00
Kris McQueen fbcb02cd9e Refactoring listNetworkGroups to new API framework. The search is done entirely within NetworkGroupManager, and this is one instances of a response with nested data (the ingress rules are nested within the groups). Some work will need to be done to serialize this response properly. 2010-09-01 14:05:39 -07:00
Kris McQueen 583f29242d Refactoring listLoadBalancerRuleInstances to new API framework. 2010-08-31 18:59:20 -07:00
Kris McQueen 4be6af476d Refactoring listTemplates and listIsos to new API framework. 2010-08-31 14:50:30 -07:00
Kris McQueen 7e7baba8e7 Refactor listHosts API to new framework. 2010-08-30 18:02:54 -07:00
Kris McQueen b797313ac0 Refactor listOSTypes API to new framework. 2010-08-30 16:18:40 -07:00