Skip to content

Commit 4a1970a

Browse files
author
Dan Bode
committed
(Refactor) Significant refactor of memcached module
This commit significantly refactors all manifests: - consolidates all manifests into a single class - converts to a parameterized class with the same defaults - switched to 2 space indentation These changes are not intended to change any behavior of the manifests, but it does change how they will be used going forward: class { 'memcached': package_ensure => 'latest', tcp_port => '11212' udp_port => '11212', }
1 parent 3724c49 commit 4a1970a

File tree

6 files changed

+47
-74
lines changed

6 files changed

+47
-74
lines changed

manifests/config.pp

Lines changed: 0 additions & 10 deletions
This file was deleted.

manifests/init.pp

Lines changed: 31 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,32 @@
1-
class memcached {
2-
include memcached::params, memcached::install, memcached::config, memcached::service
1+
class memcached(
2+
$package_ensure = 'present',
3+
$logfile = '/var/log/memcached.log',
4+
$max_memory = false,
5+
$listen_ip = '0.0.0.0',
6+
$tcp_port = '11211',
7+
$udp_port = '11211',
8+
$user = 'nobody',
9+
$max_connections = '8192'
10+
) {
11+
12+
include memcached::params
13+
14+
package { $memcached::params::package_name:
15+
ensure => $package_ensure,
16+
}
17+
18+
file { $memcached::params::config_file:
19+
owner => root,
20+
group => root,
21+
content => template("${module_name}/memcached.conf.erb"),
22+
require => Package[$memcached::params::package_name],
23+
}
24+
25+
service { $memcached::params::service_name:
26+
ensure => running,
27+
enable => true,
28+
hasrestart => true,
29+
hasstatus => false,
30+
subscribe => File[$memcached::params::config_file],
31+
}
332
}

manifests/install.pp

Lines changed: 0 additions & 5 deletions
This file was deleted.

manifests/params.pp

Lines changed: 8 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -1,44 +1,12 @@
11
class memcached::params {
2-
case $operatingsystem {
3-
/(Ubuntu|Debian)/: {
4-
$package_name = 'memcached'
5-
$service_name = 'memcached'
6-
$config_file = '/etc/memcached.conf'
7-
}
2+
case $::operatingsystem {
3+
/(Ubuntu|Debian)/: {
4+
$package_name = 'memcached'
5+
$service_name = 'memcached'
6+
$config_file = '/etc/memcached.conf'
87
}
9-
10-
case $memcached_logfile {
11-
'': { $logfile = '/var/log/memcached.log' }
12-
default: { $logfile = $memcached_logfile }
13-
}
14-
15-
case $memcached_max_memory {
16-
'': { $max_memory = false }
17-
default: { $max_memory = $memcached_max_memory }
18-
}
19-
20-
case $memcached_listen_ip {
21-
'': { $listen_ip = '0.0.0.0' }
22-
default: { $listen_ip = $memcached_listen_ip }
23-
}
24-
25-
case $memcached_tcp_port {
26-
'': { $tcp_port = 11211 }
27-
default: { $tcp_port = $memcached_tcp_port }
28-
}
29-
30-
case $memcached_udp_port {
31-
'': { $udp_port = 11211 }
32-
default: { $udp_port = $memcached_udp_port }
33-
}
34-
35-
case $memcached_user {
36-
'': { $user = 'nobody' }
37-
default: { $user = $memcached_user }
38-
}
39-
40-
case $memcached_max_connections {
41-
'': { $max_connections = 8192 }
42-
default: { $max_connections = $memcached_max_connections }
8+
default: {
9+
fail("Unsupported platform: ${::operatingsystem}")
4310
}
11+
}
4412
}

manifests/service.pp

Lines changed: 0 additions & 9 deletions
This file was deleted.

templates/memcached.conf.erb

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -7,29 +7,29 @@
77
-P /var/run/memcached.pid
88

99
# Log memcached's output
10-
logfile <%= scope.lookupvar('memcached::params::logfile') %>
10+
logfile <%= logfile %>
1111

1212
# Use <num> MB memory max to use for object storage.
13-
<% if scope.lookupvar('memcached::params::max_memory') != false -%>
14-
-m <%= scope.lookupvar('memcached::params::max_memory') %>
13+
<% if max_memory -%>
14+
-m <%= max_memory %>
1515
<% else -%>
1616
-m <%= ((memorysize.to_f*1024)*0.95).floor %>
1717
<% end -%>
1818

1919
# IP to listen on
20-
-l <%= scope.lookupvar('memcached::params::listen_ip') %>
20+
-l <%= listen_ip %>
2121

2222
# TCP port to listen on
23-
-p <%= scope.lookupvar('memcached::params::tcp_port') %>
23+
-p <%= tcp_port %>
2424

2525
# UDP port to listen on
26-
-U <%= scope.lookupvar('memcached::params::udp_port') %>
26+
-U <%= udp_port %>
2727

2828
# Run daemon as user
29-
-u <%= scope.lookupvar('memcached::params::user') %>
29+
-u <%= user %>
3030

3131
# Limit the number of simultaneous incoming connections.
32-
-c <%= scope.lookupvar('memcached::params::max_connections') %>
32+
-c <%= max_connections %>
3333

3434
# Number of threads to use to process incoming requests.
3535
-t <%= processorcount %>

0 commit comments

Comments
 (0)