Commit Graph

298 Commits

Author SHA1 Message Date
Rohit Yadav f30c52a16c CLOUDSTACK-8562: DB-Backed Dynamic Role Based API Access Checker
This feature allows root administrators to define new roles and associate API
permissions to them.

A limited form of role-based access control for the CloudStack management server
API is provided through a properties file, commands.properties, embedded in the
WAR distribution. Therefore, customizing API permissions requires unpacking the
distribution and modifying this file consistently on all servers. The old system
also does not permit the specification of additional roles.

FS:
https://cwiki.apache.org/confluence/display/CLOUDSTACK/Dynamic+Role+Based+API+Access+Checker+for+CloudStack

DB-Backed Dynamic Role Based API Access Checker for CloudStack brings following
changes, features and use-cases:
- Moves the API access definitions from commands.properties to the mgmt server DB
- Allows defining custom roles (such as a read-only ROOT admin) beyond the
  current set of four (4) roles
- All roles will resolve to one of the four known roles types (Admin, Resource
  Admin, Domain Admin and User) which maintains this association by requiring
  all new defined roles to specify a role type.
- Allows changes to roles and API permissions per role at runtime including additions or
  removal of roles and/or modifications of permissions, without the need
  of restarting management server(s)

Upgrade/installation notes:
- The feature will be enabled by default for new installations, existing
  deployments will continue to use the older static role based api access checker
  with an option to enable this feature
- During fresh installation or upgrade, the upgrade paths will add four default
  roles based on the four default role types
- For ease of migration, at the time of upgrade commands.properties will be used
  to add existing set of permissions to the default roles. cloud.account
  will have a new role_id column which will be populated based on default roles
  as well

Dynamic-roles migration tool: scripts/util/migrate-dynamicroles.py
- Allows admins to migrate to the dynamic role based checker at a future date
- Performs a harder one-way migrate and update
- Migrates rules from existing commands.properties file into db and deprecates it
- Enables an internal hidden switch to enable dynamic role based checker feature

Deprecate commands.properties

- Fixes apidocs and marvin to be independent of commands.properties usage
- Removes bundling of commands.properties in deb/rpm packaging
- Removes file references across codebase

Reviewed-by: John Burwell <john.burwell@shapeblue.com>
QA-by: Boris Stoyanov <boris.stoyanov@shapeblue.com>

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2016-04-25 14:52:02 +05:30
Rohit Yadav 88e1645d0b CLOUDSTACK-9019: Add storage network offering in ssvm only if storage network is defined
During creation of SSVM, checks and adds NetworkOffering.SystemStorageNetwork to
offerings only if storage network exists for the target datacenter

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2016-01-20 12:54:05 +01:00
Boris Schrijver db771cd0a4 Added Unit Tests for QCOW2Utils. 2016-01-20 12:54:03 +01:00
Boris Schrijver 8a5aa0faaa Fixed Findbugs issue introduced by 1c6378ec00 PR #795. 2016-01-20 12:54:02 +01:00
Boris Schrijver decaef6cb4 Added QCOW2 virtual size checking for S3.
- Cleaned up S3TemplateDownloader
- Created static QCOW2 utils class.
- Reformatted some parts of DownloadManagerImpl
2016-01-20 12:54:02 +01:00
Rohit Yadav a4f552d46d cloudstack: set next version to 4.5.3-SNAPSHOT
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-09-14 09:59:40 +05:30
Rohit Yadav 7385441807 Updating pom.xml version numbers for release 4.5.2
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-08-19 14:42:54 +05:30
Rohit Yadav 17366f2b18 CLOUDSTACK-8301: Enable configuring local storage use for system VMs at zone level
Backported from #263 for 4.5 branch, original bugfix by @koushik-das et al

More information on:
https://issues.apache.org/jira/browse/CLOUDSTACK-8301
https://cwiki.apache.org/confluence/display/CLOUDSTACK/Enable+configuring+local+storage+use+for+system+VMs+at+zone+level

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

This closes #661
2015-08-08 22:41:52 +05:30
Rohit Yadav 8b18ab3ff2 Fix version to 4.5.2-SNAPSHOT throughout the source
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-05-08 11:35:59 +02:00
Rohit Yadav 4ba72a877c Updating pom.xml version numbers for release 4.5.2-SNAPSHOT
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-05-07 15:33:01 +02:00
Rohit Yadav 0eb4eb2370 Updating pom.xml version numbers for release 4.5.1
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-05-04 12:17:03 +02:00
Rohit Yadav 279efb0432 CLOUDSTACK-6139: Fix regression, allow zone level systemvm localstorage config
From b3f18e7d74, the zone level systemvm local
storage setting never worked as it needed to be moved to config depot.

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-05-01 15:24:53 +02:00
Rohit Yadav b4a5a32a74 utils: use a better extended implementation of SSLSocketFactory
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-03-13 17:31:30 +05:30
Nitin Mehta d94a5720ef Avoid distributing private key for realhostip.com
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-03-13 13:33:48 +05:30
Rohit Yadav c198dfdb7a Update pom and version usage to 4.5.1-SNAPSHOT
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-03-12 12:13:18 +05:30
Santhosh Edukulla c25263ba81 Fixed Coverity Issues 2015-02-05 15:59:29 +05:30
Rohit Yadav b442d77dc9 Publish secstorage failure, removed by a12ab8a2b3
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-02-05 15:54:27 +05:30
Santhosh Edukulla bd190192b9 Fixed Resource Leaks
Signed-off-by: Santhosh Edukulla <santhosh.edukulla@gmail.com>
(cherry picked from commit 350ac4c4b0)

Conflicts:
	engine/schema/src/com/cloud/upgrade/dao/Upgrade441to450.java
2015-02-05 13:47:22 +05:30
Likitha Shetty d466ecaf7a CLOUDSTACK-5485. Cannot process more than 5 concurrent snapshots.
Number of threads on SSVM agent for connection with MS (Agent->NioClient) should be configurable using global config 'workers'.

(cherry picked from commit bc235ed5eb)
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-02-02 14:46:58 +05:30
Rohit Yadav 1bab1d0855 use a preferable protocol that works on jvm 1.6
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
(cherry picked from commit f5f6c2d1a7)
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>

Conflicts:
	services/console-proxy-rdp/rdpconsole/src/main/java/streamer/SocketWrapperImpl.java
2015-01-29 16:02:42 +05:30
Rohit Yadav d08369ad06 services, awsapi: use better string comparision
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-01-22 18:09:16 +05:30
Rohit Yadav debfcdef78 CLOUDSTACK-8160: use preferable protocols
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-01-21 18:02:58 +05:30
Nitin Mehta 665aa6b522 CLOUDSTACK-7916: Generate Alerts if System VMs cannot be started.
(cherry picked from commit e87bb20d0c)
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-01-20 11:55:47 +05:30
Nitin Mehta a12ab8a2b3 CLOUDSTACK-7916: Generate Alerts if System VMs cannot be started.
(cherry picked from commit 3907bc6f9d)
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-01-20 11:55:36 +05:30
Wei Zhou 1e8476d38a CLOUDSTACK-8140: CS fails to start after secstorage/consoleproxy.service.offering is set to uuid
(cherry picked from commit 84c44b6314)
2015-01-06 10:26:04 +01:00
Rohit Yadav bf88be5b25 Revert "CLOUDSTACK-8011: Upgrade maven dependencies"
This reverts commit 482815d084.
2014-12-04 19:47:23 +05:30
Rohit Yadav 482815d084 CLOUDSTACK-8011: Upgrade maven dependencies
Changes;
- Upgrades maven-war plugin to 4.5 (faster war packaging)
- Upgrade spring framework to latest minor release
- Upgrade ehcache, jasypt, httpclient, httpcore and other core dependencies
- Upgrade to latest ipv6 library, fix unit test NetUtilsTest
- httpcore and httpclient are sharing same version variable
- commons-httpclient is different that httpclient, the fix gives it a separate var
- Apidocs failed to generate and get stuck with new reflections version, for now
  we will continue using 0.9.8

Newer dependencies can be listed using:
mvn versions:display-dependency-updates -Dnoredist -Dsimulator -P developer,systemvm

Testing;
- Tested using Maven 3.2.1
- Local noredist build with unit tests succeeds
- CloudStack mgmt server started, basic business layer tests work
- Observed 10-15% build time improvement using new maven-war plugin

Branch: bugfix/4.5-8011 (commits are squashed in favour of a linear history)

Pull request:
https://github.com/apache/cloudstack/pull/50

This closes #50

TravisCI build summary:
https://travis-ci.org/shapeblue/cloudstack/builds/42902172

- Build passes with unit tests
- Apidocs generates successfully
- Most integration tests pass, some fail due to timeout errors, second re-run
  passes some of them

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
(cherry picked from commit fac7bfc5d5)
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>

Conflicts:
	pom.xml
2014-12-04 02:14:54 +05:30
Sheng Yang 865b2e6791 CLOUDSTACK-7814: Fix default passphrase for keystores
In upgrade case, the db.properties file is not changed, but the following commit
would require passphrase for keystore in it, thus result in error(NPE in fact
due to there is no such properity).

commit 918c320438
Author: Upendra Moturi <upendra.moturi@sungard.com>
Date: Fri Jun 20 11:41:58 2014 +0530
CLOUDSTACK-6847.Link.java and console proxy files have hardcoded value

This commit fix it by put default value for passphrases, also set correct
passphrase if fail-safe keystore is used.
2014-10-28 16:29:29 -07:00
Anthony Xu 0141b37784 CLOUDSTACK-7761:
Revert "when system VM ping times out, stop system VM"

This reverts commit ee23be1942.
2014-10-21 17:21:17 -07:00
Nitin Mehta 50ee9810a8 CLOUDSTACK-6826: Improving the download url expiration where the expiration work would be handled by the ssvm that has the corresponding symlink created on it. In case it doesnt exist, then would be any one of the ssvm in the zone.
Also when the ssvm is destroyed all the download urls are expired to be cleaned up in the next run by the new ssvm.

(cherry picked from commit ce90837357)
2014-10-13 00:40:03 -04:00
Anthony Xu ee23be1942 when system VM ping times out, stop system VM
(cherry picked from commit 847e1e47ae)
2014-10-13 00:11:21 -04:00
Anshul Gangwar 4c9507d21e CLOUDSTACK-6898: [Hyper-V] fixed rdp console freezing during reboot.
Console was freezing because we read data from socket in blocking mode.
During reboot it was blocking infintely.
To fix issue, now we are reading data in non-blocking mode.
In non-blocking mode I set the timeout to 5 seconds.
2014-09-10 11:32:51 +05:30
Hugo Trippaers dc3f0cbc63 Improve the handling of the findbug exclude files 2014-09-03 10:41:22 +02:00
Min Chen 902a9c5b70 CLOUDSTACK-7266: Deleting account is not cleaning the snapshot entries
in secondary storage.
2014-08-25 16:09:48 -07:00
Sanjay Tripathi 1354605073 CLOUDSTACK-7373: Incorrect Japanese keyboard mapping with CentOS CLI guestOS on VMware host.
This fix is to correct the JP keyboard mapping for VMs with windows and centOS GUI
and CLI OS on VMware hypervisor. Also fixed some known issues on centOS CLI on XS
hypervisor. Fix is not causing any regression.
2014-08-20 14:34:28 +05:30
Kishan Kavala c09888fcb5 CLOUDSTACK-7237 : Added TAR image processor for templates with tar extension 2014-08-06 18:03:02 +05:30
Santhosh Edukulla 64b9ca0a35 Fixed a coverity reported concurrency issue
Signed-off-by: Santhosh Edukulla <santhosh.edukulla@gmail.com>
2014-08-05 17:16:09 +05:30
Santhosh Edukulla b371356abc Fixed coverity issues reported 2014-07-31 21:19:57 +05:30
Santhosh Edukulla a7e3861f5e Fixed Coverity Issues 2014-07-31 16:57:20 +05:30
Santhosh Edukulla 6133bda642 Fixed Coverity Issues Reported 2014-07-31 16:36:05 +05:30
Hugo Trippaers 49f60ca744 Fix a coverity issue about unchecked returns and make the code flow a
litle bit more easy to follow.
2014-07-28 14:42:42 +02:00
Hugo Trippaers 669aebf1bc Fix CID 1128968 Iterator modified during loop 2014-07-25 11:58:16 +02:00
Hugo Trippaers 885e08d476 Fix CID 1114611 Check the right variable 2014-07-24 12:21:38 +02:00
Hugo Trippaers fc23c70a1f Fix CID 1116481 Widening should happen before calculation 2014-07-04 16:48:30 +02:00
Hugo Trippaers cc913cf0bb Fix CID 1116497 Resource leak 2014-07-04 13:50:33 +02:00
Logan B 736bf540e8 Changed logic for copying snapshot from S3 to NFS staging store to prevent needless failure.
Signed-off-by: Daan Hoogland <daan@onecht.net>
2014-06-20 22:37:21 +02:00
Upendra Moturi 918c320438 CLOUDSTACK-6847.Link.java and console proxy files have hardcoded value 2014-06-20 12:07:50 +02:00
Nitin Mehta 8b6dc7ce2f CLOUDSTACK-6824: In case there is a failure to delete the soft link of a download url, dont bail out since there can be cases such as destroy ssvm where the soft links do not exist any more.
(cherry picked from commit 7333016722)
2014-06-02 17:55:09 -07:00
Nitin Mehta 5393387bbd CLOUDSTACK-6599:
1. Adding the missing Template/Volume URLs expiration functionality
2. Improvement - While deleting the volume during expiration use rm -rf as vmware now contains directoy
3. Improvement - Use standard Answer so that the error gets logged in case deletion of expiration link didnt work fine.
4. Improvement - In case of domain change, expire the old urls
2014-05-30 10:48:42 -07:00
Min Chen ba848087f8 Disable IAM feature from 4.4 release. 2014-05-22 18:27:08 -07:00