puppet/modules/rhizo_base/manifests/runit.pp
Wile E. Coyote dbcad31a43 Scheduling
2019-06-16 09:22:01 +00:00

127 lines
2.9 KiB
Puppet

# Class: rhizo_base::runit
#
# This module manages the Runit startup scripts
#
# Parameters: none
#
# Actions:
#
# Requires: see Modulefile
#
# Sample Usage:
#
class rhizo_base::runit {
$use_kannel = $rhizo_base::use_kannel
file { '/etc/sv':
ensure => directory,
source => 'puppet:///modules/rhizo_base/etc/sv',
recurse => remote,
require => Class['rhizo_base::packages'],
}
if $use_kannel == 'yes' {
file { '/etc/sv/osmo-nitb/run':
ensure => present,
source => 'puppet:///modules/rhizo_base/osmo-nitb.run.kannel',
require => File['/etc/sv'],
}
service { 'kannel':
enable => true,
require => Package['kannel'],
notify => [ Exec['stop-esme'], Exec['start-kannel'] ],
}
}
if $use_kannel == 'no' {
file { '/etc/sv/osmo-nitb/run':
ensure => present,
source => 'puppet:///modules/rhizo_base/osmo-nitb.run',
require => File['/etc/sv'],
}
file { '/etc/service/esme':
ensure => link,
target => '/etc/sv/esme',
require => File['/etc/sv'],
notify => [ Exec['stop-kannel'], Exec['start-esme'] ],
}
exec { 'disable-kannel':
schedule => 'repo',
notify => Exec['stop-kannel'],
command => '/usr/sbin/update-rc.d kannel disable',
require => Package['kannel'],
}
}
file { '/etc/service/osmo-nitb':
ensure => link,
target => '/etc/sv/osmo-nitb',
require =>
[ File['/etc/sv'], Class['rhizo_base::openbsc'] ],
}
if $operatingsystem != 'Debian' {
file { '/etc/service/freeswitch':
ensure => link,
target => '/etc/sv/freeswitch',
require =>
[ File['/etc/sv'], Class['rhizo_base::freeswitch'] ],
}
}
file { '/etc/service/rapi':
ensure => link,
target => '/etc/sv/rapi',
require => File['/etc/sv'],
}
file { '/etc/service/smpp':
ensure => link,
target => '/etc/sv/smpp',
require => [ File['/etc/sv'] ],
}
file { '/etc/service/lcr':
ensure => link,
target => '/etc/sv/lcr',
require => [ File['/etc/sv'], Class['rhizo_base::lcr'] ],
}
file { '/etc/service/kiwi':
ensure => link,
target => '/etc/sv/kiwi',
require => [ File['/etc/sv'], Class['rhizo_base::kiwi'] ],
}
file { '/etc/service/meas-web':
ensure => link,
target => '/etc/sv/meas-web',
require => [ File['/etc/sv'], Package['websocketd'] ],
}
exec { 'start-esme':
command => '/usr/bin/sv start esme',
refreshonly => true,
}
exec { 'stop-esme':
command => '/usr/bin/sv stop esme',
refreshonly => true,
}
exec { 'start-kannel':
command => '/etc/init.d/kannel start',
refreshonly => true,
}
exec { 'stop-kannel':
command => '/etc/init.d/kannel stop',
refreshonly => true,
}
}