Commit Graph

110 Commits

Author SHA1 Message Date
Rohit Yadav b120e19280 ApiDispatcher: In case of incorrect long int value or uuid, throw error
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2013-01-17 17:59:53 -08:00
Min Chen 3dabd5fbf3 Clean up ApiServer, ApiServlet and ApiDispatcher flow to handle various CloudRuntimeException
and CloudException in one place, and Introduced ApiErrorCode to handle CloudStack API error
code to standard Http code mapping.

Signed-off-by: Min Chen <min.chen@citrix.com>
2013-01-16 22:36:34 -08:00
Rohit Yadav 8eba0ee0bb ApiDispatcher: Remove helper method that proxies via ApiResponseHelper to get entity by IdentityDao
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2013-01-11 18:44:20 -08:00
Rohit Yadav 0b0752f047 CLOUDSTACK-932: Fix incorrect param that caused casting error while processing api
Reported-by: Kishan Kavala <kishan.kavala@citrix.com>
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2013-01-09 04:47:53 -08:00
Rohit Yadav fc92f04c6b ApiDispatcher: Remove unused methods which were for acl processing
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2013-01-09 04:18:35 -08:00
Rohit Yadav d760271945 ApiDispatcher: Get rid of reflections, reuse utils' ReflectUtil
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2013-01-08 18:54:29 -08:00
Rohit Yadav 96b9164e4b Fix ACL processor and methods in ApiDispatcher and their usages
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2013-01-06 17:18:45 -08:00
Rohit Yadav ed0637b8c2 api: Refactor move acl to org.apache.cloudstack
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2013-01-06 15:30:58 -08:00
Rohit Yadav 6a112bd64c api: Rename Validator to Validate, cosmetic fixes
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2013-01-05 16:52:53 -08:00
Rohit Yadav b00ed17f4b server: Cosmetic fix for methodname in ApiDispatcher
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2013-01-05 16:40:59 -08:00
Rohit Yadav 6929bd9473 server: Don't silently ignore uuid param translation for required param in case they fail
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2013-01-03 22:32:47 -08:00
Rohit Yadav 98d5719b57 server: Make ApiDispatcher backward compatible to not throw error on incorrect params
Incorrect params are silently ignored in 4.0 and before. The fix would log the error
in debug log, but will continue processing. In case of an issue with uuid or param
an empty response is sent, for ex. in case of deleted entities as well.

Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2013-01-03 22:32:46 -08:00
Rohit Yadav 623e7389ef api: Make APIServer backward compatible to accept both uuid and id for pre 3.x apis
- Allow both uuid and id in param for pre 3.x apis
- Enforce uuid as param for all >= 3.x apis
- Use regex to better match uuid param

Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2012-12-27 15:24:17 -08:00
Rohit Yadav a18464dbe5 Rename @Entity to @EntityReference used in Response classes
- Renames to @EntityReference as @Entity is too general and used in javax's pkg
- Remove redundant imports

Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2012-12-26 15:34:35 -08:00
Rohit Yadav beb2fccf1c api: Finally get rid of IdentityMapper annotation processing in ApiDispatcher
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2012-12-23 18:06:36 -08:00
Rohit Yadav a5dddb4a83 api: Extend or Implement InternalIdentity's getId method on a lot of VOs and Interfaces
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2012-12-23 16:52:35 -08:00
Rohit Yadav 296b49c2f8 Merge branch 'master' into test-merge-api
Conflicts:
	api/src/com/cloud/agent/api/BackupSnapshotCommand.java
	api/src/com/cloud/agent/api/storage/PrimaryStorageDownloadCommand.java
	api/src/com/cloud/agent/api/to/PortForwardingRuleTO.java
	api/src/com/cloud/network/NetworkService.java
	api/src/com/cloud/resource/ResourceService.java
	api/src/org/apache/cloudstack/api/ApiConstants.java
	api/src/org/apache/cloudstack/api/ResponseGenerator.java
	api/src/org/apache/cloudstack/api/response/SSHKeyPairResponse.java
	client/tomcatconf/commands.properties.in
	core/src/com/cloud/storage/SnapshotVO.java
	pom.xml
	server/src/com/cloud/api/ApiDispatcher.java
	server/src/com/cloud/api/ApiResponseHelper.java
	server/src/com/cloud/api/ApiServer.java
	server/src/com/cloud/configuration/ConfigurationManagerImpl.java
	server/src/com/cloud/network/NetworkManagerImpl.java
	server/src/com/cloud/network/rules/RulesManagerImpl.java
	server/src/com/cloud/offerings/NetworkOfferingVO.java
	server/src/com/cloud/resource/ResourceManagerImpl.java
	server/src/com/cloud/upgrade/dao/Upgrade40to41.java
	server/src/com/cloud/vm/UserVmManagerImpl.java
	server/test/com/cloud/vpc/MockNetworkManagerImpl.java
	setup/db/create-schema.sql
	setup/db/db/schema-40to410.sql

Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2012-12-23 13:54:46 -08:00
Rohit Yadav 5d8e106602 api: Add method in ApiDispatcher to be reused for both UUID and List<Uuid>
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2012-12-22 18:57:26 -08:00
Rohit Yadav 024f0d95dd api: Use Identity interface instead of java reflect to getId
- Add new interface method to getId
- Fix method definition in AsyncJob
- Get rid of mechanism to getId using reflect, use Identity interface

Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2012-12-21 19:05:45 -08:00
Rohit Yadav 03b47cb501 api: Temp. fix to be backward compatible to old way of id passing
For some apis, the param=-1 is used to evaluate conditionals. Allow -1 to be passed
for now. This is a APITODO/FIXME to fix stuff in service layer and then only get rid of it.

Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2012-12-21 14:41:14 -08:00
Min Chen a88ce6bb7f Remove IdentityProxy from CloudException and ExceptionResponse. 2012-12-19 23:49:44 -08:00
Rohit Yadav 7b6132e8e2 api: Skip empty uuid processing in ApiDispatcher for received params
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2012-12-18 18:16:18 -08:00
Rohit Yadav 22ee4200c3 api: Fix findByXId to findByUuid in EntityManager and ApiDispatcher
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2012-12-18 17:44:17 -08:00
Rohit Yadav 5fdce84e81 api: Process UUID and Parameter annotations in ApiDispatcher
- Use @Parameter's entityType and type annotation fields
- Use @Entity annotation in Reponse class to get table info for Dao
- Use findByXId to process all entities and translate UUID to ID
- Handle error in reflection method invoking

Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2012-12-18 04:16:33 -08:00
Rohit Yadav de8aa86542 api: Work in progress code in ApiDispatcher to process annotations
- All id params are now uuids, basically for documentation
- Use injections and not component locator
- Remove resourceType field checking, it's now called entityType
- Fix indents

Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2012-12-17 10:00:27 -08:00
Edison Su b70c1a5a84 Backs NFS-based secondary storage with an S3-compatible object store. Periodically, a reaper thread synchronizes templates and ISOs stored on a NFS secondary storage mount with a configured S3 object store. It also pushes snapshots to the object store when they are created and downloads them in other zones on-demand. In addition to permitting the use of commodity or IaaS storage solutions for static assets, it provides a means of automatically synchronizing template and ISO assets across multiple zones. 2012-12-13 23:18:37 -08:00
Rohit Yadav af28c06998 api: move and group all under command, org.apache.cloudstack.command.*
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2012-12-07 18:30:54 -08:00
Min Chen eba353099e api_refactoring: Fix build issue with api_refactoring branch.
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2012-12-06 15:00:48 -08:00
Rohit Yadav 7ac48798b4 api_refactor: refactor event apis
- Fix refactored apis, mappings in commands*.in
- Fix comments etc.

Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2012-12-04 00:05:54 -08:00
Rohit Yadav 6fc3bc3760 api_refactor: refactor vpn and vm apis
- Refactor VPN and VM APIs to admin and user pkgs
- Names space, org.apache.cloudstack
- Fix refactored apis in commands*.in
- Fix comments etc.
- Expand tabs, remove trailing whitespace

Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2012-12-03 21:27:02 -08:00
Rohit Yadav 5edfc2760a refactor: remove redundant imports, fix trailing chars 2012-12-03 13:54:37 -08:00
Prachi Damle a2306f4917 some more poc work 2012-11-29 16:10:09 -08:00
Prachi Damle 073863249a Some ACL POC work
Conflicts:

	server/src/com/cloud/api/ApiDispatcher.java
2012-11-29 16:09:47 -08:00
Alena Prokharchyk 9d07ad8ecb CLOUDSTACK-304: default number of concurrent snapshots is NULL (unlimited) - to provide backwards compatibility for existing customers.
Conflicts:

	setup/db/db/schema-305to306.sql
2012-10-16 11:25:05 -07:00
Alena Prokharchyk 339aa41442 CLOUDSTACK-304: Synchronization support for createSnapshot command - don't sent more than "concurrent.snapshots.threshold.perhost" createSnapshots commands to the backend host.
Conflicts:

	core/src/com/cloud/async/AsyncJobVO.java
	core/src/com/cloud/async/SyncQueueVO.java
	server/src/com/cloud/api/ApiDispatcher.java
	server/src/com/cloud/api/ApiServer.java
	server/src/com/cloud/async/AsyncJobManagerImpl.java
	server/src/com/cloud/async/SyncQueueManager.java
	server/src/com/cloud/async/SyncQueueManagerImpl.java
	server/src/com/cloud/async/dao/SyncQueueDao.java
	server/src/com/cloud/storage/snapshot/SnapshotSchedulerImpl.java
	server/test/com/cloud/async/TestSyncQueueManager.java
	setup/db/create-schema.sql
2012-10-10 13:40:00 -07:00
David Nalley e87558256c Patch from Chip Childers
https://reviews.apache.org/r/5704/
License header updates for the server folder
2012-07-02 09:51:21 -04:00
Alena Prokharchyk 03ccb7f313 CS-14512: fixed deployVm with ipToNetworkList when uuid is used for networkIds
Conflicts:

	server/src/com/cloud/api/ApiResponseHelper.java
2012-04-16 15:43:56 -07:00
frank 2f634c0913 Switch to Apache license 2012-04-03 04:50:05 -07:00
Vijayendra Bhamidipati 57c54e23d6 Bug 14060: Include a CloudStack error code in an Exception Response
Bug 13127: API error text refer to database ids instead of uuids

Code-Reviewers: Ewan Mellor, Kelven Yang

Description:

	1. A new class CSExceptionErrorCode has been added to utils.
	   It contains a list of error codes for each type of
	   Exception class. Use fully qualified package paths for
	   Exceptions in CSExceptionErrorCode.  We log any exception
	   name not found in the list of error codes for exceptions.

	2. Whenever we throw an exception exobj anywhere in the
	   CS code, the CSErrorCode is set in the base class
	   constructor.

	3. We add a new field csErrorCode in classes CloudException,
	   RuntimeCloudException, ExecutionException and
	   ExceptionResponse.

	4. Two places in ApiServer.java were wrongly modified when
	   putting in changes for bug 13127 to not throw an exception.
	   This has been corrected in this commit.
2012-03-05 17:39:09 -08:00
Vijayendra Bhamidipati 59631452b9 Bug 13127: API error text refer to database ids instead of uuids
Description:

	Modify Exception handling to enable addition of multiple
	uuids in a single exception thrown by API functions. Both
	XML and JSON outputs will store all uuids and Fieldnames.
	This will make it easier to provide more information when
	an exception occurs - for example, a zone id, a cluster id,
	host id, and then a specific property id.
2012-02-27 17:55:03 -08:00
Vijayendra Bhamidipati bfe1122bc6 Bug 13127: API error text refer to database ids instead of uuids
Description:

	Added a field name for the db id in the IdentityProxy class, and
	modified setProxyObject() to take an additional id name parameter.
	This will let us know the name of the uuid that we are returning.
	E.g.- domainId, zoneId, etc. The client can view this field in
	the json/xml output. Modified the JSON/XML serialization routines
	to append this new parameter to the serialized output for Exception
	Responses.
2012-02-27 17:55:01 -08:00
Vijayendra Bhamidipati c3fbe29cf8 Bug 13127: API error text refer to database ids instead of uuids
Description:

	1) Added a setProxyObject() method to CloudException and RuntimeCloudException
	2) Modified a bunch of throw exceptions in NetworkManagerImpl.java to call setProxyObject() before throwing an exception.
	3) Changed scope of ProxyIdentity attribute to protected.
	4) Added routines to ServerApiException to get/set IdentityProxy object, and
	   routine in RuntimeCloudException to get the Idproxy object.
	5) Modified the exception handling around the dispatcher and handlerequest()
	   to copy over the IdentityProxy information before rethrowing an exception
	   eventually back to handle().
	6) Removed duplicate IdentityProxy object in ServerApiException.
	   It was extending RuntimeCloudException which already had an
	   IdentityProxy object.
2012-02-27 17:54:56 -08:00
Alena Prokharchyk 294d3a2fda Code format fixes 2012-02-10 15:10:21 -08:00
Alena Prokharchyk 223497baa4 bug 12877: fixed pagesize=-1 behavior
status 12877: resolved fixed
2012-01-09 13:26:12 -08:00
Kelven Yang 85ad8ffca3 rename com.cloud.identity package to com.cloud.uuididentity as a previous deleted com.cloud.Identity name make git confused with com.cloud.identity under linux systems 2012-01-05 14:52:16 -08:00
Alena Prokharchyk bb2a8cf7ea NaaS: added "subdomainAccess" parameter to domain level network object. The parameter defines whether the network can be accessed from the subdomains. If the parameter is not specified, it would be defaulted to allow.subdomain.network.access Global Config param 2011-11-14 18:13:47 -08:00
Alex Huang f6fcaa49ec Merge complete except for virtualnetworkappliancemanager 2011-11-10 15:18:16 -08:00
Kelven Yang f5d56b3d5d Fix problems caused by merging 2011-11-03 10:35:25 -07:00
Kelven Yang 79e39c20fb Fixes on merged result 2011-11-03 07:34:01 -07:00
Kelven Yang 924e556c95 bug 6745: Using UUID instead of integers - for all commands 2011-11-03 07:34:00 -07:00