diff --git a/ldap/manifests/init.pp b/ldap/manifests/init.pp index 4f1e731..220ed3f 100644 --- a/ldap/manifests/init.pp +++ b/ldap/manifests/init.pp @@ -365,7 +365,7 @@ class ldap::server { command => "usermod -a -G ssl-cert openldap", unless => "id -n -G openldap | grep '\\bssl-cert\\b'", require => Package["openldap-server"], - before => Service["slapd"], + before => Exec["slaptest"], } } "fedora": { @@ -424,7 +424,7 @@ class ldap::server { default => "root", }, require => Package["openldap-server"], - notify => Service["slapd"], + notify => Exec["slaptest"], } file { "${ssl::private}/slapd.key": ensure => present, @@ -433,7 +433,7 @@ class ldap::server { owner => "root", group => $group, require => Package["openldap-server"], - notify => Service["slapd"], + notify => Exec["slaptest"], } file { "slapd.conf": @@ -443,7 +443,7 @@ class ldap::server { mode => "0640", owner => "root", group => $group, - notify => Service["slapd"], + notify => Exec["slaptest"], require => Package["openldap-server"], } file { "${config}/slapd.conf.d": @@ -468,7 +468,7 @@ class ldap::server { mode => "0644", owner => "root", group => "root", - notify => Service["slapd"], + notify => Exec["slaptest"], require => Package["openldap-server"], } } @@ -479,12 +479,20 @@ class ldap::server { mode => "0644", owner => "root", group => "root", - notify => Service["slapd"], + notify => Exec["slaptest"], require => Package["openldap-server"], } } } + exec { "slaptest": + command => "slaptest", + path => "/bin:/usr/bin:/sbin:/usr/sbin", + refreshonly => true, + require => File["${config}/slapd.conf.d"], + notify => Service["slapd"], + } + service { "slapd": name => $service_name, start => $::operatingsystem ? { @@ -493,7 +501,7 @@ class ldap::server { }, ensure => running, enable => true, - require => Package ["openldap-server"] + require => Package["openldap-server"] } if $ldap_datadir { @@ -562,7 +570,7 @@ class ldap::server { path => "/bin:/usr/bin:/sbin:/usr/sbin", refreshonly => true, require => File["${config}/slapd.conf.d"], - notify => Service["slapd"], + notify => Exec["slaptest"], } ldap::server::schema { [ "core", "cosine", "ppolicy", ]: idx => 10, @@ -574,13 +582,13 @@ class ldap::server { owner => "root", group => $group, require => Exec["generate-slapd-database-config"], - notify => Service["slapd"], + notify => Exec["slaptest"], } exec { "generate-slapd-database-config": command => "find ${config}/slapd.conf.d/db.*.conf -exec echo 'include {}' \\; > ${config}/slapd.conf.d/database.conf", path => "/bin:/usr/bin:/sbin:/usr/sbin", refreshonly => true, - notify => Service["slapd"], + notify => Exec["slaptest"], } } @@ -638,7 +646,7 @@ define ldap::server::database($aclsource = "", $master = "", $syncpw = "", $modu mode => "0640", owner => "root", group => $ldap::server::group, - notify => Service["slapd"], + notify => Exec["slaptest"], } file { "${ldap::server::config}/slapd.conf.d/index.${name}.conf": @@ -649,7 +657,7 @@ define ldap::server::database($aclsource = "", $master = "", $syncpw = "", $modu mode => "0640", owner => "root", group => $ldap::server::group, - notify => Service["slapd"], + notify => Exec["slaptest"], } file { "/srv/ldap/${name}": @@ -674,7 +682,7 @@ define ldap::server::database($aclsource = "", $master = "", $syncpw = "", $modu }, seltype => "slapd_db_t", require => File["/srv/ldap/${name}"], - before => Service["slapd"], + before => Exec["slaptest"], } }