|
13 | 13 | $mongos_add_options = [] |
14 | 14 | ) { |
15 | 15 |
|
16 | | -# lint:ignore:selector_inside_resource would not add much to readability |
17 | | - |
18 | | - $init_template = $::osfamily ? { |
19 | | - debian => template('mongodb/debian_mongos-init.conf.erb'), |
20 | | - redhat => template('mongodb/redhat_mongos-init.conf.erb'), |
21 | | - } |
| 16 | + $db_specific_dir = "${::mongodb::params::dbdir}/mongos_${mongos_instance}" |
22 | 17 |
|
23 | 18 | file { |
24 | 19 | "/etc/mongos_${mongos_instance}.conf": |
|
27 | 22 | # no auto restart of a db because of a config change |
28 | 23 | # notify => Class['mongodb::service'], |
29 | 24 | require => Class['mongodb::install']; |
| 25 | + $db_specific_dir: |
| 26 | + ensure => directory, |
| 27 | + owner => $::mongodb::params::run_as_user, |
| 28 | + group => $::mongodb::params::run_as_group; |
| 29 | + } |
30 | 30 |
|
31 | | - "/etc/init.d/mongos_${mongos_instance}": |
32 | | - content => $init_template, |
33 | | - mode => '0755', |
34 | | - require => Class['mongodb::install'], |
| 31 | + if $mongodb::params::systemd_os { |
| 32 | + $service_provider = 'systemd' |
| 33 | + file { |
| 34 | + "/etc/init.d/mongos_${mongos_instance}": |
| 35 | + ensure => absent, |
| 36 | + } |
| 37 | + file { "mongos_${mongos_instance}_service": |
| 38 | + path => "/lib/systemd/system/mongos_${mongos_instance}.service", |
| 39 | + content => template('mongodb/systemd/mongos.service.erb'), |
| 40 | + mode => '0644', |
| 41 | + require => [ |
| 42 | + Class['mongodb::install'], |
| 43 | + File["/etc/init.d/mongos_${mongos_instance}"] |
| 44 | + ] |
| 45 | + } |
| 46 | + } else { |
| 47 | + $service_provider = 'init' |
| 48 | + file { "mongos_${mongos_instance}_service": |
| 49 | + path => "/etc/init.d/mongos_${mongos_instance}", |
| 50 | + content => template("mongodb/init.d/${::osfamily}_mongos.conf.erb"), |
| 51 | + mode => '0755', |
| 52 | + require => Class['mongodb::install'], |
| 53 | + } |
35 | 54 | } |
36 | 55 |
|
37 | 56 | # wait for servers starting |
|
47 | 66 | file { "/etc/mongos_${mongos_instance}.key": |
48 | 67 | content => template('mongodb/mongos.key.erb'), |
49 | 68 | mode => '0700', |
50 | | - owner => $::mongodb::run_as_user, |
| 69 | + owner => $::mongodb::params::run_as_user, |
51 | 70 | require => Class['mongodb::install'], |
52 | 71 | notify => Service["mongos_${mongos_instance}"], |
53 | 72 | } |
|
59 | 78 | enable => $mongos_enable, |
60 | 79 | hasstatus => true, |
61 | 80 | hasrestart => true, |
| 81 | + provider => $service_provider, |
62 | 82 | require => [ |
63 | | - File["/etc/mongos_${mongos_instance}.conf"], |
64 | | - File["/etc/init.d/mongos_${mongos_instance}"], |
65 | | - Service[$::mongodb::old_servicename], |
| 83 | + File[ |
| 84 | + "/etc/mongos_${mongos_instance}.conf", |
| 85 | + "mongos_${mongos_instance}_service", |
| 86 | + $db_specific_dir], |
| 87 | + Service[$::mongodb::params::old_servicename], |
66 | 88 | Start_detector['configservers']], |
67 | 89 | before => Anchor['mongodb::end'] |
68 | 90 | } |
|
0 commit comments