84 lines
2.3 KiB
Puppet
84 lines
2.3 KiB
Puppet
# == Class: pacemaker::new::service
|
|
#
|
|
# Manages the Corosync, Pacemaker and Pcsd services
|
|
#
|
|
class pacemaker::new::service (
|
|
$pcsd_manage = $::pacemaker::new::params::pcsd_enable,
|
|
$pcsd_enable = $::pacemaker::new::params::pcsd_enable,
|
|
$pcsd_service = $::pacemaker::new::params::pcsd_service,
|
|
$pcsd_provider = $::pacemaker::new::params::pcsd_provider,
|
|
|
|
$corosync_manage = $::pacemaker::new::params::corosync_enable,
|
|
$corosync_enable = $::pacemaker::new::params::corosync_enable,
|
|
$corosync_service = $::pacemaker::new::params::corosync_service,
|
|
$corosync_provider = $::pacemaker::new::params::corosync_provider,
|
|
|
|
$pacemaker_manage = $::pacemaker::new::params::pacemaker_enable,
|
|
$pacemaker_enable = $::pacemaker::new::params::pacemaker_enable,
|
|
$pacemaker_service = $::pacemaker::new::params::pacemaker_service,
|
|
$pacemaker_provider = $::pacemaker::new::params::pacemaker_provider,
|
|
) inherits pacemaker::new::params {
|
|
validate_bool($pcsd_manage)
|
|
validate_bool($pcsd_enable)
|
|
validate_string($pcsd_service)
|
|
|
|
validate_bool($corosync_manage)
|
|
validate_bool($corosync_enable)
|
|
validate_string($corosync_service)
|
|
|
|
validate_bool($pacemaker_manage)
|
|
validate_bool($pacemaker_enable)
|
|
validate_string($pacemaker_service)
|
|
|
|
if $pcsd_enable {
|
|
$pcsd_ensure = 'running'
|
|
} else {
|
|
$pcsd_ensure = 'stopped'
|
|
}
|
|
|
|
if $corosync_enable {
|
|
$corosync_ensure = 'running'
|
|
} else {
|
|
$corosync_ensure = 'stopped'
|
|
}
|
|
|
|
if $pacemaker_enable {
|
|
$pacemaker_ensure = 'running'
|
|
} else {
|
|
$pacemaker_ensure = 'stopped'
|
|
}
|
|
|
|
if $pcsd_manage {
|
|
service { 'pcsd' :
|
|
ensure => $pcsd_ensure,
|
|
enable => $pcsd_enable,
|
|
name => $pcsd_service,
|
|
provider => $pcsd_provider,
|
|
}
|
|
}
|
|
|
|
if $corosync_manage {
|
|
service { 'corosync' :
|
|
ensure => $corosync_ensure,
|
|
enable => $corosync_enable,
|
|
name => $corosync_service,
|
|
provider => $corosync_provider,
|
|
tag => 'cluster-service',
|
|
}
|
|
}
|
|
|
|
if $pacemaker_manage {
|
|
service { 'pacemaker' :
|
|
ensure => $pacemaker_ensure,
|
|
enable => $pacemaker_enable,
|
|
name => $pacemaker_service,
|
|
provider => $pacemaker_provider,
|
|
tag => 'cluster-service',
|
|
}
|
|
}
|
|
|
|
Service <| title == 'corosync' |> ->
|
|
Service <| title == 'pacemaker' |>
|
|
|
|
}
|