|
355 | 355 | $trap_service_hasrestart = $snmp::params::trap_service_hasrestart, |
356 | 356 | String[1] $template_snmpd_conf = $snmp::params::template_snmpd_conf, |
357 | 357 | String[1] $template_snmpd_sysconfig = $snmp::params::template_snmpd_sysconfig, |
| 358 | + String[1] $template_snmpd_systemd_override = $snmp::params::template_snmpd_systemd_override, |
358 | 359 | String[1] $template_snmptrapd = $snmp::params::template_snmptrapd, |
359 | 360 | String[1] $template_snmptrapd_sysconfig = $snmp::params::template_snmptrapd_sysconfig, |
| 361 | + String[1] $template_snmptrapd_systemd_override = $snmp::params::template_snmptrapd_systemd_override, |
360 | 362 | Boolean $openmanage_enable = $snmp::params::openmanage_enable, |
361 | 363 | Boolean $master = $snmp::params::master, |
362 | 364 | $agentx_perms = $snmp::params::agentx_perms, |
|
439 | 441 | } |
440 | 442 | } |
441 | 443 |
|
| 444 | + if $facts['os']['family'] == 'Debian' and $facts['service_provider'] == 'systemd' { |
| 445 | + include 'systemd::systemctl::daemon_reload' |
| 446 | + file {[ |
| 447 | + '/etc/systemd/system/snmpd.service.d', |
| 448 | + '/etc/systemd/system/snmptrapd.service.d/', |
| 449 | + ]: |
| 450 | + ensure => 'directory', |
| 451 | + owner => 'root', |
| 452 | + group => 'root', |
| 453 | + mode => '0755', |
| 454 | + } |
| 455 | + file {'/etc/systemd/system/snmpd.service.d/local.conf': |
| 456 | + ensure => 'file', |
| 457 | + owner => 'root', |
| 458 | + group => 'root', |
| 459 | + mode => '0644', |
| 460 | + content => template($template_snmpd_systemd_override), |
| 461 | + require => Package['snmpd'], |
| 462 | + notify => [ |
| 463 | + Exec['systemctl-daemon-reload'], |
| 464 | + Service['snmpd'], |
| 465 | + ], |
| 466 | + } |
| 467 | + file {'/etc/systemd/system/snmptrapd.service.d/local.conf': |
| 468 | + ensure => 'file', |
| 469 | + owner => 'root', |
| 470 | + group => 'root', |
| 471 | + mode => '0644', |
| 472 | + content => template($template_snmptrapd_systemd_override), |
| 473 | + require => Package['snmptrapd'], |
| 474 | + notify => [ |
| 475 | + Exec['systemctl-daemon-reload'], |
| 476 | + Service['snmptrapd'], |
| 477 | + ], |
| 478 | + } |
| 479 | + } |
| 480 | + |
442 | 481 | # Config |
443 | 482 | file { 'snmpd.conf': |
444 | 483 | ensure => $file_ensure, |
|
501 | 540 | } |
502 | 541 | } |
503 | 542 |
|
| 543 | + # If options change on debian with systemd, we need to reload the systemd daemon |
| 544 | + # before restarting the service. |
| 545 | + if $facts['os']['family'] == 'Debian' and $facts['service_provider'] == 'systemd' { |
| 546 | + $service_requires = [File['var-net-snmp'], Exec['systemctl-daemon-reload']] |
| 547 | + } else { |
| 548 | + $service_requires = File['var-net-snmp'] |
| 549 | + } |
| 550 | + |
504 | 551 | # Services |
505 | 552 | service { 'snmptrapd': |
506 | 553 | ensure => $trap_service_ensure_real, |
507 | 554 | name => $trap_service_name, |
508 | 555 | enable => $trap_service_enable_real, |
509 | 556 | hasstatus => $trap_service_hasstatus, |
510 | 557 | hasrestart => $trap_service_hasrestart, |
511 | | - require => File['var-net-snmp'], |
| 558 | + require => $service_requires, |
512 | 559 | subscribe => File['snmptrapd.conf'], |
513 | 560 | } |
514 | 561 |
|
|
518 | 565 | enable => $service_enable_real, |
519 | 566 | hasstatus => $service_hasstatus, |
520 | 567 | hasrestart => $service_hasrestart, |
521 | | - require => File['var-net-snmp'], |
| 568 | + require => $service_requires, |
522 | 569 | subscribe => File['snmpd.conf'], |
523 | 570 | } |
524 | 571 |
|
|
0 commit comments