Commit Graph

899 Commits

Author SHA1 Message Date
nit af502b1c4c bug 3384: listVolumes: regular user should be able to make a search by "type".
status 3384: resolved fixed
2010-11-08 14:46:30 +05:30
nit 8215510c19 bug 6055: createDiskOffering: remove domainId parameter.
status 6055: resolved fixed
2010-11-08 13:42:34 +05:30
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 bd5f1a7de6 Fixed NPE if addVPNUser fails because it was unable to reach the domR. 2010-11-06 16:54:14 -07:00
will 89c717703f Fixed API commands that extend BaseCreateAsyncCmd to return the correct API response of id, and jobid.
Added the default public constructor back in the SuccessResponse to make sure deserialization works from the asyncjob table.
Fixed a issues with the VPN tab.  It should now make use of the corrected API format.
2010-11-06 16:30:08 -07:00
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
will 563b45a220 bug 7059: Fixed the async output to use the object name 2010-11-05 20:58:00 -07:00
anthony 224da7e775 several snapshot fixes 2010-11-05 20:55:19 -07:00
will bcb53ec363 bug 7059: Fixing adding primary and secondary storage to use new api output. 2010-11-05 20:30:55 -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
alena b1defdb71d bug 6895: fixed search by id in listDomains command
status 6895: resolved fixed
2010-11-05 17:45:15 -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 4ccf4361d1 Finally domr and instance running again. 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
Alex Huang 1fe446002b stop vm is now formalized 2010-11-05 16:10:22 -07:00
Alex Huang d5d1808488 Added reservation context to the network gurus 2010-11-05 16:10:22 -07:00
edison 433c28fb16 bug 7041: fix npe in delete template from storage pool, if the template already marked as removed
status 7041: resolved fixed
2010-11-05 16:02:18 -07:00
alena e2aa4738ec listVirtualMachine api: return "Not created" as a root volume type when volume's storage pool id is NULL 2010-11-05 16:03:37 -07:00
alena c0e2986766 bug 6958: return state for Account api commands
status 6958: resolved fixed
2010-11-05 15:48:05 -07:00
alena a9166929f0 Fixed NPE in listVolumes/listVirtualMachines commands - do searchIncludingRemoved when get diskOffering/serviceOffering info. 2010-11-05 14:46:08 -07:00
abhishek 038a8cd59a did not like the fact that the method was getting big; refactored my logic to a private method to increase readability 2010-11-05 14:29:52 -07:00
abhishek a99cfa58ef bug 7045: blocking the start vm cmds for both ssvms and user vms when the sp is NOT up
status 7045: resolved fixed
2010-11-05 14:24:54 -07:00
will 111b0a1df1 bug 6943: Correct error message is returned for the parameter, "name" in the API as well as fixing JS to validate this as well. 2010-11-05 13:51:46 -07:00
abhishek 452c7f4d1a bug 7002: adding a check to ensure the account specific vlan added, is within the domain tree of the zone for which the vlan is being added for (whether it is a child domain or not)
status 7002: resolved fixed
2010-11-05 13:24:41 -07:00
Chiradeep Vittal b3c87d8f25 bug 7031 also send down when router state is Starting
status 7031: resolved fixed
2010-11-05 13:17:06 -07:00
Chiradeep Vittal 3c840f910a bug 7031 send down vpn config upon restart 2010-11-05 13:08:14 -07:00
abhishek 1fe8ae4819 7004,7011: fixing the return values issue which showed the same record 2 times; also fixing the checks for deploy vm from the api layer; and also fixing the tree returned to the UI
status 7004,7011: resolved fixed
2010-11-05 12:10:30 -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
edison 1c8f42a001 add hypervisor type for iso, enforcement kvm hosts in the cluster that must have the same os type 2010-11-04 21:29:24 -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
anthony bd4f3bfaa0 set guid to null when delete secondary storage 2010-11-04 20:41:40 -07:00
abhishek 0b1bddb125 code realignment 2010-11-04 18:42:38 -07:00
abhishek 103278415e bug 7035: allowing cancel maintenance for all sp states except UP
status 7035: resolved fixed
2010-11-04 18:42:38 -07:00
abhishek 364e1e1c4a bug 7034,6869: fixing the storage pools issue, and the npe at load balancer if the router is not found.
status 7034, 6869: resolved fixed
2010-11-04 17:18:58 -07:00
abhishek e9bd0594bd bug 7022: fixing the custom size for volumes bug
status 7022: resolved fixed
2010-11-04 15:51:33 -07:00
Chiradeep Vittal 5695236840 bug 6984: add default value for domain.suffix
status 6984: resolved fixed
2010-11-04 15:40:24 -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
edison 1c7e3649d2 bug 7007: if host is added before, refused to add it
status 7007: resolved fixed
2010-11-04 15:03:04 -07:00
abhishek 9a3d5c3ae3 forgot to throw the serverapiexception in the cancel maintenance cmd 2010-11-04 14:35:36 -07:00
abhishek 52d2111ed3 bug 6972: fixing the ssl cert warning
status 6972: resolved fixed
2010-11-04 14:11:28 -07:00
abhishek baa28d2022 returning serverapiexceptions for prepare and cancel pool maintenance; making it consistent with other pieces of code 2010-11-04 13:40:10 -07:00
abhishek 55e9378f9a don't set state to errorinmaintenance if cancel maintenance encounters a ps with a state !=Maintenance 2010-11-04 13:35:57 -07:00
abhishek d96a1a841d adding logic to prevent commands from being sent to the pool when it is NOT up; also adding better thread safety and db locking, along with a general refactor 2010-11-04 13:35:57 -07:00
Chiradeep Vittal 271f5a5255 fix some unused warnings 2010-11-04 11:54:14 -07:00
Chiradeep Vittal 8b846b07a7 fix some unused warnings" 2010-11-04 11:54:14 -07:00
Chiradeep Vittal 6b33a98573 bug 6981: merge in stuff for bug 6807 from 2.1.x 2010-11-04 11:54:14 -07:00
Chiradeep Vittal 8e2e04a86e bug 6981: merge in stuff for bug 6807 from 2.1.x 2010-11-04 11:54:14 -07:00
abhishek 898990a11d fixing the npe which occurs when we list zones from 8096. this has a null account. 2010-11-04 11:36:08 -07:00
edison 5a173ad363 bug 6932: add create private template from volume command support for KVM
status 6932: resolved fixed
2010-11-04 11:00:29 -07:00
abhishek 89f0c455e3 fixing the vm creation issue 2010-11-04 10:47:59 -07:00
abhishek 137fe40c46 fixing the zone creation bug 2010-11-04 09:47:39 -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 6dea64c63a No clue how someone could have checked in this code since it doesn't compile. <cough> Chiradeep <cough> 2010-11-03 22:24:24 -07:00
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
abhishek 84ee08430a making changes to the list zones flow, to add the domain name to the table, and return it 2010-11-03 22:08:32 -07:00
Alex Huang 0fdca8be9a changed back so everyone else can start the old way 2010-11-03 21:18:31 -07:00
Alex Huang 9bb05d3ef8 harmony amongst joins 2010-11-03 21:18:31 -07:00
Alex Huang a0cb58aad2 Harmony amongst gurus 2010-11-03 21:18:31 -07:00
Alex Huang e27bb550fe Harmony among gurus 2010-11-03 21:18:31 -07:00
abhishek 8e54a40b46 fix for the ui to consume for the disk offering 2010-11-03 20:05:37 -07:00
Jessica Wang 3deb7580bb Create Disk Offering - make disksize optional 2010-11-03 19:48:35 -07:00
Kelven Yang d748010da3 Create Template from volume and snapshot for vmware 2010-11-03 19:18:54 -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
Chiradeep Vittal f182efc279 When starting a remote access VPN, send down all the users as well 2010-11-03 16:40:44 -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 6bd87ca161 Return "status" field in StoragePoolResponse. Status can be Up, Maintenance, ErrorInMaintenance 2010-11-03 14:59:00 -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 dd5e26e701 Allow more chars in username, password 2010-11-03 14:02:13 -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
edison 437ca41b27 fix sb's typo 2010-11-03 13:23:59 -07:00
edison f3cc113525 bug 6933: send the snapshot related command to host on which vm created for kvm
status 6933: resolved fixed
2010-11-03 13:03:21 -07:00
alena 4a645cdeb0 Return embedded Volume object for create/attach/detach Volume commands. 2010-11-03 13:07:06 -07:00
alena 15a316484e Fixed deleteZone API - used to return empty response instead of success=true/false 2010-11-03 11:32:45 -07:00
alena 8c0e2fa7ec Fixed updatePod Api to return embedded object instead of "success" response 2010-11-03 11:18:51 -07:00
abhishek 426e445811 bug 6904: during volume creation, we were NOT converting the size of the parent disk offering (which is in MB), to bytes. This is the size used to create the volume. I am adding the appropriate multipliers. Other flows like creating volume from snapshot etc should remain unaffected, as the parent volume created from the disk offering will be set right.
status 6904: resolved fixed
2010-11-03 11:13:06 -07:00
abhishek 703fcaffe6 bug 5190: cosmetic changes for the final result returned back to the UI, for Will to consume 2010-11-03 11:13:05 -07:00
alena 4fc8b7ae0b bug 6892: do account check for disable user command
status 6892: resolved fixed
2010-11-03 10:31:16 -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
Kelven Yang 3c6b3b3e3d Add more volume info to BackupSnapshotCommand, to generalize multi-hypervisor usage 2010-11-02 17:04:07 -07:00
abhishek 473c3d33c3 bug 6870: during updating of pf rules, it is possible one might try to update a non existing rule via the api cmd. hitherto, we were returning a null which was assumed as a success by the cmd api, which failed with a npe. instead, we ought to throw back an error since we did not find any rule to be updated. i am checking in the same change. this also will fix the npe.
status 6870: resolved fixed
2010-11-02 16:07:15 -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
abhishek 16438f3470 we should not be ignoring case whilst updating account, reverting to .equals instead of .equalsIgnoreCase 2010-11-02 13:45:10 -07:00
abhishek 7354116517 bug 6888: there were multiple issues here. firstly, we were checking against null newaccountnames, whereas that field is a reqd val. Also, we were allowing the same name to exist across multiple accounts in the same domain. I have fixed both these issues.
status 6888: resolved fixed
2010-11-02 13:09:37 -07:00
Alex Huang 560d7a275e Removed InternalErrorException. Renamed the lock methods on the DAO objects to be more understandable. 2010-11-02 12:25:08 -07:00
Alex Huang 3279c26796 Removed a bunch of InternalErrorException 2010-11-02 12:25:08 -07:00
Alex Huang 6311644e08 Successful creation of domr and uservm with all programming done correctly.....yahooo 2010-11-02 12:25:08 -07:00
alena 0c044a10d1 Moved response building for ServiceOffering/ResourceLimit commands to ApiResponseHelper class. 2010-11-02 11:59:10 -07:00
abhishek b6aeb6746c bug 6889: fixing the issue where we were able to create a disk offering of size 0. The check was incorrect, and now we ensure we only create the right sized volumes.
status 6889: resolved fixed
2010-11-02 11:30:43 -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 3bab616478 After discussing with Alex, it was agreed that there is no need to mgmt server level locking using the mgmt_server_id. This makes the code easier, as we have one parent acquire and release mechanism, and the complexity is reduced. In accordance, we do not need to maintain cleanup tasks for mgmt server crashes, as the async mechanism deals with this. Also, the schema becomes a tad simpler as the mgmt_server_id column is not needed anymore 2010-11-01 17:04:28 -07:00
edison d9ba39bd8b enable user to config default hypervisor type as vmware 2010-11-01 15:25:32 -07:00
Alex Huang 394af1b29c more changes on the way 2010-11-01 15:01:28 -07:00
Alex Huang cd1c903260 Better integration between it and virtual machine gurus 2010-11-01 15:01:28 -07:00
Alex Huang 4db0b7d156 Better integration between it and virtual machine gurus 2010-11-01 15:01:28 -07:00
abhishek 8e9d74c7f6 bug 5190: This covers the case of unforseen exceptions (although a corner case), which might pop up. We introduce a finally block which will release the cert db record for other ms to process, in case the owning ms errors out (not crash), whilst running the cert update process 2010-11-01 14:36:13 -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
Chiradeep Vittal 76c7b54fc5 fix problems after merging in bug fixes from 2.1.x 2010-11-01 12:27:15 -07:00
Chiradeep Vittal 40f15106be when user vm migrates, update rules on destination host 2010-11-01 12:21:56 -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 fe46ddfd63 bug 6806: changing the 'iso' to 'ISO' in all the error messages being thrown back from the API
status 6806: resolved fixed
2010-11-01 11:12:03 -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 ff91abbb86 fix build break 2010-11-01 11:05:22 -07:00
Chiradeep Vittal 1e0eb04442 Add VPN apis, some systemvm changes for vpn 2010-11-01 10:27:49 -07:00
abhishek 71f37ff1c7 This is another improvement over the existing code for custom certs. We should ideally validate the cert for being a valid cert file (X.509 spec), instead of persisting it to the db and then validating it whilst constructing the ssl context. I am adding some validation around the same. 2010-11-01 10:07:53 -07:00
abhishek 9b684443bb bug 5190: Final commit to clean up an unused import, and to merge the changes with the master branch.
status 5190: resolved fixed
2010-11-01 09:09:18 -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
abhishek fbe2d288d7 adding some code comments 2010-11-01 09:06:32 -07:00
abhishek b9cd3e2522 some more fine tuning around corner cases 2010-11-01 09:06:32 -07:00
abhishek f3b4dd8a1c further code modularization, extracting redundant code to common methods 2010-11-01 09:06:32 -07:00
abhishek 362e67d724 adding failover protection case for when the mgmt svr crashes in the middle of executing something; along with custom response for cert 2010-11-01 09:04:51 -07:00
abhishek 7b87aad660 fixed a bug in the listener flow; now handling the application of certs to existing cpvms and new cpvms based on a fork in the logic in the console proxy resource 2010-11-01 09:04:51 -07:00
abhishek abd64eddd1 adding more exception handling and debugging support 2010-11-01 09:04:51 -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
abhishek 9c80911e52 more changes 2010-11-01 09:00:58 -07:00
abhishek d9ebb7147c improving efficiency by reducing the number of db lookups, whilst updating the custom certificates across multiple console proxies when the command is issued. Now, we use in memory hashmaps for hosts to get the hostids for cphosts, which eliminates the need to make a db lookup for every cpvm that needs to be rebooted 2010-11-01 09:00:58 -07:00
abhishek 4d2e126ea1 more cpvm refactoring 2010-11-01 09:00:58 -07:00
kishan b08037d22c bug 6851: use specified account properties instead of admin, resourceType enum instead of type
status 6851: resolved fixed
2010-11-01 19:19:33 +05:30
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
nit 1b88b0eae4 bug 6748: Correcting secondary storage space utilization on the dashboard. The fix will update the existing db entry and will create a new entry for the first time only.
status 6748: resolved fixed
2010-11-01 12:16:07 +05:30
edison 5c88bb936b Oops, == doesn't work... 2010-10-29 19:51:24 -07:00
edison d0c68cd4a7 add a timeout (5 minutes) to wait for KVM agent host connecting to mgt svr, during adding host->discover 2010-10-29 19:18:07 -07:00
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
edison f526a92b08 Only allow to attach a volume to a vm, when they are created by the same hypervisor. 2010-10-29 15:48:26 -07:00
Kris McQueen a9349cb815 bug 6857: if the dispatcher recieves an IllegalArgumentException, bubble that up to the response so the caller gets a useful message 2010-10-29 14:07:23 -07:00
Kris McQueen 519633cd38 bug 6763: restore the volume lock when creating a snapshot for the volume to ensure only one thread is creating the snapshot at a time. 2010-10-29 13:53:00 -07:00
Kris McQueen 88dac13bb0 use the API response date format when serializing response objects 2010-10-29 13:23:29 -07:00
will 9cc5aaa978 Fixed listTemplates to use the template type. 2010-10-29 13:17:32 -07:00
Alex Huang 96a4aa6f2b checkin to allow regular code path 2010-10-29 12:16:58 -07:00
Alex Huang 14f80f2e13 domain router up and running...now on to patching through the network between the domain router and the vm 2010-10-29 12:16:58 -07:00
anthony b00a9174e2 always add master first when adding host 2010-10-29 11:07:51 -07:00
kishan ad3c18a46c bug 6789: release router lock after commiting transaction
status 6789: resolved fixed
2010-10-29 16:22:19 +05:30
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 642b8a56f4 If the create command returns null for whatever reason, throw an exception so it aborts scheduling the async job to act on the created object 2010-10-28 17:52:37 -07:00