Showing with 128 additions and 58 deletions.
  1. +1 −1 .travis.yml
  2. +0 −1 Rakefile
  3. +41 −0 manifests/config.pp
  4. +9 −4 manifests/init.pp
  5. +1 −1 manifests/install.pp
  6. +1 −0 manifests/params.pp
  7. +2 −1 manifests/sentinel.pp
  8. +1 −1 metadata.json
  9. +28 −0 spec/classes/redis_spec.rb
  10. +1 −8 spec/spec_helper.rb
  11. +1 −1 templates/redis-sentinel.conf.erb
  12. +42 −40 templates/redis.conf.erb
2 changes: 1 addition & 1 deletion .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ before_install:
- 'gem install bundler'

script:
- 'rake spec'
- 'bundle exec rake spec'

env:
- PUPPET_VERSION="2.7"
Expand Down
1 change: 0 additions & 1 deletion Rakefile
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
require 'rake'
require 'rspec/core/rake_task'
require 'puppetlabs_spec_helper/rake_tasks'

RSpec::Core::RakeTask.new(:spec_verbose) do |t|
Expand Down
41 changes: 41 additions & 0 deletions manifests/config.pp
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,47 @@
# This class provides configuration for Redis.
#
class redis::config {
$daemonize = $::redis::daemonize
$pid_file = $::redis::pid_file
$port = $::redis::port
$bind = $::redis::bind
$timeout = $::redis::timeout
$log_level = $::redis::log_level
$log_file = $::redis::log_file
$syslog_enabled = $::redis::syslog_enabled
$syslog_facility = $::redis::syslog_facility
$databases = $::redis::databases
$rdbcompression = $::redis::rdbcompression
$dbfilename = $::redis::dbfilename
$workdir = $::redis::workdir
$slaveof = $::redis::slaveof
$masterauth = $::redis::masterauth
$slave_serve_stale_data = $::redis::slave_serve_stale_data
$slave_read_only = $::redis::slave_read_only
$repl_timeout = $::redis::repl_timeout
$requirepass = $::redis::requirepass
$save_db_to_disk = $::redis::save_db_to_disk
$maxclients = $::redis::maxclients
$maxmemory = $::redis::maxmemory
$maxmemory_policy = $::redis::maxmemory_policy
$maxmemory_samples = $::redis::maxmemory_samples
$appendonly = $::redis::appendonly
$appendfsync = $::redis::appendfsync
$no_appendfsync_on_rewrite = $::redis::no_appendfsync_on_rewrite
$auto_aof_rewrite_percentage = $::redis::auto_aof_rewrite_percentage
$auto_aof_rewrite_min_size = $::redis::auto_aof_rewrite_min_size
$slowlog_log_slower_than = $::redis::slowlog_log_slower_than
$slowlog_max_len = $::redis::slowlog_max_len
$hash_max_ziplist_entries = $::redis::hash_max_ziplist_entries
$hash_max_ziplist_value = $::redis::hash_max_ziplist_value
$list_max_ziplist_entries = $::redis::list_max_ziplist_entries
$list_max_ziplist_value = $::redis::list_max_ziplist_value
$set_max_intset_entries = $::redis::set_max_intset_entries
$zset_max_ziplist_entries = $::redis::zset_max_ziplist_entries
$zset_max_ziplist_value = $::redis::zset_max_ziplist_value
$activerehashing = $::redis::activerehashing
$extra_config_file = $::redis::extra_config_file

if $::redis::notify_service {
File {
owner => $::redis::config_owner,
Expand Down
13 changes: 9 additions & 4 deletions manifests/init.pp
Original file line number Diff line number Diff line change
Expand Up @@ -234,6 +234,11 @@
#
# Default: undef
#
#[*save_db_to_disk*]
# Set if save db to disk.
#
# Default: true
#
# [*service_manage*]
# Specify if the service should be part of the catalog.
#
Expand Down Expand Up @@ -371,13 +376,13 @@
$auto_aof_rewrite_min_size = $::redis::params::auto_aof_rewrite_min_size,
$auto_aof_rewrite_percentage = $::redis::params::auto_aof_rewrite_percentage,
$bind = $::redis::params::bind,
$conf_template = $::redis::params::conf_template,
$config_dir = $::redis::params::config_dir,
$config_dir_mode = $::redis::params::config_dir_mode,
$config_file = $::redis::params::config_file,
$config_file_mode = $::redis::params::config_file_mode,
$config_group = $::redis::params::config_group,
$config_owner = $::redis::params::config_owner,
$conf_template = $::redis::params::conf_template,
$daemonize = $::redis::params::daemonize,
$databases = $::redis::params::databases,
$dbfilename = $::redis::params::dbfilename,
Expand Down Expand Up @@ -407,12 +412,13 @@
$repl_ping_slave_period = $::redis::params::repl_ping_slave_period,
$repl_timeout = $::redis::params::repl_timeout,
$requirepass = $::redis::params::requirepass,
$service_manage = $::redis::params::service_manage,
$save_db_to_disk = $::redis::params::save_db_to_disk,
$service_enable = $::redis::params::service_enable,
$service_ensure = $::redis::params::service_ensure,
$service_group = $::redis::params::service_group,
$service_hasrestart = $::redis::params::service_hasrestart,
$service_hasstatus = $::redis::params::service_hasstatus,
$service_manage = $::redis::params::service_manage,
$service_name = $::redis::params::service_name,
$service_user = $::redis::params::service_user,
$set_max_intset_entries = $::redis::params::set_max_intset_entries,
Expand All @@ -429,7 +435,6 @@
$zset_max_ziplist_entries = $::redis::params::zset_max_ziplist_entries,
$zset_max_ziplist_value = $::redis::params::zset_max_ziplist_value,
) inherits redis::params {

anchor { 'redis::begin': }
anchor { 'redis::end': }

Expand Down Expand Up @@ -460,5 +465,5 @@
fail "Replication is not possible when binding to ${::redis::bind}."
}
}

}

2 changes: 1 addition & 1 deletion manifests/install.pp
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
# This class installs the application.
#
class redis::install {
unless defined(Package["$::redis::package_name"]) {
unless defined(Package['$::redis::package_name']) {
ensure_resource('package', $::redis::package_name, {
'ensure' => $::redis::package_ensure
})
Expand Down
1 change: 1 addition & 0 deletions manifests/params.pp
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,7 @@
$port = 6379
$rdbcompression = true
$requirepass = undef
$save_db_to_disk = true
$sentinel_auth_pass = undef
$sentinel_config_file_mode = '0644'
$sentinel_config_group = 'root'
Expand Down
3 changes: 2 additions & 1 deletion manifests/sentinel.pp
Original file line number Diff line number Diff line change
Expand Up @@ -169,8 +169,9 @@
$working_dir = $::redis::params::sentinel_working_dir,
$notification_script = $::redis::params::sentinel_notification_script,
) inherits redis::params {
$daemonize = $::redis::daemonize

unless defined(Package["$package_name"]) {
unless defined(Package['$package_name']) {
ensure_resource('package', $package_name, {
'ensure' => $package_ensure
})
Expand Down
2 changes: 1 addition & 1 deletion metadata.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "arioch-redis",
"version": "1.1.0",
"version": "1.1.1",
"author": "Tom De Vylder",
"summary": "Redis module",
"license": "Apache License, Version 2.0",
Expand Down
28 changes: 28 additions & 0 deletions spec/classes/redis_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -502,6 +502,34 @@
}
end

describe 'with parameter save_db_to_disk' do
context 'true' do
let (:params) {
{
:save_db_to_disk => true
}
}

it { should contain_file('/etc/redis/redis.conf').with(
'content' => /^save/
)
}
end

context 'false' do
let (:params) {
{
:save_db_to_disk => false
}
}

it { should contain_file('/etc/redis/redis.conf').with(
'content' => /^(?!save)/
)
}
end
end

describe 'with parameter: service_manage (set to false)' do
let (:params) { { :service_manage => false } }

Expand Down
9 changes: 1 addition & 8 deletions spec/spec_helper.rb
Original file line number Diff line number Diff line change
@@ -1,12 +1,5 @@
require 'rubygems'
require 'rspec-puppet'

fixture_path = File.expand_path(File.join(__FILE__, '..', 'fixtures'))

RSpec.configure do |c|
c.module_path = File.join(fixture_path, 'modules')
c.manifest_dir = File.join(fixture_path, 'manifests')
end
require 'puppetlabs_spec_helper/module_spec_helper'

def centos_facts
{
Expand Down
2 changes: 1 addition & 1 deletion templates/redis-sentinel.conf.erb
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
port <%= @sentinel_port %>
dir <%= @working_dir %>
<% if scope.lookupvar('::redis::daemonize') -%>daemonize yes<% else -%>daemonize no<% end %>
<% if @daemonize -%>daemonize yes<% else -%>daemonize no<% end %>
pidfile <%= @pid_file %>

sentinel monitor <%= @master_name %> <%= @redis_host %> <%= @redis_port %> <%= @quorum %>
Expand Down
Loading