Puppet Class: pacemaker::new::service

Inherits:
::pacemaker::new::params
Defined in:
manifests/new/service.pp

Overview

Class: pacemaker::new::service

Manages the Corosync, Pacemaker and Pcsd services

Parameters:

  • pcsd_manage (Any) (defaults to: $::pacemaker::new::params::pcsd_enable)
  • pcsd_enable (Any) (defaults to: $::pacemaker::new::params::pcsd_enable)
  • pcsd_service (Any) (defaults to: $::pacemaker::new::params::pcsd_service)
  • pcsd_provider (Any) (defaults to: $::pacemaker::new::params::pcsd_provider)
  • corosync_manage (Any) (defaults to: $::pacemaker::new::params::corosync_enable)
  • corosync_enable (Any) (defaults to: $::pacemaker::new::params::corosync_enable)
  • corosync_service (Any) (defaults to: $::pacemaker::new::params::corosync_service)
  • corosync_provider (Any) (defaults to: $::pacemaker::new::params::corosync_provider)
  • pacemaker_manage (Any) (defaults to: $::pacemaker::new::params::pacemaker_enable)
  • pacemaker_enable (Any) (defaults to: $::pacemaker::new::params::pacemaker_enable)
  • pacemaker_service (Any) (defaults to: $::pacemaker::new::params::pacemaker_service)
  • pacemaker_provider (Any) (defaults to: $::pacemaker::new::params::pacemaker_provider)


5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
# File 'manifests/new/service.pp', line 5

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' |>
  
}