Commit Graph

230 Commits

Author SHA1 Message Date
Rohit Yadav a5de2714e9 CLOUDSTACK-9299: Out-of-band Management for CloudStack
Support access to a host’s out-of-band management interface (e.g. IPMI, iLO,
DRAC, etc.) to manage host power operations (on/off etc.) and querying current
power state in CloudStack.

Given the wide range of out-of-band management interfaces such as iLO and iDRA,
the service implementation allows for development of separate drivers as plugins.
This feature comes with a ipmitool based driver that uses the
ipmitool (http://linux.die.net/man/1/ipmitool) to communicate with any
out-of-band management interface that support IPMI 2.0.

This feature allows following common use-cases:
- Restarting stalled/failed hosts
- Powering off under-utilised hosts
- Powering on hosts for provisioning or to increase capacity
- Allowing system administrators to see the current power state of the host

For testing this feature `ipmisim` can be used:
https://pypi.python.org/pypi/ipmisim

FS:
https://cwiki.apache.org/confluence/display/CLOUDSTACK/Out-of-band+Management+for+CloudStack

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2016-05-10 13:16:03 +05:30
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 847d69edfd CLOUDSTACK-9000: logrotate cloudstack-agent out and err logs
Adds logrotate rules for cloudstack-agent.{err,out} log files

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2016-01-20 12:54:04 +01:00
Rohit Yadav af38c492d8 debian: add 4.5.3-snapshot to changelog
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-09-14 10:01:58 +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 d2b0c1a32b CLOUDSTACK-8339: Allow non-root users to add KVM host
This allows non-root users to add KVM hosts, the user should be an admin or
added to sudoers to execute sudo cloudstack-setup-agent.

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
Signed-off-by: Remi Bergsma <apache@remi.nl>

This closes #288
2015-05-25 14:11:14 +02:00
Rene Moser b90e8f96b4 debian: allow tomcat7 as optional dependency
This closes #247

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

Conflicts:
	debian/control
2015-05-13 15:42:46 +02:00
Rohit Yadav 54f3e7733f debian: allow openjdk1.8 as optional dependency
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-05-06 02:09:41 +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 a8dfa85744 debian: add 4.5.1-snapshot to changelog
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-03-19 14:45:15 +05:30
Harikrishna Patnala f947fad197 CS-17504: Weak SSL ciphers supported by the management server
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-03-13 13:25:33 +05:30
Rohit Yadav d4ead2c72a debian: remove old cache after upgrade
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-02-07 01:38:11 +05:30
Wei Zhou e9ce0df5d8 CLOUDSTACK-7316: usage server cannot start due to missing key in /etc/cloudstack/usage/ in Ubuntu setup
(cherry picked from commit 6fb9746e5e)
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-01-27 17:39:22 +05:30
Rohit Yadav 752980f370 Revert "packaging: updated hardcoded jasypt version to 1.9.2"
This reverts commit 43f39a1ec3.
2014-12-04 19:47:10 +05:30
Rohit Yadav 43f39a1ec3 packaging: updated hardcoded jasypt version to 1.9.2
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2014-12-04 04:02:46 +05:30
Rohit Yadav 4179ccbf55 debian: stop tomcat6 after installing cloudstack-management
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2014-09-12 17:34:44 +02:00
Rohit Yadav 28ad34e31e CLOUDSTACK-7038: Add mysql client dependency for mgmt server, rpms and debs
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
(cherry picked from commit 6a26e77514)
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2014-08-20 12:17:34 +02:00
Wido den Hollander 097b2d711f debian: Do not depend on tomcat for building
No need for Tomcat when building the packages
2014-08-19 00:00:15 +02:00
Wido den Hollander aac8b91cbe debian: Depend on qemu-system-x86 or qemu-kvm
The qemu-kvm package has become deprecated in Ubuntu 14.04 and
the right package to install would be qemu-system-x86

To maintain backwards compatibility for older Ubuntu LTS releases
we depend on qemu-system-x86 or qemu-kvm
2014-08-15 16:13:49 +02:00
Rohit Yadav 47625af7c3 CLOUDSTACK-6360: Fix JDK paths in ubuntu packaging init scripts, don't use 1.6
Since we've agreed to use JDK/JRE 1.7, this enforces that for Ubuntu builds
- this fix remove usage of 1.6 paths in JDK_DIR for cloud-{agent, management, usage}.
- adds oracle jdk 1.7 path (in case a user is using that)
- adds mysql-connector-java path to CLASSPATH for usage server
- adds libmysql-java pkg dependency (tested and available for precise and trusty)

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

Conflicts:
	packaging/debian/init/cloud-usage
Adds pessimistic logic to try the hard coded paths if Rajani's logic fails
2014-08-08 14:26:47 +02:00
Wido den Hollander 3d497f620b debian: Do not restart libvirt after agent upgrade.
This causes NFS storage pools to be lost and that can cause
problems in certain situations.
2014-03-26 16:50:54 +01:00
Wido den Hollander b141641528 debian: cloudstack-management requires libmysql-java for SQL connection 2014-03-25 21:13:15 +01:00
Marcus Sorensen d638d04cbf CLOUDSTACK-6181: Merge of resize root feature (resize-root branch) 2014-03-14 07:17:33 -06:00
Hugo Trippaers 4402685e11 Update master to 4.5.0-SNAPSHOT 2014-03-14 14:55:26 +01:00
Wido den Hollander 49a29ce0cf Switch to Java 7
We now require at least Java 7 to build and run CloudStack.

Both the DEB and RPM packaging now also require Java 7 during installation
of the packages.
2014-01-27 11:54:43 +01:00
Hugo Trippaers b689e615c5 Bump the debian package version to 4.4.0-snapshot 2013-11-21 21:03:16 +01:00
Wei Zhou eb4c52ebca Remove cloudmanagementserver.keystore from installation
(cherry picked from commit 3855922378)
2013-11-11 18:11:06 +01:00
Wei Zhou 57ba367f3c CLOUDSTACK-5042: change cloud.keystore to cloudmanagementserver.keystore and install it (cherry picked from commit de448ec479) 2013-11-08 09:00:29 +01:00
Wei Zhou 7cdd2ef6ba add iptables/ethtool requirement on Agent in debian/control 2013-10-24 11:33:49 +02:00
Darren Shepherd 8f25ea8c0f Removing spring context files from debian build 2013-10-23 19:41:29 -07:00
Hugo Trippaers ff336c3e9c Fix typo 2013-10-05 01:12:16 +02:00
Hugo Trippaers 2b47611c5d Fix for -SNAPSHOT problem in debian rules. Use -snapshot in the changelog to force the packaging to use the -SNAPSHOT extension for maven targets 2013-10-04 18:12:57 +02:00
Wido den Hollander e6fd794ca0 packaging: Do not depend on JNA and don't include it in the classpath
It's now packaged with maven due to libvirt 0.5.1 and will be included
in the classpath automatically.
2013-09-29 12:22:46 +02:00
Wei Zhou a6bfd96021 add missing cloudstack-agent-upgrade in cloudstack-agent debian packages 2013-09-27 10:31:54 +02:00
Wei Zhou 522860c03d fix silly typo 2013-09-26 22:47:23 +02:00
ynojima daec10e37a fix rpm/deb build error caused by moving systemvm to its own maven project 2013-09-24 10:51:01 -04:00
Wei Zhou 164e3e33b4 CLOUDSTACK-4405: change rpm and debian packaging to support automatic update (KVM upgrade)
Including following steps:
b. Run "cloudstack-agent-upgrade". This script will upgrade all the existing bridge name to new bridge name, and update related firewall rules.
c. install a libvirt hook:
    c1. mkdir /etc/libvirt/hooks
    c2. cp /usr/share/cloudstack-agent/lib/libvirtqemuhook /etc/libvirt/hooks/qemu
    c3. chmod +x /etc/libvirt/hooks/qemu
    c4. service libvirtd restart
(cherry picked from commit a0988780ad)

Signed-off-by: Wei Zhou <w.zhou@leaseweb.com>
2013-09-24 09:55:35 +02:00
Wei Zhou ff5ac2676e CLOUDSTACK-4533: fix two usage issues (db.properties and log4j-cloud.xml)
(1) Replacing db.properties with management server db.properties
(2) Rename log4j-cloud_usage.xml to log4j-cloud.xml
(cherry picked from commit fb97e8e617)
2013-09-06 08:06:39 +02:00
Wido den Hollander 97da9e70f5 debian: Remove .snapshot from version number to fix package build 2013-08-02 13:22:33 +02:00
Chip Childers 61cba68083 Updaging deb changelog 2013-08-01 10:37:47 -04:00
Rene Diepstraten 211b180d55 Replaced virsh() by python-libvirt functions
Signed-off-by: Rene Diepstraten <rene@renediepstraten.nl>
2013-07-25 18:10:58 +02:00
Wido den Hollander 6758d727a4 debian: Package server.xml and tomcat6.conf
This are symlinks to server-nonssl.xml and tomcat6-nonssl.conf, but
they are required for starting the management server.

Commit 2db7a4559e broke this.
2013-05-27 09:05:04 +02:00
Hiroaki KAWAI f854f5df87 fix debian packaging
nfs-common is required for a basic NFS installation both in
management server and agent.

Signed-off-by: Hiroaki KAWAI <kawai@stratosphere.co.jp>
2013-05-27 14:54:07 +09:00
Wido den Hollander 2db7a4559e debian: Only package specified configuration files for management
Otherwise we will have duplicate / conflicting files with the AWSAPI package
2013-05-26 12:00:52 +02:00
Hiroaki KAWAI dc822a83d7 fix debian packaging
*.in files must be processed by ReplaceTokens fliter.

Signed-off-by: Hiroaki KAWAI <kawai@stratosphere.co.jp>
2013-05-26 00:45:37 +09:00
Wido den Hollander 2336d478be debian: When building packages run a Maven clean first 2013-05-23 23:19:03 +02:00
Wido den Hollander 37308ebff4 debian: Create the webapps7080 directory 2013-05-21 14:36:03 +02:00
Wido den Hollander 730e6571f6 debian: Packaging fixes for AWSAPI 2013-05-21 13:20:44 +02:00
Wido den Hollander b5bb9f251c debian: Change the version in the changelog 2013-05-14 15:56:36 +02:00
Chip Childers 207c288958 CLOUDSTACK-2218: Remove applicationContext.xml from the awsapi
installation logic for DEB

Signed-off-by: Chip Childers <chip.childers@gmail.com>

Conflicts:

	debian/rules
2013-05-13 16:29:50 +01:00