135 Commits

Author SHA1 Message Date
Will Stevens
e3b38bbd4f Merge release branch 4.8 to master
* 4.8:
  Add perl-modules as install dependency for cloudstack-agent
2016-05-13 17:07:26 -04:00
Will Stevens
7a0b37a29a Merge pull request #1495 from greenqloud/pr-install-perl-modules-on-agent
Add perl-modules as install dependency for cloudstack-agentRequired to run perl scripts that configure networking for VMs.

* pr/1495:
  Add perl-modules as install dependency for cloudstack-agent

Signed-off-by: Will Stevens <williamstevens@gmail.com>
2016-05-13 17:05:55 -04:00
Rohit Yadav
07564469e9 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-12 11:05:40 +05:30
Rohit Yadav
4347776ac6 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

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2016-05-11 09:45:19 +05:30
Wido den Hollander
92e3ba2053 CLOUDSTACK-8818: Use MySQL native connector with Python
MySQLdb has been deprecated and is also not supported in Python 3.

mysql.connector is a connector written in Python which talks the
native MySQL protocol without any external code.

https://dev.mysql.com/doc/connector-python/en/
2016-05-04 23:28:52 +02:00
Sverrir Berg
64b72a5c5a Add perl-modules as install dependency for cloudstack-agent
Required to run perl scripts that configure networking for VMs.
That script fails silently if this is not installed.
2016-04-15 13:09:45 +00:00
Sverrir Berg
c40a1ae0ed Installing bzip2 since it is required for extracting templates. 2016-04-14 14:16:05 +00:00
Boris Schrijver
e5040b5cbd CLOUDSTACK-9040: Use Tomcat6 for Debian packages. 2015-11-05 20:16:11 +01:00
Wido den Hollander
ae5025aca8 debian: Updated dependencies for Packages
A few dependencies have been updated to their latest version and some
have been removed.

The ordering for some dependencies has been changed so that we will
depend on Java 8 over Java 7 when doing a new install.
2015-09-07 16:45:34 +02:00
Wido den Hollander
6d92abcb76 CLOUDSTACK-8635: Depend on the headless JRE for Ubuntu packages
This will install less packages on the system running CloudStack.

The -headless JRE doesn't include packages for running on desktops

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

This closes #588
2015-07-15 18:12:25 +05:30
Rene Moser
7451f13f91 debian: allow tomcat7 as optional dependency
This closes #247

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-05-13 15:40:52 +02:00
Rohit Yadav
58999daafe CLOUDSTACK-8433: remove awsapi rpm and debian packaging
- Removes awsapi packaging rules for debian, centos63, centos7, fedora 20/21
- Removes catalina port 7080 service configs
- Fixes build replace properties for AWSAPILOG
- Removes maven profile for building awsapi and deploying db in developer profile

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-05-06 15:22:04 +02:00
Rohit Yadav
464af9cb29 debian: allow openjdk1.8 as optional dependency
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-05-06 02:19:04 +02:00
Felix Geyer
705af84141 Remove dependencies on essential packages.
They are guaranteed to be present on Debian systems.

Signed-off-by: Wido den Hollander <wido@widodh.nl>
2015-03-05 14:39:54 +01:00
Felix Geyer
b482766c61 Add dependency on ${misc:Depends} to all packages.
Signed-off-by: Wido den Hollander <wido@widodh.nl>
2015-03-05 14:39:54 +01:00
Felix Geyer
05f865ffd5 Add adduser dependency to cloudstack-management.
Used in the postinst script.

Signed-off-by: Wido den Hollander <wido@widodh.nl>
2015-03-05 14:39:54 +01:00
Felix Geyer
b338e88e40 Add proper python dependencies.
Signed-off-by: Wido den Hollander <wido@widodh.nl>
2015-03-05 14:39:54 +01:00
Felix Geyer
f1301a2c5d Swap maven3 | maven build-dependency.
maven3 is not a package in Debian and buildds look only at the
first alternative.

Signed-off-by: Wido den Hollander <wido@widodh.nl>
2015-03-05 14:35:52 +01: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 6a26e77514b955e5c9cbb00e51183ec74d3887a3)
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 96d6a2a03734ebbb9f41196d56c409d544a268ea)

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
b141641528 debian: cloudstack-management requires libmysql-java for SQL connection 2014-03-25 21:13:15 +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
Wei Zhou
7cdd2ef6ba add iptables/ethtool requirement on Agent in debian/control 2013-10-24 11:33:49 +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
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
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
df48b6531d CLOUDSTACK-1589: Don't depend on chkconfig
Although this package is semi-available under Ubuntu/Debian we don't use it.

It's not used by the packages, so no reason to depend on it.
2013-04-04 21:10:33 +02:00
Pradeep Soundararajan
6eac422943 CLOUDSTACK-1689: Adding ipset as part of agent install for debian
Signed-off-by: Chip Childers <chip.childers@gmail.com>
2013-04-01 15:33:23 +01:00
Marcus Sorensen
9ad54a082c Summary: KVM - use virtio socket to communicate config to system vms
Detail: This gets rid of the patchdisk method of passing cmdline and
authorized_keys to KVM system VMs. It instead passes them to a virtio socket,
which the KVM guest reads from the character device /dev/vport0p1 during
cloud-early-config. Tested to work on CentOS 6.3 and Ubuntu 12.04. Should
work with even older versions of libvirt.

Signed-off-by: Marcus Sorensen <marcus@betterservers.com> 1362691685 -0700
2013-03-07 14:28:05 -07:00
Wido den Hollander
e14e057f3d packaging: Use the JNA version from the distribution
Libvirt-java 0.4.9 works just fine with JNA 3.2.4 which is in
all distributions.

Future libvirt version require at least JNA 3.5.1 due to new methods
and memory management, but that is not our concern now.

By depending on the JNA in the distribution and adding it to the classpath
we can work just fine.
2013-03-05 16:10:38 +01:00
Wido den Hollander
20070ee07f debian: Packaging update for mainly the Agent
The new cloudstack-agent package wouldn't boot due to various issues.

Those all seem to be resolved.

Other changes include path changes like /etc/cloud -> /etc/cloudstack

The new package now installs, but the upgrade hasn't been tested yet.
2013-03-01 15:06:07 +01:00
Wido den Hollander
ca6c1eba9c debian: Require either Java 6 or 7
Our source is 1.6 compatible (pom.xml), but users can choose to compile
with JDK7 and run with JRE 7 if they want.
2013-02-28 13:48:14 +01:00
Noa Resare
2f135be15f CLOUDSTACK-1415: Debian & Ubuntu packaging work
Some concepts included:

* the replace.properties location used by maven is parameterized to allow
  for a build that does not modify the currently git tracked files
* package naming is updated along the lines of what was discussed on the
  -dev mailing list and between committers at the Build a Cloud Day in Belgi
* package version pattern is updated (since we redo all package names,
  we might as well drop the epoch)
2013-02-27 15:44:46 +00:00
Noa Resare
fe9df2186b Have cloud-setup-* tools detect Debian
To minimize this change, treat Debian as Ubuntu for now.

Reviewed-by: Wido (https://reviews.apache.org/r/9310)
2013-02-25 12:32:25 +05:30
Wido den Hollander
4da02c0971 deb: Have the agent depend on the System ISO
This is needed for deploying System VMs on a KVM hypervisor

Without this ISO we can't deploy this System VMs
2012-11-05 10:28:13 +01:00
Wido den Hollander
e9f5c011bf debian: Don't have cloud-agent depend on libservlet2.5-java 2012-09-26 23:29:47 +02:00
Wido den Hollander
8f122a5452 debian: Fix dependencies around libcommons*java
Packages like cloud-agent were depending on various libcommons* packages
which are only used in the server and utils.

Correct the dependency for this
2012-09-26 23:29:47 +02:00
Wido den Hollander
95ad56e2da debian: Do not have cloud-agent depend on libcommons-httpclient
Already done by cloud-agent-libs
2012-09-26 23:29:47 +02:00
Wido den Hollander
768e81cd04 debian: Do not have cloud-agent depend on python
It depends on cloud-python and that depends on python already
2012-09-26 23:29:47 +02:00
Wido den Hollander
ef48250bd9 debian: Have cloud-server depend on cloud-scripts 2012-09-26 19:46:50 +02:00
Wido den Hollander
465e0466c3 debian: Remove Google GSON from cloud-agent-deps and depend on cloud-deps
Both the Agent and Server require Google GSON. This is not available from
the Ubuntu repositories, so we have to package it ourselfs.

Due to the fact that people might choose to run the Hypervisor on the same
host as the management server we can't have cloud-agent-deps conflict with cloud-deps

cloud-agent-deps now depends on cloud-deps so the hypervisor has Google GSON 1.7.1

This results in a number of extra JAR files to be installed on the hypervisor.
2012-09-14 15:03:17 +02:00
Wido den Hollander
7eaf537d95 Rename cloud-agent-scripts to cloud-scripts
The management server also depends on a couple of these scripts, so renaming
to cloud-scripts makes more sence then installing cloud-agent-scripts.

In the future we might want to split this up in two packages.
2012-09-13 16:29:01 +02:00
Wido den Hollander
e426ba25ed debian: Remove vmops-* package references
In CS 3.X the name vmops wasn't used for packages, so it's safe to remove this now.
2012-09-13 16:29:01 +02:00
Wido den Hollander
ababd0cbdc debian: Depend on either maven3 or maven with version 3 or higher. 2012-09-13 09:38:27 +02:00
Edison Su
17b2af2a90 on ubuntu, in order to build debs, need to add add-apt-repository ppa:natecarlson/maven3, then install maven3 2012-09-12 15:27:51 -07:00
Wido den Hollander
93126414bc debian: Get backport-util-concurrent from the Debian repositories 2012-09-11 14:03:38 +02:00
Wido den Hollander
e7ff6ecd77 debian: Depend on jsch from the repository
This way we don't need to distribute the JAR in cloud-deps
2012-09-11 13:31:50 +02:00
Wido den Hollander
a84ec1218d debian: Install cglib through the package manager
cglib 2.2.2 is available in Ubuntu and Debian from the repositories, no need
to ship it in the cloud-deps package.

It's also not used by cloud-agent, but by cloud-utils, so place the dependency there.
2012-09-11 13:24:26 +02:00