8e7f9e3458
The ::jenkins::slave class contained a lot of openstack-specific configuration rather than configuration of a generic jenkins slave. The term "bare slave" is overloaded and confusing: create simple_slave and thick_slave to differentiate between the two meanings of "bare". Some portions of ::jenkins::slave will move to simple_slave, some portions to thick_slave, and some portions to slave_common (all in the openstack_project module). Change-Id: I5281a03a7f6da3f98714bcc59ae840ace8435578
78 lines
2.6 KiB
Puppet
78 lines
2.6 KiB
Puppet
# Class: jenkins::params
|
|
#
|
|
# This class holds parameters that need to be
|
|
# accessed by other classes.
|
|
class jenkins::params {
|
|
case $::osfamily {
|
|
'RedHat': {
|
|
#yum groupinstall "Development Tools"
|
|
# common packages
|
|
$jdk_package = 'java-1.7.0-openjdk-devel'
|
|
$ccache_package = 'ccache'
|
|
$python_netaddr_package = 'python-netaddr'
|
|
$haveged_package = 'haveged'
|
|
# FIXME: No Maven packages on RHEL
|
|
#$maven_package = 'maven'
|
|
# FIXME: No php mcrypt package on RHEL, used for openstackid
|
|
#$php5_mcrypt_package = ''
|
|
# For Tooz unit tests
|
|
# FIXME: No zookeeper packages on RHEL
|
|
#$zookeeper_package = 'zookeeper-server'
|
|
$cgroups_package = 'libcgroup'
|
|
if ($::operatingsystem == 'Fedora') and ($::operatingsystemrelease >= 19) {
|
|
# From Fedora 19 and onwards there's no longer
|
|
# support to mysql-devel.
|
|
# Only community-mysql-devel. If you try to
|
|
# install mysql-devel you get a conflict with
|
|
# mariadb packages.
|
|
$mysql_dev_package = 'community-mysql-devel'
|
|
$zookeeper_package = 'zookeeper'
|
|
$mysql_package = 'community-mysql'
|
|
$cgroups_tools_package = 'libcgroup-tools'
|
|
$cgconfig_require = [
|
|
Package['cgroups'],
|
|
Package['cgroups-tools'],
|
|
]
|
|
$cgred_require = [
|
|
Package['cgroups'],
|
|
Package['cgroups-tools'],
|
|
]
|
|
} else {
|
|
$mysql_dev_package = 'mysql-devel'
|
|
$cgroups_tools_package = ''
|
|
$cgconfig_require = Package['cgroups']
|
|
$cgred_require = Package['cgroups']
|
|
}
|
|
}
|
|
'Debian': {
|
|
# common packages
|
|
$jdk_package = 'openjdk-7-jdk'
|
|
$ccache_package = 'ccache'
|
|
$python_netaddr_package = 'python-netaddr'
|
|
$haveged_package = 'haveged'
|
|
$maven_package = 'maven2'
|
|
# For tooz unit tests
|
|
$memcached_package = 'memcached'
|
|
$ruby1_9_1_package = 'ruby1.9.1'
|
|
$ruby1_9_1_dev_package = 'ruby1.9.1-dev'
|
|
$ruby_bundler_package = 'ruby-bundler'
|
|
$php5_mcrypt_package = 'php5-mcrypt'
|
|
# For [tooz, taskflow, nova] using zookeeper in unit tests
|
|
$zookeeper_package = 'zookeeperd'
|
|
$cgroups_package = 'cgroup-bin'
|
|
$cgroups_tools_package = ''
|
|
$cgconfig_require = [
|
|
Package['cgroups'],
|
|
File['/etc/init/cgconfig.conf'],
|
|
]
|
|
$cgred_require = [
|
|
Package['cgroups'],
|
|
File['/etc/init/cgred.conf'],
|
|
]
|
|
}
|
|
default: {
|
|
fail("Unsupported osfamily: ${::osfamily} The 'jenkins' module only supports osfamily Debian or RedHat (slaves only).")
|
|
}
|
|
}
|
|
}
|