Issue #8464 has been updated by Michael Johnson. Status changed from Unreviewed to Closed
Ok, so this does not appear to be a puppet bug after all. Installing the slapd package when it has been purged from the system results in /var/lib/ldap being completely removed. This seems like a bad thing, but it is a slapd package issue, and not a puppet issue. ---------------------------------------- Bug #8464: puppet reports a directory has been created when it has not been. https://projects.puppetlabs.com/issues/8464 Author: Michael Johnson Status: Closed Priority: Normal Assignee: Category: file Target version: Affected Puppet version: 2.6.4 Keywords: Branch: Sometimes, puppet claims a directory has been created when in fact it has not. If you look at the output below, you will see that puppet claims the directory /var/lib/ldap/dc=example,dc=com was created even though it has not been created as you can see from the output of the 'ls -al' commands I ran after the failure. This is very disturbing as it means I cannot rely upon puppet to do what it is told which is obviously critical for a configuration management tool. <pre> --- notice: /Stage[main]/Host::Install/Ldap::Server[ldap_server]/Directory[/var/lib/puppet/state/modules/ldap]/File[/var/lib/puppet/state/modules/ldap]/ensure: created notice: /Stage[main]/Host::Install/Ldap::Server[ldap_server]/Ldap::Server::Directory[dc=example,dc=com]/File[/var/lib/puppet/state/modules/ldap/dc=example,dc=com-conf.ldif]/ensure: created notice: /Stage[main]/Host::Install/Ldap::Server[ldap_server]/Ldap::Server::Directory[dc=example,dc=com]/File[/var/lib/puppet/state/modules/ldap/dc=example,dc=com-init.ldif]/ensure: created notice: /Stage[main]/Host::Install/Ldap::Server[ldap_server]/Directory[/var/lib/ldap]/File[/var/lib/ldap]/ensure: created notice: /Stage[main]/Host::Install/Ldap::Server[ldap_server]/Ldap::Server::Directory[dc=example,dc=com]/Directory[/var/lib/ldap/dc=example,dc=com]/**File[/var/lib/ldap/dc=example,dc=com]/ensure: created** notice: /Stage[main]/Host::Install/Ldap::Client[ldap_client]/Package[ldap-auth-client]/ensure: ensure changed 'purged' to 'present' notice: /Stage[main]/Host::Install/Ldap::Client[ldap_client]/Ldap::Toggle[/etc/ldap.conf]/File[/etc/ldap.conf]/content: content changed '{md5}95d00276065f2a7b704f1017267306e2' to '{md5}5492da0c564c7fc6b8d28cf2b52090ea' notice: /Stage[main]/Host::Install/Ldap::Client[ldap_client]/Package[nss-updatedb]/ensure: ensure changed 'purged' to 'present' notice: /Stage[main]/Host::Install/Ldap::Server[ldap_server]/Package[slapd]/ensure: ensure changed 'purged' to 'present' notice: /Stage[main]/Host::Install/Ldap::Client[ldap_client]/Ldap::Toggle[/etc/nsswitch.conf]/File[/etc/nsswitch.conf]/content: content changed '{md5}295c15c4bdac80e50b37689ef08f359c' to '{md5}1d9ef6cea8d070e37f2428ae43fd5255' notice: /Stage[main]/Host::Install/Ldap::Client[ldap_client]/Package[libpam-ccreds]/ensure: ensure changed 'purged' to 'present' notice: /Stage[main]/Host::Install/Ldap::Server[ldap_server]/Package[ldap-utils]/ensure: ensure changed 'purged' to 'present' notice: /Stage[main]/Host::Install/Ldap::Server[ldap_server]/File[ldap_config]/ensure: created notice: /Stage[main]/Host::Install/Ldap::Server[ldap_server]/Exec[ldapmodify -Y EXTERNAL -H ldapi:/// -f '/var/lib/puppet/state/modules/ldap/ldap_config.ldif']: Triggered 'refresh' from 1 events err: /Stage[main]/Host::Install/Ldap::Server[ldap_server]/Ldap::Server::Directory[dc=example,dc=com]/Exec[ldapadd -Y EXTERNAL -H ldapi:/// -f '/var/lib/puppet/state/modules/ldap/dc=example,dc=com-conf.ldif']/returns: change from notrun to 0 failed: ldapadd -Y EXTERNAL -H ldapi:/// -f '/var/lib/puppet/state/modules/ldap/dc=example,dc=com-conf.ldif' returned 80 instead of one of [0] at /etc/puppet/modules/ldap/manifests/server/directory.pp:100 notice: /Stage[main]/Host::Install/Ldap::Server[ldap_server]/Ldap::Server::Directory[dc=example,dc=com]/Exec[ldapadd -Y EXTERNAL -H ldapi:/// -f '/var/lib/puppet/state/modules/ldap/dc=example,dc=com-init.ldif']: Dependency Exec[ldapadd -Y EXTERNAL -H ldapi:/// -f '/var/lib/puppet/state/modules/ldap/dc=example,dc=com-conf.ldif'] has failures: true warning: /Stage[main]/Host::Install/Ldap::Server[ldap_server]/Ldap::Server::Directory[dc=example,dc=com]/Exec[ldapadd -Y EXTERNAL -H ldapi:/// -f '/var/lib/puppet/state/modules/ldap/dc=example,dc=com-init.ldif']: Skipping because of failed dependencies $ sudo ls -al /var/lib/ldap/dc=example,dc=com **ls: cannot access /var/lib/ldap/dc=example,dc=com: No such file or directory** $ sudo ls -al /var/lib/ldap/ total 1672 drwx------ 2 openldap openldap 4096 2011-07-17 18:23 . drwxr-xr-x 37 root root 4096 2011-07-17 18:23 .. -rw-r--r-- 1 openldap openldap 2048 2011-07-17 18:23 alock -rw------- 1 openldap openldap 24576 2011-07-17 18:23 __db.001 -rw------- 1 openldap openldap 393216 2011-07-17 18:23 __db.002 -rw------- 1 openldap openldap 2629632 2011-07-17 18:23 __db.003 -rw------- 1 openldap openldap 163840 2011-07-17 18:23 __db.004 -rw------- 1 openldap openldap 1286144 2011-07-17 18:23 __db.005 -rw------- 1 openldap openldap 32768 2011-07-17 18:23 __db.006 -rw-r--r-- 1 openldap openldap 96 2011-07-17 18:23 DB_CONFIG -rw------- 1 openldap openldap 8192 2011-07-17 18:23 dn2id.bdb -rw------- 1 openldap openldap 32768 2011-07-17 18:23 id2entry.bdb -rw------- 1 openldap openldap 10485760 2011-07-17 18:23 log.0000000001 -rw------- 1 openldap openldap 8192 2011-07-17 18:23 objectClass.bdb --- </pre> In this particular case, the module fails at this exact point, and other times completes successfully. Regardless of if it succeds or fails, the expanded_relationships.dot file shows that Exec[ldapadd -Y EXTERNAL -H ldapi:/// -f '/var/lib/puppet/state/modules/ldap/dc=example,dc=com-conf.ldif'] does require File[/var/lib/ldap/dc=example,dc=com]. -- You have received this notification because you have either subscribed to it, or are involved in it. To change your notification preferences, please click here: http://projects.puppetlabs.com/my/account -- You received this message because you are subscribed to the Google Groups "Puppet Bugs" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/puppet-bugs?hl=en.
