Hello,
Puppet-3.6 here, although I think this has been bothering me since 3.4 or 3.5.
(Waiting on PUP-3190 for 3.7). I have this seemingly innocuous class:
-------------8<------------------------------------------
class ldap::slapd::nssov {
include ldap::slapd::rfc2307bis
# FIXME
file_line {"/etc/default/slapd::eww":
path => "/etc/default/slapd",
line => "mkdir -p /var/run/nslcd ;
chown openldap:openldap /var/run/nslcd",
require => Package["slapd"],
notify => Service["slapd"],
}
package {["libnss-ldapd", "libpam-ldapd",
"ldap-auth-config"]:
ensure => installed,
}
package {["nscd", "libnss-ldap", "libpam-ldap"]:
ensure => purged,
}
service {"nslcd":
ensure => stopped,
enable => false,
require => Package["libnss-ldapd"],
}
if !($ldap_nss_passwd and $ldap_nss_shadow and $ldap_nss_group) {
exec {"auth-client-config -t nss -p lac_ldap":
require => Package["ldap-auth-config"],
}
}
}
-------------8<------------------------------------------
Without fail, Exec["auth-client-config -t nss -p lac_ldap"] is
executing before
Package["ldap-auth-config"]. I don't have issues like this
anywhere else, so
what am I missing?
It shouldn't matter because the Exec is indeed part of the catalog, but
$ldap_nss_{passwd,shadow,group} are boolean facts, I have stringify turned off.
Thanks!