aboutsummaryrefslogtreecommitdiffstats
path: root/manifests/profile/pacemaker
diff options
context:
space:
mode:
authorMichele Baldessari <michele@acksyn.org>2016-10-21 10:02:39 +0200
committerMichele Baldessari <michele@acksyn.org>2016-10-25 15:46:10 +0200
commit03a68a5c8cdbabcf6e152b9aca62f1007c713b5c (patch)
treea9df9eb63bde3832daffb104a6c568a3a68473c5 /manifests/profile/pacemaker
parent0b9c8fb56ae508aafca7219bfaff6e75afdfa9c2 (diff)
Set redis file descriptor limit when run via pacemaker
The current redis file descriptor limit is 4096 because of two reasons: - It is run via the redis user - It is not started via systemd which has explicit LimitNOFILE set to 10240 (which matches the default configuration of maximum 10000 clients) Create an /etc/security/limits.d/redis.conf file in order to increase the fd limit value With this change we correctly get the following limits: [root@overcloud-controller-0 ~]# pcs status |grep -A2 redis Master/Slave Set: redis-master [redis] Masters: [ overcloud-controller-2 ] Slaves: [ overcloud-controller-0 overcloud-controller-1 ] [root@overcloud-controller-0 ~]# cat /proc/`pgrep redis`/limits | grep open Max open files 10240 10240 files Previously this limit was set to 4096. Change-Id: I7691581bad92ad9442cecd82cf44f5ac78ed169f Closes-Bug: #1635334
Diffstat (limited to 'manifests/profile/pacemaker')
-rw-r--r--manifests/profile/pacemaker/database/redis.pp17
1 files changed, 17 insertions, 0 deletions
diff --git a/manifests/profile/pacemaker/database/redis.pp b/manifests/profile/pacemaker/database/redis.pp
index 261df30..37c36aa 100644
--- a/manifests/profile/pacemaker/database/redis.pp
+++ b/manifests/profile/pacemaker/database/redis.pp
@@ -31,10 +31,16 @@
# for more details.
# Defaults to hiera('step')
#
+# [*redis_file_limit*]
+# (Optional) The file limit to put in /etc/security/limits.d/redis.conf
+# for when redis is managed by pacemaker. Defaults to hiera('redis_file_limit')
+# or 10240 (default in redis systemd limits)
+#
class tripleo::profile::pacemaker::database::redis (
$bootstrap_node = hiera('bootstrap_nodeid'),
$enable_load_balancer = hiera('enable_load_balancer', true),
$step = hiera('step'),
+ $redis_file_limit = hiera('redis_file_limit', 10240),
) {
if $::hostname == downcase($bootstrap_node) {
$pacemaker_master = true
@@ -44,6 +50,17 @@ class tripleo::profile::pacemaker::database::redis (
if $step >= 1 {
include ::redis
+ # Until puppet-redis grows support for /etc/security/limits.conf/redis.conf
+ # https://github.com/arioch/puppet-redis/issues/130
+ # we best explicitely set the file limit only in the pacemaker profile
+ # (the base profile does not need it as it is using systemd which has
+ # the limits set there)
+ file { '/etc/security/limits.d/redis.conf':
+ content => inline_template("redis soft nofile <%= @redis_file_limit %>\nredis hard nofile <%= @redis_file_limit %>\n"),
+ owner => '0',
+ group => '0',
+ mode => '0644',
+ }
if $pacemaker_master and hiera('stack_action') == 'UPDATE' {
tripleo::pacemaker::resource_restart_flag { 'redis-master':