Restore cgroup-bin Upstart jobs on Ubuntu Quantal.
* modules/jenkins/files/cgroups/upstart_cgconfig: Very trivial Upstart job to load /etc/cgconfig.conf once cgroup-lite has started. * modules/jenkins/files/cgroups/upstart_cgred: Very trivial Upstart job to start cgred once cgconfig has been loaded. * modules/jenkins/manifests/cgroups.pp: Conditionally add Upstart jobs cgconfig and cgred if Ubuntu >= 12.10. They used to exist, but were dropped in the process of refactoring cgroup support after Precise. * modules/jenkins/manifests/params.pp: Add parameter lists for the cgconfig and cgred dependencies since they differ between RHEL and Ubuntu. * modules/jenkins/templates/cgconfig.erb: Conditionally omit the default cgroup mounts section on Ubuntu Quantal or later. Change-Id: I16e2996387d534928a3cfa90de9159fbe02bbdd2 Reviewed-on: https://review.openstack.org/20638 Reviewed-by: Clark Boylan <clark.boylan@gmail.com> Reviewed-by: James E. Blair <corvus@inaugust.com> Approved: Jeremy Stanley <fungi@yuggoth.org> Reviewed-by: Jeremy Stanley <fungi@yuggoth.org> Tested-by: Jenkins
This commit is contained in:
parent
58e0638bb2
commit
4a19b54683
6
modules/jenkins/files/cgroups/upstart_cgconfig
Normal file
6
modules/jenkins/files/cgroups/upstart_cgconfig
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
description "load legacy cgconfig files"
|
||||||
|
author "Jeremy Stanley <fungi@yuggoth.org>"
|
||||||
|
start on started cgroup-lite
|
||||||
|
pre-start script
|
||||||
|
/usr/sbin/cgconfigparser -l /etc/cgconfig.conf
|
||||||
|
end script
|
6
modules/jenkins/files/cgroups/upstart_cgred
Normal file
6
modules/jenkins/files/cgroups/upstart_cgred
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
description "launch cgrulesengd"
|
||||||
|
author "Jeremy Stanley <fungi@yuggoth.org>"
|
||||||
|
start on started cgconfig
|
||||||
|
pre-start script
|
||||||
|
/usr/sbin/cgrulesengd
|
||||||
|
end script
|
@ -27,17 +27,64 @@ class jenkins::cgroups {
|
|||||||
source => 'puppet:///modules/jenkins/cgroups/cgrules.conf',
|
source => 'puppet:///modules/jenkins/cgroups/cgrules.conf',
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# Starting with Ubuntu Quantal (12.10) cgroup-bin dropped its upstart jobs.
|
||||||
|
if $::operatingsystem == 'Ubuntu' {
|
||||||
|
|
||||||
|
if $::operatingsystemrelease >= '12.10' {
|
||||||
|
|
||||||
|
file { '/etc/init/cgconfig.conf':
|
||||||
|
ensure => present,
|
||||||
|
replace => true,
|
||||||
|
owner => 'root',
|
||||||
|
group => 'root',
|
||||||
|
mode => '0644',
|
||||||
|
source => 'puppet:///modules/jenkins/cgroups/upstart_cgconfig',
|
||||||
|
}
|
||||||
|
|
||||||
|
file { '/etc/init.d/cgconfig':
|
||||||
|
ensure => link,
|
||||||
|
target => '/lib/init/upstart-job',
|
||||||
|
}
|
||||||
|
|
||||||
|
file { '/etc/init/cgred.conf':
|
||||||
|
ensure => present,
|
||||||
|
replace => true,
|
||||||
|
owner => 'root',
|
||||||
|
group => 'root',
|
||||||
|
mode => '0644',
|
||||||
|
source => 'puppet:///modules/jenkins/cgroups/upstart_cgred',
|
||||||
|
}
|
||||||
|
|
||||||
|
file { '/etc/init.d/cgred':
|
||||||
|
ensure => link,
|
||||||
|
target => '/lib/init/upstart-job',
|
||||||
|
}
|
||||||
|
|
||||||
|
} else {
|
||||||
|
|
||||||
|
file { '/etc/init/cgconfig.conf':
|
||||||
|
ensure => present,
|
||||||
|
}
|
||||||
|
|
||||||
|
file { '/etc/init/cgred.conf':
|
||||||
|
ensure => present,
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
service { 'cgconfig':
|
service { 'cgconfig':
|
||||||
ensure => running,
|
ensure => running,
|
||||||
enable => true,
|
enable => true,
|
||||||
require => Package['cgroups'],
|
require => $::jenkins::params::cgconfig_require,
|
||||||
subscribe => File['/etc/cgconfig.conf'],
|
subscribe => File['/etc/cgconfig.conf'],
|
||||||
}
|
}
|
||||||
|
|
||||||
service { 'cgred':
|
service { 'cgred':
|
||||||
ensure => running,
|
ensure => running,
|
||||||
enable => true,
|
enable => true,
|
||||||
require => Package['cgroups'],
|
require => $::jenkins::params::cgred_require,
|
||||||
subscribe => File['/etc/cgrules.conf'],
|
subscribe => File['/etc/cgrules.conf'],
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -44,6 +44,8 @@ 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']
|
||||||
|
$cgred_require = Package['cgroups']
|
||||||
}
|
}
|
||||||
'Debian', 'Ubuntu': {
|
'Debian', 'Ubuntu': {
|
||||||
# common packages
|
# common packages
|
||||||
@ -82,6 +84,14 @@ class jenkins::params {
|
|||||||
$xslt_package = 'xsltproc'
|
$xslt_package = 'xsltproc'
|
||||||
$xvfb_package = 'xvfb'
|
$xvfb_package = 'xvfb'
|
||||||
$cgroups_package = 'cgroup-bin'
|
$cgroups_package = 'cgroup-bin'
|
||||||
|
$cgconfig_require = [
|
||||||
|
Package['cgroups'],
|
||||||
|
File['/etc/init/cgconfig.conf'],
|
||||||
|
]
|
||||||
|
$cgred_require = [
|
||||||
|
Package['cgroups'],
|
||||||
|
File['/etc/init/cgred.conf'],
|
||||||
|
]
|
||||||
}
|
}
|
||||||
default: {
|
default: {
|
||||||
fail("Unsupported osfamily: ${::osfamily} The 'jenkins' module only supports osfamily Ubuntu or Redhat(slaves only).")
|
fail("Unsupported osfamily: ${::osfamily} The 'jenkins' module only supports osfamily Ubuntu or Redhat(slaves only).")
|
||||||
|
@ -11,7 +11,7 @@ mount {
|
|||||||
blkio = /cgroup/blkio;
|
blkio = /cgroup/blkio;
|
||||||
}
|
}
|
||||||
|
|
||||||
<% else %>
|
<% elsif ( operatingsystemrelease < '12.10' ) or ( operatingsystem != 'Ubuntu' ) then %>
|
||||||
mount {
|
mount {
|
||||||
cpu = /sys/fs/cgroup/cpu;
|
cpu = /sys/fs/cgroup/cpu;
|
||||||
cpuacct = /sys/fs/cgroup/cpuacct;
|
cpuacct = /sys/fs/cgroup/cpuacct;
|
||||||
|
Loading…
Reference in New Issue
Block a user