-
-
Notifications
You must be signed in to change notification settings - Fork 134
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Version 6.1.0 breaks disabling nonexistent services #386
Comments
Digging into this a bit further:
I can fix the immediate problem by changing the 6.1.0 script to:
This still doesn't fix the issue though that there may already be an existing |
A potential workaround that I've been using:
If the package isn't yet installed (as determined by the After the package is installed the normal puppet At least on Ubuntu this works but I doubt it has general applicability (although the puppet code linked above is specific to debian family systems anyway). This also may not work in future if/when the slapd daemon control script is moved from an initv script into a native systemd service (the |
Thank you for your report. I like the idea of masking the unit! It seems to work well on all supported OS according to the acceptance test suite, you can check this in #387. |
Affected Puppet, Ruby, OS and module versions/distributions
How to reproduce
With 6.1.0, the new
$openldap::server::manage_policy_rc_d
causes a/usr/sbin/policy-rc.d
file to be created.This then breaks
puppet-nftables
with aError: /Stage[main]/Nftables/Service[firewalld]/enable: change from 'true' to 'false' failed: Could not disable firewalld: (corrective)
puppet-nftables
is just one example of the failure. You will get the same behaviour with any other puppet module that tries to disable a non-existent service (in this casenftables
disablesfirewalld
whether it exists or not)Minimal example script:
Without the
openldap::server::install
this works fine.If I comment out the
file { '/usr/sbin/policy-rc.d'
declaration inopenldap::server::install
(and delete the/usr/sbin/policy-rc.d
if it has already been created) then it also works fine.What are you seeing
After
openldap::server
is included in the puppet config the/usr/sbin/policy-rc.d
file is installed.This changes the behaviour of
/usr/sbin/invoke-rc.d
which in turn causes puppet to attempt to disable nonexistent services on every run. Since those services don't exist puppet fails.What behaviour did you expect instead
puppet-openldap
should not break disabling of nonexistent services.The text was updated successfully, but these errors were encountered: