Wouldn't it make sense to extend the LDAP configuration by a fail-over implementation? There are only small modifications necessary to achieve this goal. 1. in admin page allow input of comma seperated LDAP servers (this is already accepted) or better allow to add multiple servers by using multiple input boxes. 2. in lib/auth_ldap.py modify the self.LDAP_SERVER code into: self.LDAP_SERVER = "%s://%s:%s, %s://%s:%s" etc. There should be a logic around the value(s) stored for multiple servers to build the connection string.
That way ldap.initialize will use the next server in the list if connection setup fails.