Commit Graph

1488 Commits

Author SHA1 Message Date
Edison Su a22403edcd squash changes into one giant patch 2013-02-21 11:22:48 -08:00
Sheng Yang 817548bac1 IPv6: Add ipv6 for user vm view 2013-02-19 15:50:55 -08:00
Sheng Yang da75e4ac8a IPv6: Add IPv6 for domain router view 2013-02-19 15:50:23 -08:00
Prasanna Santhanam 447b2d9c95 listroutercmd: response should be set to the name of router
host name of router returned instead of the name of the router.
correcting the setter.

Signed-off-by: Prasanna Santhanam <tsp@apache.org>
2013-02-19 13:22:21 +05:30
Rohit Yadav 8094e933b0 ApiServer: Get rid of finding system account and user at init() time
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2013-02-16 17:09:37 +05:30
Likitha Shetty 87b668b71b CLOUDSTACK-863: Fix Non-printable characters in api call
Non-printable characters results in empty pages for all users loading the
corrupted object in the web interface. It also results in the API call results
getting truncated with an error when it encounters the non-printable characters.
Every decoded parameter value is checked for control character using OWASP's
ESAPI library.

Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2013-02-16 11:54:12 +05:30
Min Chen 5147fb16ac CLOUDSTACK-1253: Remove @author tag. 2013-02-15 10:42:06 -08:00
Min Chen cf7ac9d6c4 CLOUDSTACK-1277: populating transit password field to UserVmJoinVO in
converting from UserVm to UserVmJoinVO.
2013-02-14 12:03:18 -08:00
Mice Xia 9a12756ae4 CLOUDSTACK-684 support vm snapshot 2013-02-14 01:26:30 +08:00
Sanjay Tripathi 5828e526b3 CLOUDSTACK-713: Limit Resources(CPU and Memory) to domain/accounts
Addition of two new resource types i.e. CPU and Memory in the existing pool of
resource types.
Added some methods to set the limits on these resources using updateResourceLimit
API command and to get a count using updateResourceCount. Also added calls in the
Virtual machine life cycle to check these limits and to increment/decrement the new
resource types

Resource Name  :: Resource type number
    CPU               8
    Memory            9

Also added Unit Tests for the same.
2013-02-12 12:02:07 -08:00
Rohit Yadav b59a18d1a1 CLOUDSTACK-1210: Fix pluggable service, apiserver, mgmt server impl, api-discovery
- Mgmt server impl is a pluggable service, fix it's method
- Fix getCommands() to return all cmd api classes supported by this mgmt server
- For api-discovery, get commands from pluggable services only, don't use reflections
- Don't use reflections in ApiServer, iterate pluggableservices
- Fix api discovery unit test
- The fix was done automatically using following python program along with
  following step:

1. Get all apis provided by default mgmt server, all of them are in cloud-api now
   cd api/src/org/apache/cloudstack/api/command
   find . >> apis
2. For all apis, generate java code that adds the class to the cmdList arraylist:
   f = open('apis', 'r')
   data = f.read()
   f.close()
   output = ""
   for a in data.split('\n'):
     output += "cmdList.add(%s);" % a.split('/')[-1].replace('.java', '.class')
   # wrote output to a file, copied content to mgmt server impl's getCommands()
   # similarly, fixed import statements using same code, splitting on /

Testing:
Ran apiserver, put breakpoints in ApiServer's init() where classes are processed
Total cmd classes found by reflections (ReflectUtil) = 354
Total cmd classes found by getCommands for all pluggable services = 354

Next, copied the comma separated values for each set to a string in ipython, a & b
set(a).difference(set(b)) returned null.

The above test implies both set of cmd classes found by both methods, i.e. using
reflections and using getCommands() had same set of apis and all were unique.

Conclusion:
The changes are idempotent and don't break api server's cmd class api discovery
processing.

BUG-ID: CLOUDSTACK-1210

Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2013-02-08 16:48:13 +05:30
Rohit Yadav dfcd9b05a0 ApiServer: Ask pluggable services to return list of apis to ApiServer
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2013-02-06 16:54:46 +05:30
Kishan Kavala fc0bf21a13 CLOUDSTACK-786, CLOUDSTACK-1014: Moved usage APIs to cloud-api. Removed ManagementServerExt. Usage API related implementation is added to UsageServiceImpl 2013-02-05 16:49:34 +05:30
Rohit Yadav 2b267c1ceb CLOUDSTACK-1142: Refactor handleRequest definition, clean redundant code
- Get rid of boolean decode arg
- Method assumes that OTW params have been already decoded
- Remove redundant code that tries to decode again based on boolean arg

Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2013-02-05 10:37:09 +05:30
Mice Xia d8062e5633 CLOUDSTACK-1142 Testing LDAP Auth Failed - due to % being illegal character in queryfilter 2013-02-05 11:26:42 +08:00
Kishan Kavala 6b3da5fbdc CLOUDSTACK-1083: Include removed projects while listing usage records 2013-02-04 19:29:59 +05:30
Kelven Yang 296c20332d Merge javelin into master 2013-02-01 14:40:45 -08:00
Kelven Yang 7b75f0d990 Sync master to javelin one more time 2013-02-01 11:37:33 -08:00
Likitha Shetty 13ee8d1865 Persistent Networks support
Signed-off-by: Murali Reddy <murali.reddy@citrix.com>
2013-02-01 15:10:06 +05:30
Kishan Kavala 9ea90c3359 Merge branch 'master' into regions
Conflicts:
	client/tomcatconf/components.xml.in
	server/src/com/cloud/api/ApiResponseHelper.java
2013-02-01 11:38:16 +05:30
Murali Reddy 96c24930ae Merge branch 'master' of https://git-wip-us.apache.org/repos/asf/incubator-cloudstack
Conflicts:
	server/src/com/cloud/network/NetworkManagerImpl.java
2013-02-01 08:45:53 +05:30
Kelven Yang 7bd8bec68a Sync javelin with master up to 894cb8f7d9 2013-01-31 17:20:19 -08:00
Sheng Yang 5cb9df91a1 Merge branch 'ipv6'
Conflicts:
	api/src/com/cloud/network/NetworkProfile.java
2013-01-31 15:07:33 -08:00
Murali Reddy e7a554fc6a Merging events framework branch into master. This commit will bring
following changes

   - introduced notion of event bus with publish, subscribe, unsubscribe
     semantics

   - a plug-in can implement the EventBus abstraction to provide event
     bug to CloudStack

   - A rabbitMQ based plug-in that can interact with AMQP servers to
     provide message broker based event-bug

   - stream lines, action events, usage events, alerts publishing in to
     convineance classed which are also used to publish corresponding
     event on to event bus

   - introduced notion of state change event. On a state change, in the
     state machine corrsponding to the resource, a state change event is
     published on the event bug

   - associated a state machined with Snapshot and Network objects

   - Virtual Machine, Volume, Snaphost, Network object state changes wil
     result in a state change event
2013-02-01 01:37:24 +05:30
Min Chen 6a6d93c309 Fix a bug in listStoragePools api where SQL exception is thrown when a
parameter is passed.
2013-01-31 11:56:48 -08:00
Kelven Yang 1b2b369ecb Merge latest master into javelin 2013-01-31 11:34:49 -08:00
Kishan Kavala c607e03f0e Merge branch 'master' into regions 2013-01-31 22:31:25 +05:30
Kishan Kavala 8b1a5b1de2 - Separated RegionServiceImpl and RegionManagerImpl
- Added comments
- Changed package name to org.apache.cloudstack.region
2013-01-31 18:08:20 +05:30
Jayapal b6727e5646 CLOUDSTACK-299: Egress firewall rules feature for guest network on VR 2013-01-31 11:20:47 +05:30
Sheng Yang f57cbaacd6 IPv6: Fix VlanIpRangeResponse 2013-01-30 20:01:04 -08:00
Rohit Yadav 85aa3a9977 Revert "api: Include cloudstack-version in both xml and json api response"
This reverts commit f8a483fc5a.

Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2013-01-30 16:12:21 -08:00
Kelven Yang 176523254e Improve component lifecycle management with system run-level concept 2013-01-30 15:21:02 -08:00
Min Chen 6b19086874 Fix a bug in listHosts that returns wrong zoneId for host. 2013-01-30 10:47:16 -08:00
Sheng Yang b1972f6c11 IPv6: Update NetworkResponse and NicResponse 2013-01-29 22:01:31 -08:00
Kishan Kavala d3089ba2a5 Merge branch 'master' into regions 2013-01-29 11:50:49 +05:30
Kishan Kavala ea660cd06d removed MockAPI server 2013-01-28 17:50:38 +05:30
Kishan Kavala def9fd1f2e remove finduser, findaccount, finddomain APIs 2013-01-28 17:04:25 +05:30
Min Chen fc7d07305f Fix a bug in listHosts that returns wrong zoneId for host.(cherry picked from commit 17c419ceb4)
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2013-01-25 14:21:41 -08:00
Min Chen 17c419ceb4 Fix a bug in listHosts that returns wrong zoneId for host. 2013-01-25 14:18:25 -08:00
Kishan Kavala c6ae19d12f Merge branch 'master' into regions 2013-01-25 18:49:47 +05:30
Kishan Kavala de20cb6c1a Apply API refactoring changes. Make changes to Regions API to work with new code 2013-01-25 18:45:01 +05:30
Kishan Kavala 1f57d925eb Apply API refactoring changes. Make changes to Regions API to work with new code 2013-01-25 18:41:59 +05:30
Rohit Yadav 356866c72b Merge branch 'master' into javelin
- Fixed new join dao impls as spring components
- Fixed component context xml to load api rate limit checker
- Fixed root pom.xml for duplicate plugin
- Fixed list data centers method
- Fixed following conflicts:
	api/src/org/apache/cloudstack/api/command/admin/network/CreateNetworkOfferingCmd.java
	api/src/org/apache/cloudstack/api/command/user/offering/ListServiceOfferingsCmd.java
	api/src/org/apache/cloudstack/api/command/user/template/DeleteTemplateCmd.java
	api/src/org/apache/cloudstack/api/command/user/template/ExtractTemplateCmd.java
	plugins/api/discovery/src/org/apache/cloudstack/discovery/ApiDiscoveryServiceImpl.java
	server/src/com/cloud/api/ApiDBUtils.java
	server/src/com/cloud/api/ApiServer.java
	server/src/com/cloud/api/query/QueryManagerImpl.java
	server/src/com/cloud/configuration/DefaultComponentLibrary.java
	server/src/com/cloud/server/ManagementServerImpl.java
	server/src/com/cloud/storage/swift/SwiftManagerImpl.java

Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2013-01-24 19:18:53 -08:00
Rohit Yadav a7fd74f94a ApiDispatcher: Fix uuid->id translation and throw better debug statement
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2013-01-23 14:57:41 -08:00
Rohit Yadav 7a927e36f0 ReflectUtil: Use collections to grow list and not manual array memory management
Fix usage in ApiDispatcher. Add two kinds of helpers:
- One that gets list of exclude cmd whose fields are not be included
- One that loops till a base class is asssignable from superclass

Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2013-01-23 14:57:41 -08:00
Rohit Yadav a8623bacd7 ApiXmlDocWriter: Fix multiple field occurence in apidocs by using set
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2013-01-23 14:57:41 -08:00
Min Chen 485761f0b4 Fix a bug for listZones and listServiceOfferings for normal user, caused
by a misuse of SearchCriteria class.
2013-01-23 10:17:08 -08:00
Min Chen 26be5ce2df CLOUDSTACK-355: create DB view for ZoneResponse to fix count for
listZonesByCmd.
2013-01-22 16:39:45 -08:00
Prachi Damle aa7b3e0f6d Renaming VmInstanceVO: dataCenterIdToDeployIn to dataCenterId
Corresponding getter/setter is renamed too.

Reason is GenericDao does not update the field unless the method name matches the field name; the setter of this VO was one such case.
2013-01-22 12:56:39 -08:00
Edison Su 4fbecf15ec add unit test back, primary storage life cycle is tested 2013-01-21 17:01:00 -08:00
Min Chen 6e40c33628 CLOUDSTACK-355: create DB view for ServiceOfferingResponse to fix count
for ListServiceOfferingsCmd.
2013-01-21 15:25:49 -08:00
Min Chen 6db719d58b CLOUDSTACK-355: Create DB view to fix count issue for
listDiskOfferingsCmd.
2013-01-21 10:50:10 -08:00
Alex Huang fe6f0457d5 fixed unit tests from merge 2013-01-18 15:58:55 -08:00
Alex Huang 10d9c019a9 All merge conflicts resolved 2013-01-18 12:14:57 -08:00
Min Chen 2fd1d476b4 Merge branch 'master' into api_limit 2013-01-17 21:23:50 -08:00
Kelven Yang e5507c3892 Deprecate 2.1.x migration DAOs, it breaks EntityManager's singleton assumption 2013-01-17 18:55:14 -08:00
Kelven Yang 17a94b20ec Always use premium setting in ConsoleProxyManager 2013-01-17 18:23:06 -08:00
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
Rohit Yadav f264571e92 ApiServer: Fix default reponse type for apiserver on intergration port to xml
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2013-01-17 17:03:27 -08:00
Chiradeep Vittal 56cd809600 Merge branch 'master' of https://git-wip-us.apache.org/repos/asf/incubator-cloudstack
Re-merge with network-refactor
2013-01-17 11:32:49 -08:00
Min Chen c1a540c6bb Merge branch 'master' into api_limit
Conflicts:
	api/src/org/apache/cloudstack/api/BaseCmd.java
	server/src/com/cloud/api/ApiServer.java
	server/src/com/cloud/api/ApiServlet.java

Signed-off-by: Min Chen <min.chen@citrix.com>
2013-01-16 22:48:22 -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
Min Chen bdcfa1919b Clean up ApiServer, ApiServlet and ApiDispatcher in handling various
exceptions, and Introduced ApiErrorCode to handle CloudStack API error
code to standard Http code mapping.
2013-01-16 21:52:48 -08:00
Chiradeep Vittal cadca5fc0c Merge branch 'master' into network-refactor-merge2
Conflicts:
	api/src/com/cloud/network/NetworkService.java
	api/src/com/cloud/network/element/RemoteAccessVPNServiceProvider.java
	plugins/network-elements/nicira-nvp/src/com/cloud/network/element/NiciraNvpElement.java
	server/src/com/cloud/acl/DomainChecker.java
	server/src/com/cloud/network/ExternalFirewallDeviceManagerImpl.java
	server/src/com/cloud/network/NetworkManager.java
	server/src/com/cloud/network/NetworkManagerImpl.java
	server/src/com/cloud/network/router/VirtualNetworkApplianceManagerImpl.java
	server/src/com/cloud/vm/UserVmManagerImpl.java
	server/test/com/cloud/network/MockNetworkManagerImpl.java
	server/test/com/cloud/vpc/MockNetworkManagerImpl.java
2013-01-16 19:17:14 -08:00
Kelven Yang 497dcd5044 Get rid of PlugService annotation, replace it with Spring standard injection in command classes 2013-01-16 18:44:44 -08:00
Kelven Yang 4c1257bf18 Handle proxy object situation in dispatching API command 2013-01-16 11:28:09 -08:00
Kelven Yang df684261cf Put command classes under Spring injection framework 2013-01-15 18:07:19 -08:00
Min Chen 4355d06a86 Reuse APIChecker adapter interface for APi Rate limit checking and optimize ApiRateLimitService interface.
Signed-off-by: Min Chen <min.chen@citrix.com>
2013-01-15 15:53:19 -08:00
Kelven Yang af67d87662 Fix issues with @DB support in Spring environment 2013-01-15 12:35:03 -08:00
Min Chen 7f1486e2dc We need to catch PermissionDeniedException in checking if command is
available to an user.
2013-01-15 11:43:59 -08:00
Rohit Yadav 8f27c711e5 ApiServer: Process through chain of api access checker, on failure it will throw exception
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2013-01-14 19:01:26 -08:00
Min Chen 4d0c850dc8 Fix plugin component configuration. 2013-01-14 17:13:18 -08:00
Rohit Yadav 896e505da6 APIChecker: Make interface generic, pass user and not just role
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2013-01-14 15:08:45 -08:00
Kelven Yang 6dfbcee63d Fix singleton initialization in ApiServer/ApiDispatcher to make it work under Spring bootstraped environment 2013-01-14 13:57:30 -08:00
Rohit Yadav 38eaa04b98 Pull changes from master into javelin
- Disables simulator plugin, breaks build, available via simulator profile
- Fixes spring injections
- Fix api,acl plugins, ApiServer, ApiDispatcher
- Fix other merge conflicts

Conflicts:
	docs/en-US/external-firewalls-and-load-balancers.xml
	plugins/acl/static-role-based/src/org/apache/cloudstack/acl/StaticRoleBasedAPIAccessChecker.java
	server/src/com/cloud/api/ApiDispatcher.java
	server/src/com/cloud/api/ApiServer.java
	server/src/com/cloud/consoleproxy/ConsoleProxyManagerImpl.java
	utils/test/com/cloud/utils/log/CglibThrowableRendererTest.java

Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2013-01-12 06:02:54 -08:00
Rohit Yadav ad063ed610 StaticRoleBasedAPIAccessChecker: Throw exception on failed check
Plugin should not be responsible for existence of checking an API, this was wrong.
Throw exception boldly when checkAccess fails.

Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2013-01-11 19:24:11 -08:00
Rohit Yadav 0dca44efe8 ApiServer: Debug messages, don't spam with info, remove identity helper in ResponseGenerator
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2013-01-11 18:44:20 -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 24687973a8 ApiServer: Get rid of IdentityDao, reuse domain manager to get domain id
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2013-01-11 18:44:19 -08:00
Min Chen 57e67c57d7 Merge branch 'master' into api_limit
Conflicts:
	server/src/com/cloud/api/ApiServer.java

Signed-off-by: Min Chen <min.chen@citrix.com>
2013-01-11 15:50:21 -08:00
Kelven Yang f57dcaa820 Loadable components to be in separted Spring component bundling 2013-01-11 15:33:15 -08:00
Kelven Yang 53da542001 Another round of fixes after merge 2013-01-11 15:21:04 -08:00
Rohit Yadav 74bb043c37 APIChecker: Rename refactor and add interface checkExistence
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2013-01-10 18:51:30 -08:00
Alex Huang 757e1a931b cleanup warnings in utils 2013-01-10 17:19:30 -08:00
Rohit Yadav e63e352508 ApiServer: Log a better message if api access fails and debug it
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2013-01-10 16:08:16 -08:00
Alex Huang 1294cdc701 pulled from master 2013-01-10 16:01:01 -08:00
Alex Huang d6f44a4d6a merged from master 2013-01-10 15:55:42 -08:00
Rohit Yadav a56f355ceb ApiServer: get role type from account manager using account
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2013-01-10 15:55:01 -08:00
Alex Huang f922c6fc03 Keep removing 2013-01-10 14:46:52 -08:00
Rohit Yadav 62a42723f9 APIAccessChecker: Make it check based on role type and not user
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2013-01-10 11:49:15 -08:00
Alex Huang 56e5fbdee2 removed import of componentlocator and inject from all files 2013-01-10 11:44:47 -08:00
Alex Huang 395de6f2b3 merge from latest pull 2013-01-10 11:07:11 -08:00
Alex Huang f40e7b7511 removed componentlocator and inject 2013-01-10 11:05:20 -08:00
Min Chen 0b69d9449a Merge branch 'master' into api_limit 2013-01-10 09:51:41 -08:00
Min Chen 7f8262d45e Remove IdentityProxy and IdentityTypeAdapter class.
Signed-off-by: Min Chen <min.chen@citrix.com>
2013-01-09 17:40:58 -08:00
Kelven Yang 0bcebd33b6 Fix problems after merge 2013-01-09 17:36:53 -08:00
Rohit Yadav 657fb6ac0b ApiServer: Don't depend on plugin for apiname:cmd class mapping
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2013-01-09 17:20:46 -08:00
Rohit Yadav 72693ea382 server: Fix ApiServer init method, we won't use cfg files and it's not used there
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2013-01-09 17:20:46 -08:00
Min Chen 8d98daa1be Add API throttling config items and APILimitChecker Adapter interface,
add api limit checking in APIServer flow.
2013-01-09 16:11:23 -08:00
Chiradeep Vittal 5a830c4db0 Network-refactor: Refactor NetworkManager into NetworkModel and NetworkManager.
NetworkManager's exclusive focus is now
 - handling plugins during orchestration, and
 - to deal with ip address allocation.
Those classes that used to refer to NetworkManager to get access to the datamodel now refer to NetworkModel

Signed-off-by: Chiradeep Vittal <chiradeep@apache.org>
2013-01-09 15:49:01 -08:00
Min Chen 9924b64830 commit 3a3cb60e85c0254ebceff55d0b210ca1ff5386a6
Author: Likitha Shetty <likitha.shetty@citrix.com>
Date:   Wed Jan 9 11:54:25 2013 +0530

    CLOUDSTACK-614: ListTemplates API is not returning "Enable SSH Key" attribute for any given template. Update the TemplateResponse by adding 'sshkeyenabled' attribute to it. This attribute is set to the value that the user passes as input for parameter 'sshkeyenabled' while registering the template.

Signed-off-by: Min Chen <min.chen@citrix.com>
2013-01-09 10:42:44 -08:00
Alex Huang b6c56736e5 merge from master 2013-01-09 05:20:36 -08:00
Alex Huang 0bcb64605f all built with the latest 2013-01-09 05:02:39 -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
Alex Huang 14bd345f1f merge compiles 2013-01-09 04:41:27 -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 765504c070 ApiServer: Fix apidiscovery fail case, fix comment
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2013-01-09 04:18:35 -08:00
Rohit Yadav 2c04dad529 ApiDiscovery: New plugin to help discover apis on mgmt server
- Introduces api/discovery plugin that helps discover apis on the mgmt server
- It's a pluggable service, therefore has it's own api-discovery_commands.properties
  where the discovery api, listApi can be blacklisted (by removing it), or it's
  role mask can be changed
- By default its response has all the apis
- Changes in other parts of the code to make it work, viz. components.xml, pom.xml,
  and in ApiServer where it is used as an adapter to get apiname, cmd mappings

The ApiDiscoveryService interface is a contract that the implementing class will
provide:

1. A means to get all the apis as a list of response, plugin is free to implement
   the response class, as long as it extends on the BaseResponse:

    ListResponse<? extends BaseResponse> listApis();

2. Provides a map of apiname as the key and cmd class as the value:

    Map<String, Class<?>> getApiNameCmdClassMapping();

Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2013-01-08 18:54:29 -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 539d94b4a6 ApiXmlDocWriter: Reuse methods from ReflectUtil
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2013-01-08 18:54:29 -08:00
Kelven Yang b274c570f9 Cleanup places that use explicit wiring of the components 2013-01-08 17:45:33 -08:00
Alex Huang 30f2565d98 Merge branch 'api_refactoring' into javelin 2013-01-08 12:36:04 -08:00
Min Chen 74c15a22a0 Create DB view for ListStoragePools API performance optimization.
Signed-off-by: Min Chen <min.chen@citrix.com>
2013-01-08 12:33:18 -08:00
Kelven Yang 992fa473be convert existing singleton objects into Spring loadable bean components 2013-01-08 11:07:22 -08:00
Min Chen 0894822651 DB view dao cleanup, and introduce global configuration parameter for
entity detail batch query size to remove hard-coded
VM_DETAILS_BATCH_SIZE.

Signed-off-by: Min Chen <min.chen@citrix.com>
2013-01-07 16:40:31 -08:00
Kelven Yang 559933f062 First page of Javelin management server bootstraped by Spring is able to show now 2013-01-07 15:54:18 -08:00
Rohit Yadav a948a89378 Sync updates: Merge branch 'master' into api_refactoring
Conflicts:
	server/src/com/cloud/api/commands/AddTrafficMonitorCmd.java
	server/src/com/cloud/api/commands/ListTrafficMonitorsCmd.java

Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2013-01-07 10:38:43 -08:00
Min Chen 13de3ca253 Enable default sorting for listVirtualMachines and listRouters to keep
back compatible.
2013-01-07 10:26:33 -08:00
Kishan Kavala 5502f4b20c Corrected response object in Traffic Monitor APIs Implementation annontation as TrafficMonitorResponse 2013-01-07 12:32:24 +05:30
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 19cf665094 ApiServer: Fix debug output for role based user access checking
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2013-01-06 16:51:14 -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 6f6ed85839 ApiXmlDocWriter: Fix apidocs generation based on new commands.properties syntax
Makes it backward compatible to old syntax as well

Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2013-01-06 15:01:09 -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 63481ecb34 CLOUDSTACK-212: Move api response classes to cloud-api under org.apache.cloudstack
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2013-01-05 16:27:36 -08:00
Rohit Yadav f07a98a740 api: Refactor and move s3 to api.command.admin.storage
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2013-01-05 15:30:38 -08:00
Rohit Yadav 5119785cf7 Get latest changes, merge branch 'master' into api_refactoring
Conflicts:
	api/src/com/cloud/network/element/RemoteAccessVPNServiceProvider.java
	server/src/com/cloud/network/ExternalFirewallDeviceManagerImpl.java
	server/src/com/cloud/network/ExternalLoadBalancerDeviceManagerImpl.java
	setup/db/db/schema-40to410.sql

Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2013-01-04 22:21:20 -08:00
Sheng Yang 177e157cbf CLOUDSTACK-306: Move inline mode parameter from device to network offering
One F5 device can be used as inline and side-by-side at the same time(for
different networks). So we can define inline or not on network base.
2013-01-04 19:17:58 -08:00
Rohit Yadav 0428b30a5a Fix reflections cmd class loading in ApiServer
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2013-01-04 14:35:05 -08:00
Kelven Yang 2e9c55f8f6 More Spring issues to bootstrape javalin server 2013-01-04 14:25:12 -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
Min Chen daeb4abcca Create DB views for AsyncJobResponse to speed up listAsyncJobsCmd.
Signed-off-by: Min Chen <min.chen@citrix.com>
2013-01-03 15:35:26 -08:00
Min Chen ff8fdbd194 Add missing @Id annotation to id fields for all the join VOs to support
findById call.
2013-01-03 14:12:15 -08:00
Rohit Yadav 580bf857ff server: ApiServer inits with processing cmd classes to fill apiname:class mapping
- Add maven dependency reflections (wtfl license, apl compliant)
- Use reflections to recurse and get apiname:class mapping

Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2013-01-02 18:43:59 -08:00
Rohit Yadav 65e4f00a10 Annotate api name on usage related apis
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2013-01-02 18:43:58 -08:00
Min Chen ebfb90e217 Create DB view for Account to speed up ListAccountsCmd, and add missing async job information for some response objects.
Signed-off-by: Min Chen <min.chen@citrix.com>
2013-01-02 17:38:58 -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
Prasanna Santhanam 840da55520 api: Entities will extend InternalIdentity and Identity
Entities correlated to the Identity and carry a uuid and those
correlated to InternalIdentity carry an id. Those entities that carry
both will correlated to Identity and InternalIdentity.

This refactors entities wherever possible to ensure the VO only
implements the first class entity.

Signed-off-by: Prasanna Santhanam <tsp@apache.org>
2012-12-26 19:11:15 -08:00
Rohit Yadav 7a7fe583e0 Rename Implementation annotation to APICommand
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2012-12-26 15:55:34 -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 057ac12d23 Enforce InternalIdentity interface on all VO classes that impls long getId()
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2012-12-26 15:09:44 -08:00
Min Chen 21c1623a03 Create DB view for Volume to speed up ListVolumesCmd.
Signed-off-by: Min Chen <min.chen@citrix.com>
2012-12-25 17:08:50 -08:00
Rohit Yadav 78d70d349b Merge branch 'master' into api_refactoring
- Applies Isaac Chian'gs fix (CLOUDSTACK-648) to allow user change their password
- TODO: Fix response, only partially applied

Conflicts:
	api/src/org/apache/cloudstack/api/response/UserResponse.java
	client/tomcatconf/commands.properties.in
	server/src/com/cloud/api/ApiResponseHelper.java

Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2012-12-25 09:51:17 -08:00
Isaac Chiang 5aefd77f77 Fix for CloudStack-648
Signed-off-by: Gavin Lee <gavin.lxh@gmail.com>
2012-12-26 00:00:58 +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 a4fed07a7e api: Annotate usage related apis
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2012-12-23 17:33:30 -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