Puppet Class: mongodb::mongos::service

Defined in:
manifests/mongos/service.pp

Overview

PRIVATE CLASS: do not call directly

Parameters:

  • 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)


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
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
# File 'manifests/mongos/service.pp', line 2

class mongodb::mongos::service (
  $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_ensure_real = $service_ensure ? {
    'absent'  => false,
    'purged'  => false,
    'stopped' => false,
    default   => true
  }

  if $port {
    $port_real = $port
  } else {
    $port_real = '27017'
  }

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

  if $service_manage {
    if $::osfamily == 'RedHat' {
      file { '/etc/sysconfig/mongos' :
        ensure  => file,
        owner   => 'root',
        group   => 'root',
        mode    => '0755',
        content => 'OPTIONS="--quiet -f /etc/mongodb-shard.conf"',
        before  => Service['mongos'],
      }
    }
    file { '/etc/init.d/mongos' :
      ensure  => file,
      content => template("mongodb/mongos/${::osfamily}/mongos.erb"),
      owner   => 'root',
      group   => 'root',
      mode    => '0755',
      before  => Service['mongos'],
    }
    service { 'mongos':
      ensure    => $service_ensure_real,
      name      => $service_name,
      enable    => $service_enable,
      provider  => $service_provider,
      hasstatus => true,
      status    => $service_status,
    }

    if $service_ensure_real {
      mongodb_conn_validator { 'mongos':
        server  => $bind_ip_real,
        port    => $port_real,
        timeout => '240',
        require => Service['mongos'],
      }
    }
  }

}