Commit Graph

302 Commits

Author SHA1 Message Date
abhishek 1356f5f33a bug 5190: incremental checkin, code cleanup 2010-09-27 16:46:14 -07:00
abhishek 060dfc2cf9 bug 5190: incremental checkin 2010-09-27 16:39:32 -07:00
alena 49143dbe4a Remove user vm from instance_group when empty string is passed as value for "group" parameter in updateVirtualMachine API. 2010-09-27 14:24:08 -07:00
nit b857a9b4c8 bug 4177: registerTemplate/registerIso commands would start accepting account/domainId params.
status 4177: resolved fixed
2010-09-27 17:24:23 +05:30
nit 26fc22160c bug 5871: Correcting the ostypeid and ostypename returned by the listIsos 2010-09-27 12:10:49 +05:30
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
abhishek 320df380c9 bug 6217: incremental fix for the vm api
bug 6217: resolved fixed
2010-09-23 14:56:25 -07:00
abhishek e0dcb95511 bug 6217: incremental checkin 2010-09-23 14:55:13 -07:00
abhishek 703c182f8f bug 6222: removing non needed attribs
status 6222: resolved fixed
2010-09-23 10:32:42 -07:00
abhishek 32884572b9 bug 6241: incremental checkin 2010-09-22 15:32:42 -07:00
nit fd86e976b6 bug 6249, 6250: listDiskOfferings API - adding createed date tag and removing ismirrored tag.
status 6249, 6250: resolved fixed
2010-09-22 15:08:14 +05:30
Kris McQueen c26426c7c7 Throw an exception when the dispatcher can't find the implementation for an API command. 2010-09-21 18:26:57 -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 8161078803 QueryAsyncJobResult was missing an implementation and had 'id' as the parameter when it should have been 'jobid'. 2010-09-21 18:25:35 -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 5a3f4af638 AddHost and AddSecondaryStorage have different required parameters, so avoid subclassing these commands and just call a common method in the agent manager. Fix the response name for listAccounts. CreateUser returns one user, so don't always get response.user[0] since that's pointless. A secondary storage host does not have a pod id (NfsSecondaryStorageResource) so make sure not to dereference variables that will be null. 2010-09-21 16:28:31 -07:00
abhishek 122b0d1aeb bug 6243: adding a check to return an error in case we have a null domain id for a non null account
status 6243: resolved fixed
2010-09-21 15:50:49 -07:00
abhishek d07cac932a bug 6165: there is a possiblility of the root volume being null when we search for it, which may be causing a npe in this bug. enhancing the logic around this
status 6165: resolved fixed
2010-09-21 15:17:21 -07:00
abhishek 37870da95f bug 3120: incremental fix 2010-09-21 14:47:51 -07:00
nit 87f1a96c29 bug 6214: UpdateIso API - Adding account and domain tags. 2010-09-21 16:17:48 +05:30
nit 0669c2c1d4 Merge branch 'master' of ssh://git.cloud.com/var/lib/git/cloudstack-oss 2010-09-21 13:37:47 +05:30
nit 7ff551bd5c bug 4286: Extract functionality - code cleanup 2010-09-21 13:36:57 +05:30
Kris McQueen ebd06ae6f3 List clusters was using the name of the command rather than the name of the cluster to search for clusters, which was resulting in no clusters returned. Fixed. CreateStoragePool was returning an array of one pool every time, simplified it to just return the pool and changed the UI to expect one pool rather than an array. Fixed the backend code for creating a storage pool to (a) generate a UUID based on host name, path, and a timestamp and (b) to list only active storage pools when checking for duplicates. This allows a storage pool to be create with the same path as a pool that had previously been deleted. 2010-09-20 19:08:52 -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
abhishek a9c96b4da0 bug 3120: incremental checkin 2010-09-20 14:54:06 -07:00
abhishek 437f717633 bug 3120: incremental checkin 2010-09-20 14:54:06 -07:00
kishan 9393ad410e Merge branch 'master' of ssh://kishan@git.cloud.com/var/lib/git/cloudstack-oss 2010-09-20 15:12:55 +05:30
kishan b606d14396 Bug 5904: Included version in API header 2010-09-20 15:00:57 +05:30
nit a39fad5da4 bug 3384: listVolumes: allowing regular user to make a search by "type".
status 3384: resolved fixed
2010-09-20 13:09:33 +05:30
nit 33e683e2c7 bug 4286: Making ExtractVolumeCommand async and some code cleanup 2010-09-19 18:34:12 +05:30
nit 1a30ffbdc0 bug 6055: createDiskOffering API - removed isMirrored and domainId parameters.
status 6055: resolved fixed
2010-09-19 16:13:13 +05:30
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
abhishek 1a37b661c7 code cleanup 2010-09-17 17:06:19 -07:00
abhishek 573885c615 bug 6203: changed the functionality for custom volume and disk offering creation
status 6203: resolved fixed
2010-09-17 16:59:40 -07:00
abhishek a016aa27cd bug 6203: incremental fix 2010-09-17 16:59:40 -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
Kris McQueen 4a73639d67 Fix up setting the response object correctly after dispatching the api method call. Begin working on the serialization of the responses which don't include the command name just yet, that's coming. 2010-09-17 14:56:55 -07:00
Kris McQueen 1f4b2cfb06 Async commands need to have a start event id for event tracking. 2010-09-17 12:07:16 -07:00
nit 48cd102ab9 Merge branch 'master' of ssh://git.cloud.com/var/lib/git/cloudstack-oss 2010-09-17 17:04:35 +05:30
nit 636dc041c7 bug 4286: Making extractIsoCmd and extractTemplateCmd async 2010-09-17 17:04:07 +05:30
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
alena 091b28a6b3 Modified addSecondaryStorage/addHost/updateHost/associateIpAddress/attachIso/copyIso/copyTemplate/deletePortForwardingService/startRouter/stopRouter/rebootRouter commands to new API framework. 2010-09-16 18:54:15 -07:00
abhishek f1cab0525c bug 6021: blocking the deletion of private disk offering from the back end api 2010-09-16 16:47:35 -07:00
abhishek 3abe056736 bug 6141: fixed the error of not providing the right error for an incorrect diskoffering
status 6141: resolved fixed
2010-09-16 15:01:13 -07:00
abhishek 6731dc66f1 bug 3120: incremental checkin 2010-09-16 12:02:54 -07:00
alena 6fef440732 Updated DeleteHost/DeleteIso/deletePool/UpdateDiskOffering/updateIso/updateTemplate/updateDomain to new api framework 2010-09-15 20:07:01 -07:00
alena ec47f83a4a Merge branch '2.1.refactor' of ssh://git.cloud.com/var/lib/git/cloudstack-oss into 2.1.refactor 2010-09-15 16:45:59 -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 e18898ae4d Cleaning up some TODOs related to generating API command responses. Now that the ApiDBUtils class is available, setting things like domainNames is possible, so make use of that. 2010-09-15 16:22:55 -07:00
Kris McQueen be6a4612a4 Cleaning up some TODOs related to generating API command responses. Now that the ApiDBUtils class is available, setting things like domainNames is possible, so make use of that. 2010-09-15 15:48:52 -07:00
abhishek b2efa6872b a few more code cleanup tasks 2010-09-15 15:38:24 -07:00
Kris McQueen 8607fbe923 Cleaning up some TODOs related to generating API command responses. Now that the ApiDBUtils class is available, setting things like domainNames is possible, so make use of that. 2010-09-15 14:56:20 -07:00
Kris McQueen 496bcb9e85 Adding more db operations to the API utils class and removing them from ManagementServer. These methods delegate directly to the DAO and are cluttering ManagementServer with cover methods specifically for the API. Now that these methods are being moved to the API Utils class, ManagementServer has a smaller, cleaner API than before. 2010-09-15 14:25:21 -07:00
Kris McQueen 8bdb8f3581 Adding more db operations to the API utils class and removing them from ManagementServer. These methods delegate directly to the DAO and are cluttering ManagementServer with cover methods specifically for the API. Now that these methods are being moved to the API Utils class, ManagementServer has a smaller, cleaner API than before. 2010-09-15 12:16:00 -07:00
abhishek 652620363d bug 3120: reverting changes as still soliciting feedback on design 2010-09-15 11:52:31 -07:00
abhishek a05dc480a7 bug 3120: incremental checkin 2010-09-15 11:18:04 -07:00
abhishek ef8781b7b5 bug 3120: introducing this optional parameter in the command 2010-09-15 10:28:41 -07:00
abhishek cacb4dba1d bug 3120: incremental checkin for this bug, with the introduction of an optional ONE_TO_ONE_NAT parameter 2010-09-15 10:28:41 -07:00
nit f5ac46255c bug 4286: Schema changes to include the upload table, Introducing extractIso command and extractVolume command 2010-09-15 17:51:42 +05:30
alena b26ac321de bug 6177: Make VM group a first class object
1) Added new apis: createInstanceGroup, updateInstanceGroup, deleteInstanceGroup, listInstanceGroups
2) Group can be created using:
* createInsanceGroup api
* deployVirtualMachine/updateVirtualMachine commands (we create a group with name equal to "group" parameter value if the group doesn't exist already)
3) Group can be removed by:
* deleteInstanceGroup api
* when corresponding account is removed
4) Vm can be assigned to one group only. To move vm from one group to another, use updateVirtualMachine command with "group" parameter
5) Changed listVirtualMachines command to use "groupId" parameter instead of "group".

status 6177: resolved fixed
2010-09-14 19:08:01 -07:00
Kris McQueen dc6e07ad75 Refactoring deletePreallocatedLun and registerPreallocatedLun to new API framework. 2010-09-14 17:53:12 -07:00
Kris McQueen 1b8965c202 fixing package name for pre-allocated lun api commands 2010-09-14 17:04:35 -07:00
Kris McQueen cf6829a038 Moving pre-allocated lun API commands to OSS since it's not a premium feature 2010-09-14 17:02:16 -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 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 de5e978b7b Removing listSecurityGroups and listNetworkGroups from the SecurityGroupDao and NetworkGroupDao since they weren't being called by anyone. 2010-09-13 15:59:52 -07:00
Kris McQueen df10af0688 cleaning up imports, fixing up some compilation problems related to API refactoring 2010-09-13 15:25:46 -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
Kris McQueen 460ef94299 Refactoring listStoragePoolsAndHosts command to new API framework. 2010-09-13 14:03:07 -07:00
Kris McQueen 1e46e2e588 refactoring createVolume to new API framework 2010-09-10 23:25:22 -07:00
abhishek ec01e0b423 bug 5147: this checkin ensures that we cover some more corner cases, in particular, to not allow an execution when we have pools in inconsistent states (maintenance, prepareformaintenance or errorinmaintenance) 2010-09-10 14:52:05 -07:00
abhishek 4682b25cb5 bug 5147: implemented the logic to ensure that the volume creation is blocked when all sp's are in maintenance (or any of the status != UP) 2010-09-10 14:41:04 -07:00
abhishek 93261c4eb8 bug 5147: Improvements after testing the storage maintenance across multiple sp's, with sys vms scattered across multiple sps 2010-09-10 13:44:39 -07:00
Kris McQueen b73cd10fbe Refactoring listAccounts to new API framework. 2010-09-09 18:58:37 -07:00
Kris McQueen 037f1ff327 Refactoring createSnapshot to new API framework. 2010-09-09 18:58:37 -07:00
Kris McQueen 39038721a8 Refactoring deployVirtualMachine to new API framework. Since this is a rather complicated command with many steps, for now the way the logic is broken up between ManagementServer and UserVmManager and NetworkManager is preserved. Later there is a possibility of consolidating some of the logic. 2010-09-09 18:58:37 -07:00
abhishek 0a4532a003 bug 5147: some more improvements 2010-09-09 18:05:43 -07:00
alena 3659b7b207 Code cleanup - deleted code that was commented out and unused imports. 2010-09-09 16:07:29 -07:00
Alex Huang 7249f168d5 more file changes 2010-09-09 13:27:20 -07:00
Alex Huang 6134f7dfd2 more file changes 2010-09-09 11:52:12 -07:00
alena 75483e4e05 Modified AuthorizeNetworkGroupIngress/DeleteNetworkGroupIngress to new api framework 2010-09-09 11:41:33 -07:00
alena ea415e65bb Merge branch '2.1.refactor' of ssh://git.cloud.com/var/lib/git/cloudstack-oss into 2.1.refactor
Conflicts:
	server/src/com/cloud/server/ManagementServerImpl.java
2010-09-08 20:08:14 -07:00
alena 44f86d3726 Refactored AssignPortForwardingServiceCmd and DeletePortForwardingServiceCmd 2010-09-08 20:06:15 -07:00
Kris McQueen 3949afa9ae Refactor queryAsyncJobResult to new API framework. 2010-09-08 19:24:35 -07:00
alena fd680189f6 Merge branch '2.1.refactor' of ssh://git.cloud.com/var/lib/git/cloudstack-oss into 2.1.refactor 2010-09-08 19:04:13 -07:00
alena b0aa28032c Refactored DeleteIPForwardingRule/UpdateIPForwardingRule commands to new api framework. 2010-09-08 19:03:42 -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 88f5b73682 Refactor listVlanIpRanges 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
alena 5170c215f8 Refactored DeleteLoadBalancerRule/UpdateLoadBalancerRule api commands. 2010-09-08 15:04:26 -07:00
alena c0185e713a Refactored AttachVolume/PrepareForMaintenance/CancelMaintenance/PreparePrimaryStorageForMaintenance/CancelPrimaryStorageMaintenance commands. 2010-09-08 12:18:46 -07:00