Fedora cgroups support.
* modules/jenkins/manifests/cgroups.pp * modules/jenkins/manifests/params.pp: Fedora separates the cgroups management utilities into an additional package. * modules/jenkins/templates/cgconfig.erb: Fedora already automounts cgroups subsystems. Also, because of Red Hat bug 918951, swap management doesn't work in Fedora 18. Change-Id: I2366261d64c11fdc8e65a39481e8db9d589ca2de Reviewed-on: https://review.openstack.org/34083 Reviewed-by: Clark Boylan <clark.boylan@gmail.com> Reviewed-by: James E. Blair <corvus@inaugust.com> Approved: James E. Blair <corvus@inaugust.com> Tested-by: Jenkins
This commit is contained in:
parent
f82f2fd6ac
commit
89a92bfb3d
@ -4,6 +4,12 @@ class jenkins::cgroups {
|
|||||||
|
|
||||||
include jenkins::params
|
include jenkins::params
|
||||||
|
|
||||||
|
if ($::jenkins::params::cgroups_tools_package != '') {
|
||||||
|
package { 'cgroups-tools':
|
||||||
|
ensure => present,
|
||||||
|
name => $::jenkins::params::cgroups_tools_package,
|
||||||
|
}
|
||||||
|
}
|
||||||
package { 'cgroups':
|
package { 'cgroups':
|
||||||
ensure => present,
|
ensure => present,
|
||||||
name => $::jenkins::params::cgroups_package,
|
name => $::jenkins::params::cgroups_package,
|
||||||
|
@ -50,8 +50,21 @@ class jenkins::params {
|
|||||||
$xslt_package = 'libxslt'
|
$xslt_package = 'libxslt'
|
||||||
$xvfb_package = 'xorg-x11-server-Xvfb'
|
$xvfb_package = 'xorg-x11-server-Xvfb'
|
||||||
$cgroups_package = 'libcgroup'
|
$cgroups_package = 'libcgroup'
|
||||||
$cgconfig_require = Package['cgroups']
|
if ($::operatingsystem == 'Fedora') {
|
||||||
$cgred_require = Package['cgroups']
|
$cgroups_tools_package = 'libcgroup-tools'
|
||||||
|
$cgconfig_require = [
|
||||||
|
Package['cgroups'],
|
||||||
|
Package['cgroups-tools'],
|
||||||
|
]
|
||||||
|
$cgred_require = [
|
||||||
|
Package['cgroups'],
|
||||||
|
Package['cgroups-tools'],
|
||||||
|
]
|
||||||
|
} else {
|
||||||
|
$cgroups_tools_package = ''
|
||||||
|
$cgconfig_require = Package['cgroups']
|
||||||
|
$cgred_require = Package['cgroups']
|
||||||
|
}
|
||||||
}
|
}
|
||||||
'Debian': {
|
'Debian': {
|
||||||
# common packages
|
# common packages
|
||||||
@ -99,6 +112,7 @@ class jenkins::params {
|
|||||||
$xslt_package = 'xsltproc'
|
$xslt_package = 'xsltproc'
|
||||||
$xvfb_package = 'xvfb'
|
$xvfb_package = 'xvfb'
|
||||||
$cgroups_package = 'cgroup-bin'
|
$cgroups_package = 'cgroup-bin'
|
||||||
|
$cgroups_tools_package = ''
|
||||||
$cgconfig_require = [
|
$cgconfig_require = [
|
||||||
Package['cgroups'],
|
Package['cgroups'],
|
||||||
File['/etc/init/cgconfig.conf'],
|
File['/etc/init/cgconfig.conf'],
|
||||||
|
@ -1,4 +1,7 @@
|
|||||||
<% if osfamily == "RedHat" then %>
|
<% if operatingsystem == "Fedora" then %>
|
||||||
|
# Fedora auto-mounts subsystems under /sys/fs/cgroup/ already, so no
|
||||||
|
# mount section is needed.
|
||||||
|
<% elsif osfamily == "RedHat" then %>
|
||||||
|
|
||||||
mount {
|
mount {
|
||||||
cpuset = /cgroup/cpuset;
|
cpuset = /cgroup/cpuset;
|
||||||
@ -48,6 +51,11 @@ group jenkins/children {
|
|||||||
memory {
|
memory {
|
||||||
memory.soft_limit_in_bytes = <%= (memorytotalbytes.to_f * 0.75).to_i %>;
|
memory.soft_limit_in_bytes = <%= (memorytotalbytes.to_f * 0.75).to_i %>;
|
||||||
memory.limit_in_bytes = <%= (memorytotalbytes.to_f * 0.9).to_i %>;
|
memory.limit_in_bytes = <%= (memorytotalbytes.to_f * 0.9).to_i %>;
|
||||||
|
<% if (operatingsystem == "Fedora") and (operatingsystemrelease == "18") then %>
|
||||||
|
# Because of Red Hat bug 918951, swap management doesn't
|
||||||
|
# work in Fedora 18 but should be fixed in 19.
|
||||||
|
<% else %>
|
||||||
memory.memsw.limit_in_bytes = <%= (memorytotalbytes.to_f * 0.9).to_i %>;
|
memory.memsw.limit_in_bytes = <%= (memorytotalbytes.to_f * 0.9).to_i %>;
|
||||||
|
<% end %>
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user