Jeremy Stanley 89a92bfb3d 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
2013-06-26 13:59:57 +00:00

62 lines
1.4 KiB
Plaintext

<% if operatingsystem == "Fedora" then %>
# Fedora 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.
<% else %>
memory.memsw.limit_in_bytes = <%= (memorytotalbytes.to_f * 0.9).to_i %>;
<% end %>
}
}