Commit Graph

457 Commits

Author SHA1 Message Date
Chiradeep Vittal 31e17b907d bug 6971: ensure no conflicts with portforwarding rules for vpn udp ports
also, do not open up port 1701 -- only used on ppp interface not public interface
also clean up password generator, make it easier to use and more secure
moved some constants to NetUtils
heuristic to determine if an ip is one-to-one nat'ted
2010-11-17 15:32:50 -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
abhishek e5e128545d removing the tags support in the update commands for disk and service offerings 2010-11-16 13:25:25 -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
Alex Huang ed31497188 ComponentLocator changes 2010-11-16 04:28:15 -08:00
Alex Huang 17afeade00 better componentslocator 2010-11-16 04:28:14 -08:00
alena 1a8d9a92a7 Modified all api calls to throw ApiServerException if null object is returned by the manager. 2010-11-15 17:44:51 -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 6d943abf55 bug 7119: code refactor away from the ms calls, to the share and prepare methods based on alex's recommendations
status 7119: resolved fixed
2010-11-15 11:17:36 -08:00
alena a01aad84ed bug 7162: added search by id to listZones command
status 7162: resolved fixed
2010-11-15 10:48:36 -08:00
alena 050eed742f 1) Removed account/domainId info from deleteSnapshot and deleteSnapshotPolicy commands as we get account info from the snapshot/policy object.
2) Introduced responseObject field in @Implementation for all apis. This field contains information about the response object class, so we can used it for generating API documentation.
2010-11-12 17:36:17 -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
nit 5215f6f817 bug 7101 : DetachISO API and AttachISO API would start returning an embedded object of virtualmachine so that the UI could use that to update the vm.
status 7101: resolved fixed
2010-11-12 16:40:55 +05:30
abhishek 1faaba8fb0 fixed a corner case; also changed the commands to be async and changed the method signatures to conform with the master refactor 2010-11-11 13:07:26 -08:00
abhishek 26b75fc05d this is a good point to check the code in; have completed a part of the enhancement's code; with create and delete ip forwarding rule commands and the skeleton for port to rule map with associated table 2010-11-11 13:07:26 -08:00
abhishek e5ca5dddf9 renaming the ip forwarding commands to port forwarding commands, and beginning to work on Keshav's request to modify the current 1-1 NAT to be compatible with the Amazon apis 2010-11-11 13:07:26 -08:00
Alex Huang 05ce97f918 Merged in alena's changes 2010-11-11 12:53:19 -08:00
Alex Huang 284720bf00 compilation errors fixed 2010-11-11 12:53:19 -08:00
Alex Huang c6033baa78 system vm start and stop added 2010-11-11 12:53:19 -08:00
alena 86c8f86a56 bug 6192: use "ipaddress" instead of "publicip" in updatePortForwarding command
status 6192: resolved fixed
2010-11-11 12:12:29 -08:00
nit 0597c0cf4b bug 4177: RegisterIsoCmd and RegisterTemplateCmd API - Added account and domainId params so that one could register them on behalf of other accounts.
status 4177: resolved fixed
2010-11-10 17:47:59 +05:30
alena 3954c7550a bug 6914: return password in deployVirtualMachine/resetVmPassword response.
status 6914: resolved fixed
2010-11-09 11:18:54 -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
abhishek 7262b854a5 bug 7121: made the disk offering id optional, and added a check to ensure we never have both disk offering and snapshot ids to be null
status 7121: resolved fixed
2010-11-08 17:59:26 -08:00
Alex Huang c8a3ea3080 merge conflict with alena's changes 2010-11-08 12:40:38 -08:00
Alex Huang 734cd0b1b1 fixed some bugs 2010-11-08 12:29:37 -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
nit 02781422b5 bug 6055: createDiskOffering: remove domainId parameter.
status 6055: resolved fixed
2010-11-08 13:41:33 +05:30
nit 4dc8837dc8 bug 6952: listISO should return "ispublic" property.
status 6952: resolved fixed
2010-11-08 12:33:23 +05:30
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
anthony 224da7e775 several snapshot fixes 2010-11-05 20:55: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
Alex Huang 4555fcd73f changed everything back so everyone can test 2010-11-05 16:10:22 -07:00
Alex Huang 5f90a8adb0 Checking in to do git pull...stupid git 2010-11-05 16:10:22 -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
Chiradeep Vittal 5c445bd99e bug 6991: add presharedkey to response
status 6991: resolved fixed
2010-11-04 15:40:24 -07:00
abhishek 03ea885dcd making disk offering id mandatory for volume creation 2010-11-04 15:30: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
Alex Huang 9bb05d3ef8 harmony amongst joins 2010-11-03 21:18:31 -07:00
Alex Huang e27bb550fe Harmony among gurus 2010-11-03 21:18:31 -07:00
Jessica Wang 3deb7580bb Create Disk Offering - make disksize optional 2010-11-03 19:48:35 -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 2939e90d66 Build response the same way for create/list/update IPForwardingRule. 2010-11-03 15:49:51 -07:00
abhishek 7674df6c7a fixing the merge conflicts 2010-11-03 15:39:16 -07:00
abhishek 46497e3aad making changes for the private/public zones enhancement, for the UI to consume. The list method has been changed to return visible zones based on the user's credentials, or if the domainId for private zone listing is specified. In the update zone cmd, we do not allow updating private zone once it has been associated with a domain. This might change in the coming releases. 2010-11-03 15:39:16 -07:00
alena 52a8370102 bug 6955: return embedded object for PreparePrimaryStorageForMaintenance
status 6955: resolved fixed
2010-11-03 14:30:35 -07:00
Chiradeep Vittal e1cb94831f VPN users feature complete 2010-11-03 14:02:13 -07:00
Chiradeep Vittal 0dd19c197b VPN users API -- WIP 2010-11-03 14:02:13 -07:00
Chiradeep Vittal 14613415e1 VPN users API -- WIP 2010-11-03 14:02:13 -07:00
Chiradeep Vittal b6d3b3c184 users for vpn -- data model 2010-11-03 14:02:12 -07:00
alena 4a645cdeb0 Return embedded Volume object for create/attach/detach Volume commands. 2010-11-03 13:07:06 -07:00
alena 8c0e2fa7ec Fixed updatePod Api to return embedded object instead of "success" response 2010-11-03 11:18:51 -07:00
alena 886fd4e754 More api refactoring - move response building for LoadBalancer/IpAddress commands to ApiResponseHelper. 2010-11-03 10:11:59 -07:00
alena ebdc1f069d 1) Return embedded Host object in PrepareForMaintenance command.
2) Build HostResonse object in ApiResponseHelper for add/reconnect/update/prepareForMaintenance/cancelMaintenance commands
2010-11-02 20:30:41 -07:00
alena abb8f45667 1) Return embedded object for upgradeRouter command
2) Build response objects in ApiResponseHelper for stop/start/reboot/list router/systemVm commands
2010-11-02 19:47:14 -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
abhishek c6809f89d4 bug 6890: preventing users from searching for system account details via the list api
status 6890: resolved fixed
2010-11-02 17:59:24 -07:00
alena 571ca42c44 1) Return embedded object for addCfg/updateCfg/listCfg.
2) Fixed NPE in updateCfg command (used to happen when no value was specified)
3) Fixed addCfg command to call correct getName method while setting config name (used to call the method returning the command name)
2010-11-02 15:26:33 -07:00
Alex Huang 5fe5450abc even more refactoring 2010-11-02 15:25:07 -07:00
abhishek d4b33f523d bug 5190: changes from the ui perspective; we upload the entire cert as a string, instead of reading it from a file. Then, we process the cert via ip streams instead of fileinputstreams. Moved the cert validation to before cert persistance, and also added more logging and exception catch blocks to deal with IO exceptions that might arise out of the ip stream processing for the new change. 2010-11-02 14:48:05 -07:00
alena 0c044a10d1 Moved response building for ServiceOffering/ResourceLimit commands to ApiResponseHelper class. 2010-11-02 11:59:10 -07:00
abhishek 85f78d8cb3 bug 6886: fixing the npe which occurs when we try to delete a non existant user. We were trying to return user details for an async job desc assuming the user always existed. Changing that logic to ensure when we don't have such details, we log the apt message
status 6886: resolved fixed
2010-11-02 11:20:52 -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
alena 5d4e4be974 1) Created ApiResponseHelper class - all api response objects should be built there.
2) Removed isMirrored tag from the update/create/listDiskOffering commands
2010-11-01 23:49:57 -07:00
abhishek 45f4499c14 bug 6836: fixing the api responses for disk offerings. We were using the wrong objext name, and were only returning success responses. Now, we are constructing the apt object and returning the entire object back.
status 6836: resolved fixed
2010-11-01 13:24:28 -07:00
abhishek f70b55daa2 bug 6380: removing the code which returns hostid and hostname, as on a stopped vm, we do not have any association of the vm to the host 2010-11-01 12:16:53 -07:00
root bee976b5f5 bug 6779: returning the deviceId wherever possible, in the xxxVolume() calls
status 6779: resolved fixed
2010-11-01 11:12:03 -07:00
Chiradeep Vittal 1e0eb04442 Add VPN apis, some systemvm changes for vpn 2010-11-01 10:27:49 -07:00
abhishek c74fd77730 putting in final comments, so that the code to be checked in is better readable for others trying to understand it 2010-11-01 09:06:32 -07:00
root 3752a4eb31 making the logic more robust, testing more corner cases, improving efficiency and changing the schema 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
will 9cc5aaa978 Fixed listTemplates to use the template type. 2010-10-29 13:17:32 -07:00
Kris McQueen ebac4539d0 it's possible createSnapshotDB will return null, handle that case. However, if createSnapshotDB returns null because there was no work to do (empty snapshot) we should probably throw an exception that reports that fact instead of returning null and throwing an internal error 2010-10-28 17:52:37 -07:00
Kris McQueen 2f9e91a9ae bug 6738: honor groupid when listing vms (restrict the list to just that group)
status 6738: resolved fixed
2010-10-28 16:27:07 -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
will c5fef26f11 ListTemplates will no longer return any SystemVM templates. I am using a startsWith() string match for now since we used to make this comparision by ID with a single hypervisor. 2010-10-28 13:28:33 -07:00
will f0a4449ec3 ListTemplates now return the hypervisor type. 2010-10-27 19:50:36 -07:00
Kris McQueen 9056653e17 Change the API Implementation annotation to use the manager's class rather than an enum. This allows methods for new managers to be added trivially rather than having to modify the dispatcher to load a new manager class. 2010-10-27 12:23:31 -07:00
Kris McQueen ae9b6d4fe1 bug 6776: for some reason, we checked for zoneId = -1 in registerTemplate and applied it to all zones, but this wasn't done for registerIso. Oh well, make the change for registerIso and things seem happy again
status 6776: resolved fixed
2010-10-26 17:55:00 -07:00
Kris McQueen a788d2cb2e bug 6736: rebootSystemVm should return the vm properties, not success true/false.
status 6736: resolved fixed
2010-10-26 17:19:55 -07:00
abhishek c6588c0e25 adding some error return handling to api dispatcher, and cleaning up some of the code paths to return the right error messages 2010-10-26 14:27:26 -07:00
Alex Huang f58063911e deploy vm completed 2010-10-26 09:35:24 -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 ef131bbc18 bug 6724: set useVirtualNetwork in the createServiceResponse
status 6724: resolved fixed
2010-10-25 17:08:47 -07:00
Kris McQueen f9c1f12778 bug 6725: use serviceOfferingName rather than the API command name when updating the service offering; set memory in the response for UpdateServiceOffering
status 6725: resolved fixed
2010-10-25 17:08:47 -07:00
Kris McQueen 27cafb2957 bug 6727: ostypename was being set from guest_os.name which seems to be null most of the time. Instead, use guest_os.display_name.
status 6727: resolved fixed
2010-10-25 17:08:47 -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
Kris McQueen 3660d6a3d1 bug 6717: updateDiskOffering is supposed to return success true/false rather than the updated disk offering
status 6717: resolved fixed
2010-10-25 16:37:42 -07:00
Kris McQueen c8e9531842 bug 6720: add 'created' to the ListHosts response
status 6720: resolved fixed
2010-10-25 16:37:42 -07:00
Kris McQueen 83e4922b94 bug 6703, 6704: use the correct method signatures for invoking updateTemplate/updateIso and updateTemplatePermissions/updateIsoPermissions APIs. It's possible that the reflection should just use 'isAssignableFrom' when getting methods since the manager methods were using a base class as the parameter rather than UpdateTemplateCmd/UpdateIsoCmd and UpdateTemplatePermissions/UpdateIsoPermissions, but for now the explicit methods are added for simplicity.
status 6703, 6704: resolved fixed
2010-10-25 15:01:50 -07:00
Kris McQueen d229877cd8 bug 6710: rebootRouter was supposed to return the rebooted router, not success/failure
status 6710: resolved fixed
2010-10-25 15:01:50 -07:00
Kris McQueen 18f6d67121 bug 6705, 6708: use the UserVmResponse for changeServiceForVirtualMachine API (UpgradeVMCmd) since the response is a vm. There was no need for a specific UpgradeVmResponse which had scalars instead of objects and the serializer skips null, but will serialize scalars with their default values, in this case 0 for id and host id.
status 6750, 6708: resolved fixed
2010-10-25 15:01:49 -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