Remove limits for redis in /etc/security/limits.d

Now that puppet-redis supports ulimit for cluster managed redis (via
https://github.com/arioch/puppet-redis/pull/192), we need to remove the
file snippet as otherwise we will get a duplicate resource error.

We will need to create a THT change that at the very least sets the
redis::managed_by_cluster_manager key to true so that
/etc/security/limits.d/redis.conf gets created.
We also add code to not break backwards compatibility with the old hiera
key.

Change-Id: I4ffccfe3e3ba862d445476c14c8f2cb267fa108d
Partial-Bug: #1688464
This commit is contained in:
Michele Baldessari 2017-05-05 12:29:39 +02:00
parent 5e45513f39
commit 926ec0151b
2 changed files with 21 additions and 15 deletions

View File

@ -32,9 +32,12 @@
# Defaults to hiera('step') # Defaults to hiera('step')
# #
# [*redis_file_limit*] # [*redis_file_limit*]
# (Optional) The file limit to put in /etc/security/limits.d/redis.conf # (Deprecated) 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') # for when redis is managed by pacemaker. Defaults to hiera('redis_file_limit')
# or 10240 (default in redis systemd limits) # or 10240 (default in redis systemd limits). Note this option is deprecated
# since puppet-redis grew support for ulimits in cluster configurations.
# https://github.com/arioch/puppet-redis/pull/192. Set redis::ulimit via hiera
# to control this limit.
# #
# [*pcs_tries*] # [*pcs_tries*]
# (Optional) The number of times pcs commands should be retried. # (Optional) The number of times pcs commands should be retried.
@ -44,7 +47,7 @@ class tripleo::profile::pacemaker::database::redis (
$bootstrap_node = hiera('redis_short_bootstrap_node_name'), $bootstrap_node = hiera('redis_short_bootstrap_node_name'),
$enable_load_balancer = hiera('enable_load_balancer', true), $enable_load_balancer = hiera('enable_load_balancer', true),
$step = hiera('step'), $step = hiera('step'),
$redis_file_limit = hiera('redis_file_limit', 10240), $redis_file_limit = undef,
$pcs_tries = hiera('pcs_tries', 20), $pcs_tries = hiera('pcs_tries', 20),
) { ) {
if $::hostname == downcase($bootstrap_node) { if $::hostname == downcase($bootstrap_node) {
@ -54,19 +57,17 @@ class tripleo::profile::pacemaker::database::redis (
} }
if $step >= 1 { if $step >= 1 {
include ::redis # If the old hiera key exists we use that to set the ulimit in order not to break
# Until puppet-redis grows support for /etc/security/limits.conf/redis.conf # operators which set it. We might remove this in a later release (post pike anyway)
# https://github.com/arioch/puppet-redis/issues/130 $old_redis_file_limit = hiera('redis_file_limit', undef)
# we best explicitely set the file limit only in the pacemaker profile if $old_redis_file_limit != undef {
# (the base profile does not need it as it is using systemd which has warning('redis_file_limit parameter is deprecated, use redis::ulimit in hiera.')
# the limits set there) class { '::redis':
file { '/etc/security/limits.d/redis.conf': ulimit => $old_redis_file_limit,
content => inline_template("redis soft nofile <%= @redis_file_limit %>\nredis hard nofile <%= @redis_file_limit %>\n"), }
owner => '0', } else {
group => '0', include ::redis
mode => '0644',
} }
if $pacemaker_master and hiera('stack_action') == 'UPDATE' { if $pacemaker_master and hiera('stack_action') == 'UPDATE' {
tripleo::pacemaker::resource_restart_flag { 'redis-master': tripleo::pacemaker::resource_restart_flag { 'redis-master':
# ouch, but trying to stay close how notification works in # ouch, but trying to stay close how notification works in

View File

@ -0,0 +1,5 @@
---
deprecations:
- |
The redis_file_limit hiera parameter is now deprecated. Use the
redis::ulimit parameter instead.