Description of problem: I run a 389 server and BIND server on the same machine as nslcd, but nslcd tries to start before dirsrv and named are able to come up Version-Release number of selected component (if applicable): nss-pam-ldapd-0.7.13-7.fc16.x86_64 How reproducible: 100% Steps to Reproduce: 1. Set up dirsrv on host 1. Set up named on host, add _ldap._tcp pointing to dirsrv 2. Set up nslcd with "uri dns" 3. Reboot machine Actual results: In /var/log/messages you get: nslcd[2382]: nslcd: /etc/nslcd.conf:133: no servers found in DNS zone example.com Expected results: In /var/log/messages you should get: nslcd[3172]: accepting connections Additional info:
Do I get it right: a) You configure BIND to use 389 b) You want nslcd to use BIND on the same host for the hosts map but the order in which the services start prevents you from doing it. In general you can't arbitrarily change the order of the things because if you use nss_ldap for identities it should start as early as possible in the sequence. For your case the order should be different though. Since you are on F17 you might need to play with the systemd dependencies. This issues seems more to be a configuration issue rather than a bug in either of the three components.
Adding "After=named.service dirsrv.target slapd.service" to the unit file, so that if you happen to be running named or openldap or 389 on the same system, systemd should wait to start nslcd until those have been brought up.