diff --git a/modules/jenkins/manifests/cgroups.pp b/modules/jenkins/manifests/cgroups.pp index 732640049d..91b936d0cb 100644 --- a/modules/jenkins/manifests/cgroups.pp +++ b/modules/jenkins/manifests/cgroups.pp @@ -2,8 +2,11 @@ # class jenkins::cgroups { - package { 'cgroup-bin': + include jenkins::params + + package { 'cgroups': ensure => present, + name => $::jenkins::params::cgroups_package, } file { '/etc/cgconfig.conf': @@ -27,14 +30,14 @@ class jenkins::cgroups { service { 'cgconfig': ensure => running, enable => true, - require => Package['cgroup-bin'], + require => Package['cgroups'], subscribe => File['/etc/cgconfig.conf'], } service { 'cgred': ensure => running, enable => true, - require => Package['cgroup-bin'], + require => Package['cgroups'], subscribe => File['/etc/cgrules.conf'], } } diff --git a/modules/jenkins/manifests/params.pp b/modules/jenkins/manifests/params.pp index 3d684d819c..8e881af889 100644 --- a/modules/jenkins/manifests/params.pp +++ b/modules/jenkins/manifests/params.pp @@ -42,6 +42,7 @@ class jenkins::params { $unzip_package = 'unzip' $xslt_package = 'libxslt' $xvfb_package = 'xorg-x11-server-Xvfb' + $cgroups_package = 'libcgroup' } 'Debian', 'Ubuntu': { # common packages @@ -78,6 +79,7 @@ class jenkins::params { $unzip_package = 'unzip' $xslt_package = 'xsltproc' $xvfb_package = 'xvfb' + $cgroups_package = 'cgroup-bin' } default: { fail("Unsupported osfamily: ${::osfamily} The 'jenkins' module only supports osfamily Ubuntu or Redhat(slaves only).") diff --git a/modules/jenkins/templates/cgconfig.erb b/modules/jenkins/templates/cgconfig.erb index d947b51b06..6236ca8fb5 100644 --- a/modules/jenkins/templates/cgconfig.erb +++ b/modules/jenkins/templates/cgconfig.erb @@ -1,3 +1,17 @@ +<% if osfamily == "RedHat" then %> + +mount { + cpuset = /cgroup/cpuset; + cpu = /cgroup/cpu; + cpuacct = /cgroup/cpuacct; + memory = /cgroup/memory; + devices = /cgroup/devices; + freezer = /cgroup/freezer; + net_cls = /cgroup/net_cls; + blkio = /cgroup/blkio; +} + +<% else %> mount { cpu = /sys/fs/cgroup/cpu; cpuacct = /sys/fs/cgroup/cpuacct; @@ -5,6 +19,7 @@ mount { memory = /sys/fs/cgroup/memory; freezer = /sys/fs/cgroup/freezer; } +<% end %> group jenkins { perm {