Skip to content

Conversation

@cmd-ntrf
Copy link
Member

@cmd-ntrf cmd-ntrf commented Jan 22, 2026

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 include statements in class profile::freeipa::server from 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: Archive and Uv::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.

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.

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.
@cmd-ntrf cmd-ntrf self-assigned this Jan 22, 2026
@cmd-ntrf cmd-ntrf added the enhancement New feature or request label Jan 22, 2026
@cmd-ntrf cmd-ntrf merged commit 7450d97 into main Jan 22, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants