Alex Huang
c6033baa78
system vm start and stop added
2010-11-11 12:53:19 -08:00
alena
5fafef9970
More api refactor - build api response is execute() method instead of getResponse method.
2010-11-09 09:58:05 -08:00
alena
1c24deda34
1) Refactored current Apis not to use reflection for method invocation. In new version following has to be done:
...
* Implement callCreate() and execute() methods in apis extending BaseAsyncCreateCmd (example - CreateVolumeCmd)
* Implement execute() method in apis extending BaseCmd and BaseAsyncCmd (example - deleteVolumeCmd and deleteUserCmd)
We no longer need createMethod(), method(), manager() fields in @Implementation annotation, cleanup has to be done.
2) Moved Account/User related methods to AccountManagerImpl. Methods are exposed via AccountService interface.
3) Enhanced exception handing for Api calls.
4) Created ConfigurationService interface, all Api config methods are exposed via it.
2010-11-08 11:27:36 -08: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
Alex Huang
d5d8f27cad
Added more changes to the api
2010-10-21 15:11:49 -07:00
Kris McQueen
f4f00cbe2d
bug 6655: when verifying request signature for API requests that use keys, pass the userId of the requester as a Long to avoid NPEs when converting it to a string. Also set up the UserContext for both normal users and admins.
...
status 6655: resolved fixed
2010-10-19 11:41:09 -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
Kris McQueen
9c593352d0
Fixing events for async jobs so that there's a scheduled event recorded with appropriate type/description whenever the API framework schedules the async command to run. A few miscellaneous fixes as well uncovered during regression testing (router response was not parsed correctly by UI, etc.)
2010-10-05 20:26:18 -07:00
nit
f7f2b5666a
bug 5871: removing the NDC since there is no nested context involved in the audit trail and since its leaking into the management server logs.
2010-10-05 19:51:12 +05:30
nit
38fd80e522
bug 5871: Introducing audit trail for all the interactions with the cloud stack - User 'X' initiated an action 'Y' on resource 'Z'. The audit will contain http api request along with the contextual parameters (userId, accountId, sessionId). For the response part only log success/failure for all sync api's with the exception of queryAsyncJob where reason code and reason will also be logged. For async api's I will also log the async job id.
2010-10-04 14:27:40 +05:30
Kris McQueen
41a16a478a
Fixes required for regressions found running automated tests. (1) method signatures that weren't properly refactored to new API framework (2) API request parameter types should always be specified lest they default to String which may or may not be desired (3) better exception handling with regard to Queued commands and generic exceptions (4) fix eventing to pass the proper accountId where neccessary
2010-10-01 14:11:18 -07:00
Kris McQueen
0105aec338
Always set the response type on the command object so that the correct output is generated. Add both Strings and Longs to the login response (domainId and userId will be the Longs). Use the correct method name for ListSystemVMsCmd.
2010-09-29 17:32:19 -07:00
Kris McQueen
da660f2575
Change session parameters to be their actual type (domainId and userId are saved to the session as Longs and not Strings)
2010-09-29 15:18:43 -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
e31f89e6a9
Set up accountId in the AsyncJob since it's needed for proper validation when querying the job status.
2010-09-21 18:26:34 -07:00
Kris McQueen
3f6a438d92
Refactoring the AsyncJobManager to queue jobs appropriately if there is a need to synchronize execution on an object, e.g. a router. API developers can now call command.synchronizeCommand(String, Long) to force the command to be synchronized on a particular object type [the string arg] with a particular id [the long arg]. When synchronizeCommand() is invoked, an exception maybe thrown by the framework (AsyncCommandQueued exception) to force the business logic to abort. The command will then be queued and invoked at the appropriate time. The synchronizeCommand() is re-entrant and will be a no-op if the command has already been queued and is now ready for execution.
2010-09-16 19:05:06 -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
a8112f65de
When using session based authentication, we now store the parameters in the session as part of the login processing, instead of returning those parameters so that the caller has to update the session. Authentication now throws an exception on failure and the caught exception is where the session is invalidated.
2010-09-13 17:04:11 -07:00
Kris McQueen
449d1f3acf
working through some compilation errors that have arisen due to all the API refactoring...
2010-09-13 14:46:23 -07:00
Alex Huang
b250b985ec
changes
2010-08-18 12:19:22 -07:00
Manuel Amador (Rudd-O)
ac730ec496
Branch 2.1.refactor committed
2010-08-11 09:13:42 -07:00
Manuel Amador (Rudd-O)
05c020e1f6
Source code committed
2010-08-11 09:13:29 -07:00