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