Document campotocamp/systemd soft dependency#696
Conversation
ekohl
left a comment
There was a problem hiding this comment.
If this is added, a you can remove this line:
However, I'm not sure we need to. It's only needed if you enable the one option and only if you use systemd. Note we also support platforms which are unlikely to ever support that (BSD). However, I can't find the document around optional dependency best practices now.
Sorry I'm a bit confused now. Your systemd dependency inside the module is managed by code ( ) ... if that dependency is not being met then you don't have any systemd conflict. So as long as your code doesn't inject that systemd depencency somewhere it won't be a problem. Downloading the systemd module itself won't cause any harm on BSD systems either unless the module is being called. Similar practice when you need to download the package and you need to support multiple providers (like apt on RHEL systems). |
|
https://puppet.com/docs/puppet/5.5/style_guide.html#dependencies states:
This is a rather specific use case: if you enable file limits on the puppetserver when running on systemd. That's why I do feel that mentioning it in README.md should be sufficient. |
The problem is I don't really understand why you call this a soft dependency. Reason for that is you call part of this module in your code and even if you call it for some specific system type or distribution it is still not a suggested module to download. Without systemd module for that specific system type or distribution your puppet configuration module will not work at all and will drop big fat error. How does this code work or BSD then if you don't include the |
|
Not 100% sure, but I think this module would even work on Linux without the systemd modules, as long as the puppetserver features are not used... The main problem is that in the default config, the dropin is set to absent, which requires the system modules... |
|
Are you sure that defaults don't call it ? I use your module to configure initial puppet master and I use only this part to get it configured intially: So I'm not calling any dropin stuff by default... |
|
Looks like you are right that we do manage it even if the limits are not set ( |
|
I think I will have a problem with understanding what is the real soft and hard dependency in that case. I also disagree with Puppet RabbitMQ module dependency model but that's fine. I just think if you call any third party modules they should become an integral part of the module from 2 reasons:
Anyway I removed that hard dependency from |
mmoll
left a comment
There was a problem hiding this comment.
We'll fix the metadata.json nit on merge.
|
merged, dzięki @dogjarek! |
Description
This pull request is to merge changes in files listing module dependencies. Latest version (12.0.0) didn't mention
camptocamp/systemdmodule requirement hence when runningpuppet module install theforeman-puppetpuppet run failed with the dependency error.Changes
README.md- added new dependency section listing all the dependenciesmetadata.json- added new values to add dependency forcamptocamp/systemdmodule.