Page Menu
Home
Software Heritage
Search
Configure Global Search
Log In
Files
F9123923
sentinel.pp
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Flag For Later
Size
5 KB
Subscribers
None
sentinel.pp
View Options
# = Class: redis::sentinel
#
# This class installs redis-sentinel
#
# == Parameters:
#
# [*config_file*]
# The location and name of the sentinel config file.
#
# Default for deb: /etc/redis/redis-sentinel.conf
# Default for rpm: /etc/redis-sentinel.conf
#
# [*config_file_orig*]
# The location and name of a config file that provides the source
# of the sentinel config file. Two different files are needed
# because sentinel itself writes to its own config file and we do
# not want override that when puppet is run unless there are
# changes from the manifests.
#
# Default for deb: /etc/redis/redis-sentinel.conf.puppet
# Default for rpm: /etc/redis-sentinel.conf.puppet
#
# [*config_file_mode*]
# Permissions of config file.
#
# Default: 0644
#
# [*conf_template*]
# Define which template to use.
#
# Default: redis/redis-sentinel.conf.erb
#
# [*down_after*]
# Number of milliseconds the master (or any attached slave or sentinel)
# should be unreachable (as in, not acceptable reply to PING, continuously,
# for the specified period) in order to consider it in S_DOWN state.
#
# Default: 30000
#
# [*failover_timeout*]
# Specify the failover timeout in milliseconds.
#
# Default: 180000
#
# [*init_script*]
# Specifiy the init script that will be created for sentinel.
#
# Default: undef on rpm, /etc/init.d/redis-sentinel on apt.
#
# [*log_file*]
# Specify where to write log entries.
#
# Default: /var/log/redis/redis.log
#
# [*master_name*]
# Specify the name of the master redis server.
# The valid charset is A-z 0-9 and the three characters ".-_".
#
# Default: mymaster
#
# [*redis_host*]
# Specify the bound host of the master redis server.
#
# Default: 127.0.0.1
#
# [*redis_port*]
# Specify the port of the master redis server.
#
# Default: 6379
#
# [*package_name*]
# The name of the package that installs sentinel.
#
# Default: 'redis-server' on apt, 'redis' on rpm
#
# [*package_ensure*]
# Do we ensure this package.
#
# Default: 'present'
#
# [*parallel_sync*]
# How many slaves can be reconfigured at the same time to use a
# new master after a failover.
#
# Default: 1
#
# [*pid_file*]
# If sentinel is daemonized it will write its pid at this location.
#
# Default: /var/run/redis/redis-sentinel.pid
#
# [*quorum*]
# Number of sentinels that must agree that a master is down to
# signal sdown state.
#
# Default: 2
#
# [*sentinel_port*]
# The port of sentinel server.
#
# Default: 26379
#
# [*service_group*]
# The group of the config file.
#
# Default: redis
#
# [*service_name*]
# The name of the service (for puppet to manage).
#
# Default: redis-sentinel
#
# [*service_owner*]
# The owner of the config file.
#
# Default: redis
#
# [*working_dir*]
# The directory into which sentinel will change to avoid mount
# conflicts.
#
# Default: /tmp
#
# [*notification_script*]
# Path to the notification script
#
# Default: undef
# == Actions:
# - Install and configure Redis Sentinel
#
# == Sample Usage:
#
# class { 'redis::sentinel': }
#
# class {'redis::sentinel':
# down_after => 80000,
# log_file => '/var/log/redis/sentinel.log',
# }
#
class
redis
::
sentinel
(
$config_file
=
$::redis::params::sentinel_config_file,
$config_file_orig
=
$::redis::params::sentinel_config_file_orig,
$config_file_mode
=
$::redis::params::sentinel_config_file_mode,
$conf_template
=
$::redis::params::sentinel_conf_template,
$down_after
=
$::redis::params::sentinel_down_after,
$failover_timeout
=
$::redis::params::sentinel_failover_timeout,
$init_script
=
$::redis::params::sentinel_init_script,
$init_template
=
$::redis::params::sentinel_init_template,
$log_file
=
$::redis::params::log_file,
$master_name
=
$::redis::params::sentinel_master_name,
$redis_host
=
$::redis::params::bind,
$redis_port
=
$::redis::params::port,
$package_name
=
$::redis::params::sentinel_package_name,
$package_ensure
=
$::redis::params::sentinel_package_ensure,
$parallel_sync
=
$::redis::params::sentinel_parallel_sync,
$pid_file
=
$::redis::params::sentinel_pid_file,
$quorum
=
$::redis::params::sentinel_quorum,
$sentinel_port
=
$::redis::params::sentinel_port,
$service_group
=
$::redis::params::service_group,
$service_name
=
$::redis::params::sentinel_service_name,
$service_user
=
$::redis::params::service_user,
$working_dir
=
$::redis::params::sentinel_working_dir,
$notification_script
=
$::redis::params::sentinel_notification_script,
)
inherits
redis
::
params
{
ensure_resource
(
'package'
,
$package_name,
{
'ensure'
=>
$package_ensure
})
file
{
$config_file_orig:
ensure
=>
present
,
owner
=>
$service_user,
group
=>
$service_group,
mode
=>
$config_file_mode,
content
=>
template
(
$conf_template),
require
=>
Package
[
$package_name];
}
exec
{
"cp -p ${config_file_orig} ${config_file}"
:
path
=>
'/usr/bin:/bin'
,
subscribe
=>
File
[
$config_file_orig],
notify
=>
Service
[
$service_name],
refreshonly
=>
true
;
}
if
$init_script
{
file
{
$init_script:
ensure
=>
present
,
owner
=>
'root'
,
group
=>
'root'
,
mode
=>
'0755'
,
content
=>
template
(
$init_template),
require
=>
Package
[
$package_name];
}
exec
{
"/usr/sbin/update-rc.d redis-sentinel defaults"
:
require
=>
File
[
$init_script];
}
}
service
{
$service_name:
ensure
=>
$::redis::params::service_ensure,
enable
=>
$::redis::params::service_enable,
hasrestart
=>
$::redis::params::service_hasrestart,
hasstatus
=>
$::redis::params::service_hasstatus,
}
}
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Sat, Jun 21, 6:22 PM (2 w, 4 h ago)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
3413325
Attached To
R226 puppet-puppet-redis
Event Timeline
Log In to Comment