Commit Graph

2071 Commits

Author SHA1 Message Date
Rohit Yadav fae4fdae53 ApiResponseHelper: fix NPE when parent of snapshot is null
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-02-05 17:02:30 +05:30
Daan Hoogland b586439c9f CLOUDSTACK-8197 create MinVRVersion config item 2015-02-03 13:18:15 +01:00
Mike Tutkowski 0f84e042b9 Adding support for creating a volume from a snapshot when the snapshot is on managed storage 2015-01-20 15:24:33 -07:00
Pierre-Yves Ritschard b2393c31ed move ConstantTimeComparator to utils 2015-01-14 12:14:00 +01:00
Pierre-Yves Ritschard 9b4e39e837 Use constant-time comparison functions when checking signatures
This limits the likeliness of timing attacks against the API.
See http://codahale.com/a-lesson-in-timing-attacks/ for the
full rationale.

Conflicts:
	server/src/com/cloud/api/ApiServer.java
	server/src/com/cloud/user/AccountManagerImpl.java
2015-01-14 11:32:29 +01:00
Rohit Yadav 185f7e0152 CLOUDSTACK-8155: Remove unwanted whitespaces from json response
This removes extra whitespaces from the JSON serialized response.
After the fix, tested to work with:
- Present UI
- CloudMonkey
- Old buggy json parsers

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
(cherry picked from commit 921ad057de)
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-01-14 02:43:54 +05:30
Kishan Kavala 01a325b2bf Network Id for direct-network should not be included in usage record response. Direct network stats have network_id = 0. Ignore network with id = 0 in usage record 2015-01-07 14:17:30 +05:30
Kishan Kavala 9eb8d538dd For volumes created from template, do not log offering ID in VOLUME.CREATE in usage_event. Moved offering type to DiskOffering interface 2015-01-07 12:31:41 +05:30
Wei Zhou 93429443d5 CLOUDSTACK-8063: list secondary Ips information on non-default nics in VM response 2015-01-05 11:22:14 +01:00
Likitha Shetty ff7997a2b1 CLOUDSTACK-8127. VM name not displayed after attaching data disk to a VM.
If user hasn't supplied a display name for a VM, default it to VM name in listVolume response.
This behaviour is identical to listVirtualMachine response.
2014-12-24 15:21:34 +05:30
Min Chen d304409c98 CLOUDSTACK-8093:Not able to list shared templates by passing id. 2014-12-18 10:00:18 -08:00
Sanjay Tripathi 9153b8bede CLOUDSTACK-8066: There is not way to know the size of the snapshot created. 2014-12-17 16:00:19 +05:30
Wei Zhou 19e99848c8 CLOUDSTACK-7882: SSH Keypair Creation/Selection in UI
Thanks Ilia Shakitko for the porting and testing.
2014-12-12 14:30:34 +01:00
Wei Zhou dcb7fcc6df CLOUDSTACK-8063: list secondary Ips information in VM response 2014-12-12 09:47:27 +01:00
Min Chen 8cb11f407f CLOUDSTACK-7981: added back resource tag related columns to user_vm_view to support resource tag related search. 2014-12-03 09:33:22 -08:00
Laszlo Hornyak a81b59e2a4 Revert "some unused fields deleted"
This reverts commit 31db58f720.
2014-12-03 18:09:49 +01:00
Wei Zhou c25d4fdea2 CLOUDSTACK-7847: Separate ListDomains cmd to use two different views 2014-12-03 12:33:57 +01:00
Wei Zhou 0407fb334f CLOUDSTACK-7847: add max.domain.* in global setting and display domain resources in listDomainsCmd response 2014-12-02 11:52:10 +01:00
Wei Zhou af2f21894c CLOUDSTACK-7983: Create Disk/Service Offering for Domain Admin 2014-12-01 13:03:37 +01:00
Rohit Yadav 21a6bef53b CLOUDSTACK-7989: Ignore Auth API calls in unauthenticated HTTP handlers
If an auth API call (such as login, logout) is called on unauthenticated port
such as the 8096 integration server port, we need to ignore such API calls
as calling auth APIs on 8096 is un-necessary and is undefined.

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2014-11-28 15:43:29 +05:30
Min Chen 4e7af26c9f CLOUDSTACK-7981: listVirtualMachine is too slow in case of duplicate
resource tags due to joining user_vm_details to user_vm_view.
2014-11-26 17:23:07 -08:00
Rohit Yadav 7ff31f1b22 Merge remote-tracking branch 'origin/inetaddress'
- Tested locally against unit tests
- TravisCI build passed: https://travis-ci.org/apache/cloudstack/builds/41990351
- Manual QA passed for basic auth and saml auth using default IDP settings

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>

Conflicts:
	server/src/com/cloud/api/ApiServlet.java
2014-11-25 14:32:09 +05:30
Wido den Hollander 72ba98b1b8 Validate IPv4 address using Apache Commons Validator 2014-11-24 14:43:48 +01:00
Wido den Hollander 87a7810ade Fix UnitTest ApiServlet 2014-11-24 11:48:13 +01:00
Sanjay Tripathi d475b62838 CLOUDSTACK-7964: listAccounts API is not listing correct value of resource limits. 2014-11-24 13:44:42 +05:30
Laszlo Hornyak 31db58f720 some unused fields deleted
Signed-off-by: Laszlo Hornyak <laszlo.hornyak@gmail.com>
2014-11-23 19:49:04 +01:00
Laszlo Hornyak 3577423da9 removed executable flags from java classes
Signed-off-by: Laszlo Hornyak <laszlo.hornyak@gmail.com>
2014-11-23 19:49:01 +01:00
Laszlo Hornyak 2a6d6891eb Some simplification on getClientAddress in ApiServlet
Signed-off-by: Laszlo Hornyak <laszlo.hornyak@gmail.com>
2014-11-23 19:48:58 +01:00
Laszlo Hornyak fa52ffad65 unit test for getClientAddress
Signed-off-by: Laszlo Hornyak <laszlo.hornyak@gmail.com>
2014-11-23 19:48:57 +01:00
Wido den Hollander 4bd49df3f5 Use InetAddress for passing Remote Address instead of String 2014-11-21 12:10:35 +01:00
Min Chen 5fa7801b20 CLOUDSTACK-7954:ListTags API is ignoring the resourceID and displaying
all the tags of all resources.
2014-11-20 09:46:00 -08:00
Min Chen 7de9d2f002 Revert "BUG-ID: CS-27662: ListTags API is ignoring the resourceID and displaying"
This reverts commit 3014fd0089.
2014-11-20 09:44:55 -08:00
Min Chen 3014fd0089 BUG-ID: CS-27662: ListTags API is ignoring the resourceID and displaying
all the tags of all resources.
Reviewed-by: Frank
2014-11-20 09:31:29 -08:00
Saksham Srivastava f0a4a639de CLOUDSTACK-7941: CloudStack should log IP address of actual client even if a ReverseProxy is there 2014-11-19 16:07:10 +05:30
Santhosh Edukulla ef6ec7b276 Fixed few coverity issues like invalid boxing unboxing issues, resource leaks, null dereferences 2014-11-13 17:26:24 +05:30
Damodar 50a3c0b2e3 CLOUDSTACK-7886: cloudstackoperations like deployvm,deleteNW are failing if CS fail to contact rabbit mq server. This is happening in case of Async API calls.
Signed-off-by: Koushik Das <koushik@apache.org>
2014-11-12 10:12:15 +05:30
Mike Tutkowski 9338abb6f3 Check to see if the Map<String, String> of capabilities passed back from the storage driver is null. 2014-11-06 19:49:44 -07:00
Mike Tutkowski ebb96f5e2f Handle the case where the volume a snapshot was created from is removed from the database 2014-11-06 19:44:46 -07:00
Mike Tutkowski 92d9ef9c17 Handle the case where a snapshot is associated with a deleted volume 2014-11-06 15:34:39 -07:00
Koushik Das 0327c2b13e CLOUDSTACK-7421
Unnecessary exception in MS logs while removing default NIC from VM. Following changes are made:
1. Changed the exception from CloudRuntimeException to InvalidParameterValueExecption.
2. Moved out validation logic to UserVMManagerImpl from VirtualMachineManagerImpl.
3. Handling InvalidParameterValueException from async API calls so that they are not logged as ERROR in MS logs.
2014-11-04 17:34:07 +05:30
Min Chen 4f43839dae CLOUDSTACK-7797: listSupportedNetworkServices API takes more than 1 second to
complete, slow compared to previous 4.3 release.
2014-10-27 16:27:17 -07:00
Nitin Mehta ee0f0a1cff CLOUDSTACK-7771: Throw exception while restoring vm if the template is already deleted. Also fix the usage event being generated from the right template id and fix the log message which sometime showed incorrect template id.
CLOUDSTACK-4201: listServiceOfferings API needs to be able to take virtualmachineid of SystemVM and return service offerings available for the vm to change service offering
2014-10-22 15:03:25 -07:00
Santhosh Edukulla efe1e0a544 Fixed coverity and other resource leak issues
Signed-off-by: Santhosh Edukulla <santhosh.edukulla@gmail.com>
2014-10-16 12:19:51 +05:30
Damodar 7fe3c45142 CLOUDSTACK-7729: listVMSnapshot API not returning parent id in response 2014-10-16 09:43:04 +05:30
Nitin Mehta 3b442acdd7 CLOUDSTACK-7532: Template status is not shown in UI/API response for non-default account users. Show it if the owner of the template is the caller
(cherry picked from commit 42f628c61c)
2014-10-15 13:58:22 -07:00
Mike Tutkowski e70dde09c9 Implementing snapshot-strategy support for reverting a volume to a snapshot 2014-10-14 22:04:18 -06:00
Rohit Yadav 92858afd55 CID-1192822: ids is a List<Long>, the cast to List<?> is removed
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2014-09-25 16:59:47 +02:00
Hugo Trippaers cf4ff03c90 CID-1191682 Fix missing break statement 2014-09-19 08:28:42 +02:00
Koushik Das 4e07dd1dc4 CLOUDSTACK-7581: Empty 'ID' parameters allowed in API calls
Fix is to fail API calls with empty 'id' parameter value upfront rather than going ahead and failing with NPE later on
2014-09-18 17:10:25 +05:30
Rohit Yadav bfa36c0280 CID-1233090, CID-1233089: Synchronize on session object in ApiServer
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2014-09-18 11:26:20 +02:00
Rohit Yadav 190bd38026 server: remove unused imports that failed build in last run
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2014-09-17 16:53:32 +02:00
Rohit Yadav 369b5b439b CID-1192812: Remove dead code from DataCenterJoinDaoImpl
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2014-09-17 16:29:03 +02:00
Rohit Yadav bfd8af0751 CID-1192811: Remove dead local store from VolumeJoinDaoImpl
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2014-09-17 16:27:41 +02:00
Nitin Mehta 0a4ab3251a CLOUDSTACK-7513: listServiceOfferings API when called with VM's id also returns offerings to which it cant be upgraded. Adding the logic that when vmid is passed it looks for compatible offerngs using the storage type (local/shares), storage tags and also compute (cpu,speed, memory) in case the vm is running.
Also changed the scaleVm API to upgrade only when the destination offering has storage tags as a subset of current offering tags.
2014-09-15 11:02:34 -07:00
Devdeep Singh 283666b038 Password is logged in api server logs while creating a storage pool and while
adding an image store of type SMB. Cleaning the message before logging.
2014-09-12 14:31:17 +05:30
Frank Zhang 7a555b398f CLOUDSTACK-7523
java.lang.NullPointerException when listing accounts
2014-09-10 14:43:41 -07:00
Nitin Mehta f9d7a12a57 CLOUDSTACK-7481: Assertion/exception in listVolumes call from UI with assert enabled
searchForVolumesInternal() indicated some inconsistency in the use of entity().isDisplayVolume() property – used twice as “display” and “displayVolume” in search criteria. And then exception/assert happens while setting the property.
Correcting the issue.
2014-09-05 11:35:11 -07:00
Edison Su ce82ab605d listhost api needs to return host_details table 2014-09-04 17:57:24 -07:00
Rohit Yadav 33a249e77a CLOUDSTACK-7455: Fix possible case for NPE
NPE can happen if Spring fails to inject api authenticator, so better check
and set list of commands if the authenticator is not null or returning null cmds

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2014-08-31 14:42:18 +02:00
Rohit Yadav 47ccce85a1 api: add method to pass on api authenticators to cmd classes
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2014-08-28 19:45:24 +02:00
Rohit Yadav 37d696db80 ApiServer: Fix imports order, use org.apache.cloudstack.api.ApiServerService
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2014-08-28 19:45:23 +02:00
Rohit Yadav 591a686d77 server: fix server package after auth plugin refactor
- Have opensaml dependency to get version from root pom
- add com.cloud.api.auth.APIAuthenticationManagerImpl to spring ctx manager
- Fix getCommands() in APIAuthenticationManagerImpl
- Fix imports in resources, test and src classes

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2014-08-28 19:45:23 +02:00
Rohit Yadav 68e094ebaf saml: move refactor files from server to api module
- Move interfaces and classes from server to api module
- This can be then used for pluggable api authenticators

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2014-08-28 19:45:22 +02:00
Rohit Yadav a364054db6 Minor fixes
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2014-08-28 19:45:21 +02:00
Rohit Yadav 2464e02bf4 SAML2LoginAPIAuthenticatorCmd: Set all necessary cookies and redirect to UI
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2014-08-28 19:45:21 +02:00
Rohit Yadav 2694ad7bd9 ApiServlet: Fix NPE while inserting to auditTrail
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2014-08-28 19:45:21 +02:00
Rohit Yadav a1dc9e8189 SAML2LoginAPIAuthenticatorCmd: Implement SAML SSO using HTTP Redirect binding
- Creates SAMLRequest and uses HTTP redirect binding (uses GET/302)
- Redirects to IdP for auth
- On successful auth, check for assertion
- Tries to get attributes based on standard LDAP attribute names
- Next, gets user using EntityManager, if not found creates one with NameID as UUID
- Finally tries to log in and redirect

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2014-08-28 19:45:21 +02:00
Rohit Yadav 9c7204d386 DefaultLoginAPIAuthenticatorCmd: move createLoginResponse to ApiServer
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2014-08-28 19:45:21 +02:00
Rohit Yadav 1a3813a342 ApiServer: change loginUser method signature to return ResponseObject
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2014-08-28 19:45:20 +02:00
Rohit Yadav b82207e081 SAML: WIP redirections work now
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2014-08-28 19:45:20 +02:00
Rohit Yadav df95a762f4 SAML2: add saml sso and slo apicmds skeleton, add classes to AuthManager
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2014-08-28 19:45:20 +02:00
Rohit Yadav d71c19f91c ApiXmlDocWriter: add more search name spaces to find APIs
Whenever a new API command is added to CloudStack, if developers are not using
the recommended namespace of org.apache.cloudstack.api.* they should add their
custom namespace/package here. ApiXmlDocWriter uses ReflectUtils to find APIs
within these packages (which must be also available in cloud-client).

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2014-08-25 18:16:28 +02:00
Santhosh Edukulla 19ffc93e2e Fixed few coverity reported issues:Aug22 2014 2014-08-21 17:09:27 +05:30
Wei Zhou b035a444c6 CLOUDSTACK-7308: add tags to all security group rules
(cherry picked from commit ae1b87ca23)
2014-08-18 16:17:28 +02:00
seif 59ea2e2960 Added the listHostTags API command 2014-08-17 20:38:46 -06:00
Stephen Hoogendijk 6978c18c3a CLOUDSTACK-7308 - Adds tagging support for security group rules 2014-08-15 09:39:53 +02:00
Rohit Yadav 31fbb20648 ApiXmlDocWriter: Don't hardcode around login api or skip it based on key name
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2014-08-13 14:05:18 +02:00
Luis Henrique Okama cb9319d3d8 bugfix CLOUDSTACK-7309 using findProjectByProjectAccountIdIncludingRemoved
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2014-08-13 00:07:25 +02:00
Rohit Yadav ae207bea98 DefaultLoginAPIAuthenticatorCmd: return userId as UUID
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2014-08-12 12:01:32 +02:00
Rohit Yadav 384acffff4 ApiServer: take UTF_8 and other static vars from HttpUtils
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2014-08-12 12:01:32 +02:00
Rohit Yadav 3cc6efce04 ApiServlet: use HttpUtils instead of class specific implementation
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2014-08-12 12:01:32 +02:00
Rohit Yadav 983252cffd ApiResponseSerializer: Use HttpUtils instead of BaseCmd
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2014-08-12 12:01:32 +02:00
Rohit Yadav 224dc9f8e5 APIAuthenticator: refactor signature of APIAuthenticator interface's authenticate
Pass HttpServletResponse as it can be useful for authenticators which need to
have their own writer interface/method

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2014-08-12 12:01:31 +02:00
Rohit Yadav 6ec1a1b604 ApiServlet: move setting of response type up in the layer
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2014-08-12 12:01:31 +02:00
Rohit Yadav 7434f1bd33 ApiXmlDocWriter: get rid of hardcoded login/logout docs
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2014-08-12 12:01:31 +02:00
Rohit Yadav ee57f47e29 ApiServlet: use the new and refactored authentication mechanism
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2014-08-12 12:01:31 +02:00
Rohit Yadav 2e5bbc9a0d ApiXmlDocWriter: remove hardcoded login and logout apis
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2014-08-12 12:01:31 +02:00
Rohit Yadav b587291d55 ApiResponseSerializer: Skip extra boxing for Auth responses
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2014-08-12 12:01:30 +02:00
Rohit Yadav bd2898e491 APIAuthenticationManagerImpl: add the auth manager and bean entry in spring xmls
- This implements ManageBase, is a pluggable service
- Has a mechanism to return commands, useful for apidocs etc.
- Has a method to return APIAuthenticator based on API command name

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2014-08-12 12:01:30 +02:00
Rohit Yadav f7821ecf09 DefaultLoginAPIAuthenticatorCmd: Refactor and implement the default login mechanism
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2014-08-12 12:01:30 +02:00
Rohit Yadav 1330559b8d DefaultLogoutAPIAuthenticatorCmd: Refactor and implement the logout mechanism
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2014-08-12 12:01:30 +02:00
Rohit Yadav ac3adfeca7 APIAuthenticationManager: Add Auth manager definition
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2014-08-12 12:01:30 +02:00
Rohit Yadav 4d3fbc54ad APIAuthenticationType: Add auth enum type, login or logout
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2014-08-12 12:01:30 +02:00
Rohit Yadav 31722c2674 APIAuthenticator: Add interface definition for the auth mechanisms
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2014-08-12 12:01:29 +02:00
Alena Prokharchyk 97efbc56e4 CLOUDSTACK-7283: listUsers - for regular user, only return the caller info. If there are more users under the same account, their information should never be returned 2014-08-11 13:51:11 -07:00
seif 67ca2557f9 Changes for a new API command to list the storage tags 2014-08-07 17:46:06 -06:00
Alena Prokharchyk 6d1482b97b CLOUDSTACK-7283: listUsers API is available for regular users now 2014-08-07 14:01:58 -07:00
Nitin Mehta f424a04b0c CLOUDSTACK-7272: Router stop fails with NPE. Fixing it by making the hostId as Long object than native type long. The issue was the response was checking for getHostId() != null to populate attribute hypervisor. But since the hostId is declared as long it will never be null, resulting in the NPE when populating hypervisor. Fixed that 2014-08-06 18:06:33 -07:00
Nitin Mehta b9d834e838 CLOUDSTACK-4200: listSystemVMs API and listRouters API should return hypervisor property since dynamic scaling is not enabled for all the hypervisors and that action can be showed only for the hypervisors that support it. 2014-08-05 17:29:34 -07:00
Damodar 221c118b4f CLOUDSTACK-7245: listIsos call does not return isdynamicallyscalable in the response attributes as mentioned in API docs. 2014-08-05 16:06:01 +05:30