fuel-library/deployment/puppet/memcached/manifests/init.pp
Stanislaw Bogatkin c539543f54 Sync puppet module memcached to v2.5.0 from upstream
v.2.5.0 sha1: 5a6c247a757671094d477d07c14b59c484d560d4
Implements: blueprint merge-openstack-puppet-modules

Change-Id: I0f5dbe3b178d8805a92eadfe6516e467bc05abb3
2014-06-24 17:41:32 +04:00

86 lines
2.1 KiB
Puppet

# == Class: memcached
#
# Manage memcached
#
class memcached (
$package_ensure = 'present',
$logfile = '/var/log/memcached.log',
$manage_firewall = false,
$max_memory = false,
$item_size = false,
$lock_memory = false,
$listen_ip = '0.0.0.0',
$tcp_port = 11211,
$udp_port = 11211,
$user = $::memcached::params::user,
$max_connections = '8192',
$verbosity = undef,
$unix_socket = undef,
$install_dev = false,
$processorcount = $::processorcount,
$service_restart = true
) inherits memcached::params {
# validate type and convert string to boolean if necessary
if type($manage_firewall) == 'String' {
$manage_firewall_bool = str2bool($manage_firewall)
} else {
$manage_firewall_bool = $manage_firewall
}
validate_bool($manage_firewall_bool)
validate_bool($service_restart)
if $package_ensure == 'absent' {
$service_ensure = 'stopped'
} else {
$service_ensure = 'running'
}
package { $memcached::params::package_name:
ensure => $package_ensure,
}
if $install_dev {
package { $memcached::params::dev_package_name:
ensure => $package_ensure,
require => Package[$memcached::params::package_name]
}
}
if $manage_firewall_bool == true {
firewall { "100_tcp_${tcp_port}_for_memcached":
port => $tcp_port,
proto => 'tcp',
action => 'accept',
}
firewall { "100_udp_${udp_port}_for_memcached":
port => $udp_port,
proto => 'udp',
action => 'accept',
}
}
if $service_restart {
$service_notify_real = Service[$memcached::params::service_name]
} else {
$service_notify_real = undef
}
file { $memcached::params::config_file:
owner => 'root',
group => 'root',
mode => '0644',
content => template($memcached::params::config_tmpl),
require => Package[$memcached::params::package_name],
notify => $service_notify_real,
}
service { $memcached::params::service_name:
ensure => $service_ensure,
enable => true,
hasrestart => true,
hasstatus => $memcached::params::service_hasstatus,
}
}