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
84
85
86
87
88
89
90
|
# File 'manifests/mongos/service.pp', line 39
class mongodb::mongos::service (
$package_ensure = $mongodb::mongos::package_ensure,
$service_manage = $mongodb::mongos::service_manage,
$service_name = $mongodb::mongos::service_name,
$service_user = $mongodb::mongos::service_user,
$service_group = $mongodb::mongos::service_group,
$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 {
systemd::unit_file { 'mongos.service':
content => epp($service_template, { service_user => $service_user, service_group => $service_user }),
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'],
}
}
}
}
|