diff options
author | Andrew Bartlett <abartlet@samba.org> | 2010-04-28 10:39:05 +1000 |
---|---|---|
committer | Andrew Bartlett <abartlet@samba.org> | 2010-04-28 10:39:57 +1000 |
commit | 3c585e9a8068d5065b1a5f320ffd130290c1cd07 (patch) | |
tree | 8de6df88b997cad92854c2a81cbc3db34c85094c | |
parent | 4d1f0436bd4f63887173473541efa205fb98210f (diff) | |
download | samba-3c585e9a8068d5065b1a5f320ffd130290c1cd07.tar.gz samba-3c585e9a8068d5065b1a5f320ffd130290c1cd07.tar.bz2 samba-3c585e9a8068d5065b1a5f320ffd130290c1cd07.zip |
s4:provisionbackend Don't loop forever waiting for OpenLDAP
We need to give a good error when we can't get OpenLDAP to accept our
connections.
Andrew Bartlett
-rw-r--r-- | source4/scripting/python/samba/provisionbackend.py | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/source4/scripting/python/samba/provisionbackend.py b/source4/scripting/python/samba/provisionbackend.py index 25e416ce04..8d035ab670 100644 --- a/source4/scripting/python/samba/provisionbackend.py +++ b/source4/scripting/python/samba/provisionbackend.py @@ -222,6 +222,7 @@ class LDAPBackend(ProvisionBackend): self.slapd = subprocess.Popen(self.slapd_provision_command, close_fds=True, shell=False) + count = 0 while self.slapd.poll() is None: # Wait until the socket appears try: @@ -232,6 +233,11 @@ class LDAPBackend(ProvisionBackend): return except LdbError: time.sleep(1) + count = count + 1 + + if count > 15: + self.message("Could not connect to slapd started with: %s" % "\'" + "\' \'".join(self.slapd_provision_command) + "\'") + raise ProvisioningError("slapd never accepted a connection within 15 seconds of starting") self.message("Could not start slapd with: %s" % "\'" + "\' \'".join(self.slapd_provision_command) + "\'") raise ProvisioningError("slapd died before we could make a connection to it") |