Unify Debian MPM management with "mpm_" prefix - #2556
Conversation
|
Hi @chacunda , I'm sorry that there hasn't been a response on this PR before now. I'm going through older PRs and wondering if this is still an issue that you need resolved? |
|
Hi @jst-cyr, thanks for the response. I have been running my team's Puppet instance with these changes since I submitted this PR originally, so I don't have an immediate need for any action from the upstream repository. If there aren't resources available to validate and merge this change, I wouldn't consider it a priority. However, I still think the change to unify how the manifests enable and disable MPM modules on Debian would be valuable for anyone who manages workstations or other frequently changing hosts running Apache via Puppet. If you have any questions or would like me to otherwise update the change to prepare for a merge given the passage of time and changes to the upstream code, I can do so. Please let me know. |
f26b37c to
795d44d
Compare
|
Thank you for the offer @chacunda ! I've pulled in a rebase and will rerun the CI so we can do a check of these changes against latest. If the CI looks good, we can get some acceptance tests running and then eventually the engineering review. Thanks again! |
|
@chacunda : Looks like the spec tests found some syntax issues. |
795d44d to
357a1e1
Compare
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
$mpmormpm_${mpm}. The changes tompm.ppand 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_*.ppwould fail to disable the modules. Similarly, if the "mpm_event" module was enabled by this Puppet module, the associateddisable_mpm_event.ppwould 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.ppandworker.ppthat changes the conf file name tompm_*.confon Debian hosts.mpm.ppto create load files that match the name and content as provided by the Debian Apache package maintainers.mpm.ppto 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_*.ppto make sure that the module is disabled, regardless of name. Additionally, adds thempm_itktodisable_mpm_prefork.ppasmpm_itkmust be disabled for disablingmpm_preforkto succeed.Additional Context
The initial problem leading to this fix is that if you use the module to enable
mpm_eventand 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.