Pioritize freeipa server installation in puppet by tuning site.yaml #502
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
We put profile::freeipa as the first element of the magic_castle::site::all list. This would have for effect to have all instances try to install FreeIPA first, which is not exactly what we want. We want to make sure the server is installed and configured as fast as possible, while client should do something else as long as possible as otherwise it risks waiting cycle waiting for the server installation to complete.
We have also move all
includestatements in classprofile::freeipa::serverfrom the beginning of the class definition to the very end. Puppet respects the manifest ordering, therefore when we were including first, some resource like the MySQL database was created before IPA server initialization. Simply moving these includes at the end of the class reduce the latency before launching FreeIPA server installation.The ipa client install is tied to cycle heavy puppet resource like packages by using resource collectors. So even if freeipa is the first class included, the client install will wait for other cycle heavy resources to complete. The server install is free of these artificial constraints, and therefore this change make the freeipa server almost the first thing to completed, apart from the ipa-server-dns package install and the creation of a file or two.
This PR also add two resource collectors dependencies to ipa client install:
ArchiveandUv::Venv.When testing, a login node with this PR would wait around 50 seconds for the IPA server to install, and a compute node would wait 1m50, with both having less than 15 seconds left of time required to complete their configuration.