Commit Graph

115 Commits

Author SHA1 Message Date
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
Kris McQueen 9abc658da0 Refactor listGuestOSCategories API to new framework. 2010-08-30 16:18:40 -07:00
Kris McQueen 4bb71d2a0c Refactor listEvents API to new framework. 2010-08-30 16:18:40 -07:00
Kris McQueen e55e6c283f Refactoring work on listCapacities, listConfigurations, listClusters, and listDiskOfferings commands. The work represents consolidating the Criteria object into just pulling the search criteria directly from the command. Also changed BaseListCmd to server the startIndex and pageSizeVal [includes default page size of 50] rather than have each search command compute these things. 2010-08-30 16:18:39 -07:00
Kris McQueen 68275debc0 Refactor listAsyncJobs to new API framework, consolidating parameter and criteria packing/unpacking into just command unpacking to simplify building the search criteria. 2010-08-30 16:18:39 -07:00
Kris McQueen f30e0dc383 Adding the response object for alerts, initially created as part of the listAlerts refactoring. 2010-08-26 10:46:04 -07:00
Kris McQueen 479ff26051 Refactoring createZone to new API framework. The logic was entirely delegated to configuration manager, so pushed the logic there and removed the proxy method from Management server. 2010-08-25 18:26:38 -07:00
Kris McQueen 34a3c3ece2 Refactored createVlanIpRange to new API framework. Moved logic to configuration manager, including the association of the ip addresses on a vlan with the account for which the vlan is being created. On deployVirtualMachine, this association might happen as well, and now mgmt server calls config manager. 2010-08-25 18:26:38 -07:00
Kris McQueen c085283c2e Refactor createUser to new API framework. Consolidate the old createUser (GWT UI used this API) and createUserAPI into one createUser method since it's only called through integration API now. Return a UserAccount instead of a User in order to generate a response with all the information required. Also clean up some of the unused private template code from ManagementServer that was mistakenly left in from a previous refactor. 2010-08-25 18:26:38 -07:00
Kris McQueen defae59126 Finish refactoring createTemplate to new API framework. The executor and result object from old framework still need to be deleted, but this commit moves all the business logic to the manager with validation in the createPrivateTemplateRecord and creating a snapshot if necessary in createPrivateTemplate. Additionally, added a find method on the template dao to check if the template name is in use for the account (this is part of the validation). 2010-08-25 18:26:38 -07:00
Kris McQueen 78445d8348 Refactoring createStoragePool to new API framework. The logic was always in StoragePoolManager, mostly removed the management server proxy method which called into StoragePoolManager. There is still an outstanding TODO for this API in terms of the response. Once the storage pool has been added, there is a query for the allocated bytes on the pool in order to return proper storage stats. Hooking into this query to get the right data needs to be done. 2010-08-18 19:11:01 -07:00
Kris McQueen b0668df1b9 refactoring createSnapshotPolicy to new API framework...since this is a basic database create just move parameter validation to SnapshotManager and save the snapshot policy in the database 2010-08-18 19:08:23 -07:00
Kris McQueen 96f999a375 Refactoring createServiceOffering to the new API framework, just a simple database create that has been moved from a management server proxy method that calls configuration manager directly into the configuration manager. 2010-08-18 19:06:12 -07:00
Kris McQueen 88395cfcd8 CreatePortForwardingService has been refactored to the new API framework. CreatePortForwardingServiceRule has also been refactored to the new API framework. This is the first async create command, so there are some changes for the framework with async creates. First, the annotation has a 'createMethod' element, the framework will invoke the createMethod synchronously, update the id of the created object, return the jobId and objectId, then queue the method. Once the method is invoked the actual business logic will kick in, for example 'createVolume' will create a database record for the volume, return the appropriate id, and then asynchronously create the volume in the correct storage pool. The requirement is now that both a create method and an implementation method will be required in the given manager for async create commands. 2010-08-18 19:06:12 -07:00
Kris McQueen 261c96f99c refactor createPod command to new API framework 2010-08-17 19:08:06 -07:00
Kris McQueen 21ab91dc2c refactoring CreateNetworkGroup API command to new API framework 2010-08-17 19:07:00 -07:00
Kris McQueen 82d6edcdf3 Refactoring CreateIPForwardingRule and CreateLoadBalancerRule to new API framework 2010-08-17 19:07:00 -07:00
abhishek a4ab5fa38d Creating a new response obj file 2010-08-17 10:56:06 -07:00
Kris McQueen 5ed3ec9192 Add response object interface.
Add response objects for CreateDiskOffering and CreateDomain.
Move validation of parameters for CreateDiskOffering and CreateDomain to business logic, add getResponse logic for these commands.
2010-08-16 18:12:31 -07:00