Puppet Class: mongodb::mongos::service

Defined in:
manifests/mongos/service.pp

Overview

PRIVATE CLASS: do not call directly

Parameters:

  • package_ensure (Any) (defaults to: $mongodb::mongos::package_ensure)
  • service_manage (Any) (defaults to: $mongodb::mongos::service_manage)
  • service_name (Any) (defaults to: $mongodb::mongos::service_name)
  • service_enable (Any) (defaults to: $mongodb::mongos::service_enable)
  • service_ensure (Any) (defaults to: $mongodb::mongos::service_ensure)
  • service_status (Any) (defaults to: $mongodb::mongos::service_status)
  • service_provider (Any) (defaults to: $mongodb::mongos::service_provider)
  • bind_ip (Any) (defaults to: $mongodb::mongos::bind_ip)
  • port (Any) (defaults to: $mongodb::mongos::port)
  • service_template (Any) (defaults to: $mongodb::mongos::service_template)


2
3
4
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
# File 'manifests/mongos/service.pp', line 2

class mongodb::mongos::service (
  $package_ensure   = $mongodb::mongos::package_ensure,
  $service_manage   = $mongodb::mongos::service_manage,
  $service_name     = $mongodb::mongos::service_name,
  $service_enable   = $mongodb::mongos::service_enable,
  $service_ensure   = $mongodb::mongos::service_ensure,
  $service_status   = $mongodb::mongos::service_status,
  $service_provider = $mongodb::mongos::service_provider,
  $bind_ip          = $mongodb::mongos::bind_ip,
  $port             = $mongodb::mongos::port,
  $service_template = $mongodb::mongos::service_template,
) {
  if $package_ensure in ['absent', 'purged'] {
    $real_service_ensure = 'stopped'
    $real_service_enable = false
  } else {
    $real_service_ensure = $service_ensure
    $real_service_enable = $service_enable
  }

  if $bind_ip == '0.0.0.0' {
    $connect_ip = '127.0.0.1'
  } else {
    $connect_ip = $bind_ip
  }

  if $service_manage {
    if $facts['os']['family'] == 'RedHat' {
      systemd::unit_file { 'mongos.service':
        content => epp($service_template),
        enable  => $real_service_enable,
      } ~> Service['mongos']
    }

    service { 'mongos':
      ensure   => $real_service_ensure,
      name     => $service_name,
      enable   => $real_service_enable,
      provider => $service_provider,
      status   => $service_status,
    }

    if $real_service_ensure == 'running' {
      mongodb_conn_validator { 'mongos':
        server  => $connect_ip,
        port    => pick($port, 27017),
        timeout => '240',
        require => Service['mongos'],
      }
    }
  }
}