Unify Debian MPM management with "mpm_" prefix #2556
+172
−135
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.
Summary
This change unifies the management of MPM modules using the "mpm_" prefix on the Debian platform. Previously, there were inconsistencies in whether MPM modules were enabled or disabled with the title
$mpm
ormpm_${mpm}
. The changes tompm.pp
and the related individual mod manifests make it so that on the Debian platform, MPM modules are always referred to with the "mpm_" prefix. This is consistent with how the modules are installed and addressed by the Apache package maintainers for the Debian platform.With this change implemented, an administrator is able to enable or disable MPM modules without introducing conflicts to the Apache service. Prior to this change, if the "prefork" or "worker" modules were enabled under the package maintainer provided name "mpm_worker" or "mpm_prefork", the
disable_mpm_*.pp
would fail to disable the modules. Similarly, if the "mpm_event" module was enabled by this Puppet module, the associateddisable_mpm_event.pp
would fail to disable it, as it was looking for the module under the name "mpm_event," but the module was enabled as "event".The changes to accomplish this are:
event.pp
,itk.pp
,prefork.pp
andworker.pp
that changes the conf file name tompm_*.conf
on Debian hosts.mpm.pp
to create load files that match the name and content as provided by the Debian Apache package maintainers.mpm.pp
to refer to load and conf files on Debian by a relative symlink and with the "mpm_" prefix, to match behavior of the modules installed via APT and changes made bya2enmod
.disable_mpm_*.pp
to make sure that the module is disabled, regardless of name. Additionally, adds thempm_itk
todisable_mpm_prefork.pp
asmpm_itk
must be disabled for disablingmpm_prefork
to succeed.Additional Context
The initial problem leading to this fix is that if you use the module to enable
mpm_event
and then later try to enable a different MPM module, applying the catalog will fail. This change fixes that issue, and makes sure behavior and naming is consistent and matches what the Debian Apache package maintainers provide for module load definitions.Related Issues (if any)
This resolves #2555.
Checklist
puppet apply
) Tested and verified on Debian 12 hosts in my Puppet environment.