tiredofit / docker-openldap-fusiondirectory

Dockerized OpenLDAP server with FusionDirectory Schema Support
41 stars 15 forks source link

Stuck waiting for OpenLDAP #1

Closed spoctoss closed 5 years ago

spoctoss commented 5 years ago

I have spent a fair amount of time trying to figure this out but the image gets stuck during the init script when waiting for OpenLDAP to start. The openldap section nevers exits and never completes startup. I havent gotten any errors in the output, so not totally sure whats causing it.

[cont-init.d] 10-openldap: executing... [openldap] First time install detected [openldap] Using NIS schema type [openldap] Starting OpenLDAP Initialization Sequence [openldap] Waiting for OpenLDAP to be ready

tiredofit commented 5 years ago

Hi there... Let's give it a try with DEBUG_MODE=TRUE as your environment variable and let's try to work through this together.

Are you using the recommended docker-compose.yml I have provided, or following it generally?

spoctoss commented 5 years ago

Thanks for responding

I took the example compose file you have on there and just modified it to my environment. with debug on it seems to be failing to bind to a port.

5bc8ee63 @(#) $OpenLDAP: slapd 2.4.46 (Oct 17 2018 10:28:59) $ @dfc9fd85dd17:/tiredofit/openldap:6.0.2/servers/slapd 5bc8ee63 daemon: bind(7) failed errno=99 (Address not available) 5bc8ee63 slapd stopped.

tiredofit commented 5 years ago

OK.. Let me think here. There was a tonne of hacking about to get this put together all revolving around the replication component which you may or may not be using. Do you have the hostname: and domainname: field set? If so, can you look inside the /etc/hosts inside the container and see if it does exist?

I start Openldap twice each container start. The first time, to reload things like the TLS configuration, Replication Configuration and a couple other init routines. Once it's completed, then I start it up regularly to run as a daemon. I believe I'm going to need to start building into the debug routines to capture which load its failing at. If you wanted to setup a private gist/attachment and let me know the location (my email resides in the changelog) I can try to unpack this a bit further.

spoctoss commented 5 years ago

Ok I think I got it, when I checked the hosts file it had the fqdn doubled up like this ldap.exmaple.com.ldap.example.com. so I edited

openldap-fusiondirectory-app: hostname: ldap.example.com domainname: ldap.example.com

to be

openldap-fusiondirectory-app: hostname: ldap domainname: example.com

Now it shows up correctly in the hosts file

tiredofit commented 5 years ago

Fantastic. I get different results on different hosts (docker compose? docker? base os) with hostname and domainname - On my Arch systems for some unknown reason I have to make both match. Glad its working and enjoy the image! We're using it in a production environment with 11 hosts happily replicating each other handling over 6 million operations a day on each host,