What does this MR do?
Add support for LDAP server failover. Closed gitlab-org/gitlab-ee#139.
It introduces an LDAP configuration key called
hosts. Users can specify a server set with the syntax
['primary-ldap.example.com:389', 'failover-ldap.example.com:3890']. The first item will be used first in all cases while the second will be failover. The existing separate
port configurations will continue to work if
hosts is not set.
gitlab_omniauth-ldap1.3.0 needs to be released before this is merged.
Are there points in the code the reviewer needs to double check?
Why was this MR needed?
Many organizations want to have LDAP failover support. Net::LDAP supports it but omniauth-ldap and GitLab have not until now. It's simple to add because the library supports it. I chose to include this in CE because it would cause unnecessary merge conflicts if we try to separate the feature. It's also not a lot of effort so we should just not cause ourselves headaches for CE-EE merges. Also, it's nice to give this feature to the community.
Does this MR meet the acceptance criteria?
CHANGELOG entry added
API support added
Added for this feature/bug
All builds are passing
Conform by the merge request performance guides
Conform by the style guides
Branch has no merge conflicts with
master(if you do - rebase it please)
Squashed related commits together