Puppet Class: mcollective::node::packages

Defined in:
manifests/node/packages.pp

Overview

Class: mcollective::node::packages

Installs an MCollective node



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
# File 'manifests/node/packages.pp', line 5

class mcollective::node::packages {
  include ::mcollective::params


  # Do not install mcollective packages when using AIO
  if versioncmp($::puppetversion, '4.0.0') < 0 {
    case $::osfamily {

      'Debian': {
        $augeas_require = Package['mcollective']

        package { 'libstomp-ruby':
          ensure => absent,
        }
        package { 'ruby-stomp':
          ensure  => present,
          require => Package['libstomp-ruby'],
          notify  => Service['mcollective'],
        }
      }

      'RedHat': {
        if $::operatingsystemmajrelease != '7' {
          package { ['rubygem-net-ping']:
            ensure => present,
            notify => Service['mcollective'],
          }
        }
        package { ['rubygem-stomp']:
          ensure => present,
          notify => Service['mcollective'],
        }

      }

      default: {
        fail("Unsupported OS family: ${::osfamily}")
      }

    }

    package { 'mcollective':
      ensure  => present,
      require => $mcollective::params::server_require,
    }
  } else {
    $augeas_require = undef
  }

  if $::osfamily == 'Debian' {
    augeas { 'Enable mcollective':
      lens    => 'Shellvars.lns',
      incl    => '/etc/default/mcollective',
      changes => 'set RUN yes',
      require => $augeas_require,
      notify  => Service['mcollective'],
    }
  }

}