puppet-jenkins/templates/cgconfig.erb

69 lines
2.3 KiB
Plaintext

<% if @operatingsystem == "Fedora" then
# Fedora auto-mounts subsystems under /sys/fs/cgroup/ already, so no
# mount section is needed. %>
<% elsif @operatingsystem == "Suse" then
# SUSE auto-mounts subsystems under /sys/fs/cgroup/ already, so no
# mount section is needed. %>
<% elsif @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;
}
<% elsif ( @operatingsystemrelease < '12.10' ) or ( @operatingsystem != 'Ubuntu' ) then %>
mount {
cpu = /sys/fs/cgroup/cpu;
cpuacct = /sys/fs/cgroup/cpuacct;
devices = /sys/fs/cgroup/devices;
memory = /sys/fs/cgroup/memory;
freezer = /sys/fs/cgroup/freezer;
}
<% end %>
group jenkins {
perm {
task {
uid = jenkins;
gid = jenkins;
}
admin {
uid = root;
gid = root;
}
}
}
group jenkins/children {
perm {
task {
uid = jenkins;
gid = jenkins;
}
admin {
uid = root;
gid = root;
}
}
memory {
memory.soft_limit_in_bytes = <%= (@memorytotalbytes.to_f * 0.75).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. %>
<% elsif (@operatingsystem == "Ubuntu") and (@lsbdistrelease == "14.04") then %>
# memory.memsw.limit_in_bytes is not supported on Trusty, setting this
# raises a 'setting not supported by kernel error'. Checked with upstream,
# they confirmed lack of support in several kernels, so we should skip it.
<% else %>
memory.memsw.limit_in_bytes = <%= (@memorytotalbytes.to_f * 0.9).to_i %>;
<% end %>
}
}