diff options
author | Michele Baldessari <michele@acksyn.org> | 2016-10-21 10:02:39 +0200 |
---|---|---|
committer | Michele Baldessari <michele@acksyn.org> | 2016-10-25 15:46:10 +0200 |
commit | 03a68a5c8cdbabcf6e152b9aca62f1007c713b5c (patch) | |
tree | a9df9eb63bde3832daffb104a6c568a3a68473c5 /manifests/profile | |
parent | 0b9c8fb56ae508aafca7219bfaff6e75afdfa9c2 (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')
-rw-r--r-- | manifests/profile/pacemaker/database/redis.pp | 17 |
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': |