Add httpd MPM event module configuration#483
Merged
ehelms merged 3 commits intotheforeman:masterfrom May 6, 2026
Merged
Conversation
Contributor
Author
|
The errors are infra errors and not related to the change. |
ehelms
reviewed
May 4, 2026
Deploy event.conf template for the Apache MPM event module with configurable parameters via role defaults. This establishes foremanctl management of ServerLimit, MaxRequestWorkers, ListenBacklog, and related parameters. Defaults: ServerLimit=25, ThreadsPerChild=16. MaxRequestWorkers is only rendered when explicitly set, allowing Apache to derive it as ServerLimit * ThreadsPerChild by default. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Add httpd ServerLimit and MaxRequestWorkers overrides to each tuning profile, matching the values from foreman-installer custom-hiera tuning sizes. All tuning profiles (medium, large, extra-large, extra-extra-large): ServerLimit=64, MaxRequestWorkers=1024 Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Verify that event.conf is deployed with the expected directives and that httpd config syntax is valid after deployment. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
ehelms
approved these changes
May 6, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Why are you introducing these changes? (Problem description, related links)
foremanctl does not manage the Apache MPM event module configuration.
Without an explicit
event.conf, httpd uses its compiled-in defaults:ServerLimit=16,ThreadsPerChild=25,MaxRequestWorkers=400.In foreman-installer deployments, puppet-apache sets base defaults of
ServerLimit=25andThreadsPerChild=16(with MaxRequestWorkersderived automatically as ServerLimit * ThreadsPerChild). The tuning
profiles then override these to
ServerLimit=64andMaxRequestWorkers=1024via custom-hiera. foremanctl has no equivalent,leaving the system severely under-provisioned for concurrent workloads
such as bulk host registration.
With only 400 MaxRequestWorkers, httpd begins rejecting connections once
concurrent requests exceed this limit, causing registration failures that
are entirely avoidable with proper MPM configuration.
What are the changes introduced in this pull request?
event.conf.j2template to the httpd role with configurable MPMevent parameters (ServerLimit, MaxRequestWorkers, ListenBacklog, etc.)
MaxRequestWorkers not set — Apache derives it automatically)
extra-extra-large matching the foreman-installer custom-hiera values
(ServerLimit=64, MaxRequestWorkers=1024)
event.confto/etc/httpd/conf.modules.d/How to test this pull request
Steps to reproduce:
foremanctl deploy/etc/httpd/conf.modules.d/event.confexists withServerLimit 25and no explicitMaxRequestWorkersforemanctl deploy --tuning large/etc/httpd/conf.modules.d/event.confnow hasServerLimit 64andMaxRequestWorkers 1024httpd -tto confirm syntaxhammer pingto confirm all services operationalChecklist