Skip to content

Commit

Permalink
Merge pull request #17 from saz/style
Browse files Browse the repository at this point in the history
Style-Guide changes
  • Loading branch information
plathrop committed May 9, 2012
2 parents 5d52549 + 1b0fd0c commit 879c9ae
Show file tree
Hide file tree
Showing 5 changed files with 122 additions and 104 deletions.
6 changes: 3 additions & 3 deletions README.rst
Expand Up @@ -9,11 +9,11 @@ Example usage::

supervisor::service {
'scribe':
ensure => running,
ensure => present,
enable => true,
command => '/usr/bin/scribed -c /etc/scribe/scribe.conf',
environment => 'HADOOP_HOME=/usr/lib/hadoop,LD_LIBRARY_PATH=/usr/lib/jvm/java-6-sun/jre/lib/amd64/server',
user => scribe,
group => scribe,
user => 'scribe',
group => 'scribe',
require => [ Package['scribe'], User['scribe'] ];
}
71 changes: 38 additions & 33 deletions manifests/init.pp
@@ -1,45 +1,50 @@
class supervisor {
include supervisor::params

if ! defined(Package[$supervisor::params::package]) {
package {"${supervisor::params::package}":
ensure => installed
if ! defined(Package[$supervisor::params::package]) {
package { $supervisor::params::package:
ensure => installed,
}
}

file {
$supervisor::params::conf_dir:
ensure => directory,
purge => true,
require => Package[$supervisor::params::package];
['/var/log/supervisor',
'/var/run/supervisor']:
ensure => directory,
purge => true,
backup => false,
require => Package[$supervisor::params::package];
$supervisor::params::conf_file:
content => template('supervisor/supervisord.conf.erb'),
require => Package[$supervisor::params::package],
notify => Service[$supervisor::params::system_service];
'/etc/logrotate.d/supervisor':
source => 'puppet:///modules/supervisor/logrotate',
require => Package[$supervisor::params::package];
file { $supervisor::params::conf_dir:
ensure => directory,
purge => true,
require => Package[$supervisor::params::package],
}

service {
$supervisor::params::system_service:
ensure => running,
enable => true,
hasrestart => true,
require => Package[$supervisor::params::package];
file { [
'/var/log/supervisor',
'/var/run/supervisor'
]:
ensure => directory,
purge => true,
backup => false,
require => Package[$supervisor::params::package],
}

exec {
'supervisor::update':
command => '/usr/bin/supervisorctl update',
logoutput => on_failure,
refreshonly => true,
require => Service[$supervisor::params::system_service];
file { $supervisor::params::conf_file:
content => template('supervisor/supervisord.conf.erb'),
require => Package[$supervisor::params::package],
notify => Service[$supervisor::params::system_service],
}

file { '/etc/logrotate.d/supervisor':
source => 'puppet:///modules/supervisor/logrotate',
require => Package[$supervisor::params::package],
}

service { $supervisor::params::system_service:
ensure => running,
enable => true,
hasrestart => true,
require => Package[$supervisor::params::package],
}

exec { 'supervisor::update':
command => '/usr/bin/supervisorctl update',
logoutput => on_failure,
refreshonly => true,
require => Service[$supervisor::params::system_service],
}
}
5 changes: 4 additions & 1 deletion manifests/params.pp
@@ -1,5 +1,5 @@
class supervisor::params {
case $operatingsystem {
case $::operatingsystem {
'ubuntu','debian': {
$conf_file = '/etc/supervisor/supervisord.conf'
$conf_dir = '/etc/supervisor'
Expand All @@ -12,5 +12,8 @@
$system_service = 'supervisord'
$package = 'supervisor'
}
default: {
fail("Unsupported platform: ${::operatingsystem}")
}
}
}
134 changes: 77 additions & 57 deletions manifests/service.pp
@@ -1,69 +1,89 @@
define supervisor::service(
$enable=true, $ensure=present,
$command, $numprocs=1, $priority=999,
define supervisor::service (
$command,
$ensure=present,
$enable=true,
$numprocs=1,
$priority=999,
$autorestart='unexpected',
$startsecs=1, $retries=3, $exitcodes='0,2',
$stopsignal='TERM', $stopwait=10, $user='',
$group='', $redirect_stderr=false,
$startsecs=1,
$retries=3,
$exitcodes='0,2',
$stopsignal='TERM',
$stopwait=10,
$user='root',
$group='root',
$redirect_stderr=false,
$directory='',
$stdout_logfile='',
$stdout_logfile_maxsize='250MB', $stdout_logfile_keep=10,
$stdout_logfile_maxsize='250MB',
$stdout_logfile_keep=10,
$stderr_logfile='',
$stderr_logfile_maxsize='250MB', $stderr_logfile_keep=10,
$environment='', $chdir='', $umask='') {
$stderr_logfile_maxsize='250MB',
$stderr_logfile_keep=10,
$environment='',
$chdir='',
$umask=''
) {
include supervisor::params

$autostart = $ensure ? {
running => true,
stopped => false,
default => false
case $ensure {
absent: {
$autostart = false
$dir_ensure = 'absent'
$dir_recurse = true
$dir_force = true
$service_ensure = 'stopped'
}
present: {
$autostart = true
$dir_ensure = 'directory'
$dir_recurse = false
$dir_force = false
$service_ensure = 'running'

file {
"${supervisor::params::conf_dir}/${name}.ini":
ensure => $enable ? {
false => absent,
default => undef },
content => $enable ? {
true => template('supervisor/service.ini.erb'),
default => undef },
require => File[$supervisor::params::conf_dir, "/var/log/supervisor/${name}"],
notify => Exec['supervisor::update'];
"/var/log/supervisor/${name}":
ensure => $ensure ? {
purged => absent,
default => directory },
owner => $user ? {
'' => 'root',
default => $user },
group => $group ? {
'' => 'root',
default => $group },
mode => 750,
recurse => $ensure ? {
purged => true,
default => false },
force => $ensure ? {
purged => true,
default => false };
if $enable == true {
$config_ensure = undef
} else {
$config_ensure = absent
}
}

if $numprocs > 1 {
$process_name = "${name}:*"
} else {
$process_name = $name
default: {
fail("ensure must be 'present' or 'absent', not ${ensure}")
}
}

if ($ensure == 'running' or $ensure == 'stopped') {
service {
"supervisor::${name}":
ensure => $ensure,
provider => base,
restart => "/usr/bin/supervisorctl restart ${process_name}",
start => "/usr/bin/supervisorctl start ${process_name}",
status => "/usr/bin/supervisorctl status | awk '/^${name}[: ]/{print \$2}' | grep '^RUNNING$'",
stop => "/usr/bin/supervisorctl stop ${process_name}",
require => [ Package['supervisor'], Service[$supervisor::params::system_service] ];
}
}
if $numprocs > 1 {
$process_name = "${name}:*"
} else {
$process_name = $name
}

file { "${supervisor::params::conf_dir}/${name}.ini":
ensure => $config_ensure,
content => template('supervisor/service.ini.erb'),
require => File[
$supervisor::params::conf_dir,
"/var/log/supervisor/${name}"
],
notify => Exec['supervisor::update'],
}

file { "/var/log/supervisor/${name}":
ensure => $dir_ensure,
owner => $user,
group => $group,
mode => '0750',
recurse => $dir_recurse,
force => $dir_force,
}

service { "supervisor::${name}":
ensure => $service_ensure,
provider => base,
restart => "/usr/bin/supervisorctl restart ${process_name}",
start => "/usr/bin/supervisorctl start ${process_name}",
status => "/usr/bin/supervisorctl status | awk '/^${name}[: ]/{print \$2}' | grep '^RUNNING$'",
stop => "/usr/bin/supervisorctl stop ${process_name}",
require => Service[$supervisor::params::system_service],
}
}
10 changes: 0 additions & 10 deletions metadata.json

This file was deleted.

0 comments on commit 879c9ae

Please sign in to comment.