After the IPA test day it became clear that our discovery mechanisms were inadequate. Rework them to better discover IPA and AD. This is a bit more code, but results in a much more reliable experience. It also allows us to do things like specify the server name to discover.
Created attachment 78443 [details] [review] Rework the discovery mechanisms * Actually use MS-CLDAP to connect to AD servers * Use RootDSE lookups to discover IPA servers * Support discovery of a specific server
Yassir, this is ready for review, sorry for the delay.
Created attachment 78448 [details] [review] Enable usage of explicit servers when joining domains * Use of explicit host names when joining domains is now possible * If done, configures sssd/winbind to use only that server * Use discovery information correctly in various locations rather than making assumptions
Created attachment 78456 [details] [review] Discover timeouts and defaults happen globally * When discovery takes too long cancel all possible discovery for every provider. There were straglers before that would have off side effects * Lookup the DHCP realm name at the highest level. That way it can be fed into all the providers as a default
Created attachment 78458 [details] [review] Rework the discovery mechanisms Found various bugs, fine tune.
Created attachment 78465 [details] [review] Rework the discovery mechanisms * Actually use MS-CLDAP to connect to AD servers * Use RootDSE lookups to discover IPA servers * Support discovery of a specific server
Attachment 78448 [details] pushed as 879f942 - Enable usage of explicit servers when joining domains Attachment 78456 [details] pushed as 2d15aad - Discover timeouts and defaults happen globally Attachment 78465 [details] pushed as d16d3a2 - Rework the discovery mechanisms Pushed with a bunch more fine tuning, changes and review. This needs to be included in the Fedora test day, so not waiting for further review.
Some test cases for Fedora test day which are useful for checking these changes: https://fedoraproject.org/wiki/QA:Testcase_realmd_discovery https://fedoraproject.org/wiki/QA:Testcase_realmd_discover_single https://fedoraproject.org/wiki/QA:Testcase_realmd_join_server
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.