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.
rsyslog_config is now only managed if fact rsyslog_version is set. If
rsyslog_config is managed while $::rsyslog_version is unavailable an
incompatible configuration file might be installed and prevent rsyslog
from logging until next Puppet run when $::rsyslog_version is present.
If a different syslog daemon than rsyslog is used on a system running this module there's a good change that rsyslog won't log anything at until the next Puppet run. The fact rsyslog_version isn't populated with any version string in the beginning of the Puppet run because rsyslog is not yet installed. Because of this there's a big chance the configuration file installed won't work with the rsyslog version installed on the system because it falls back to the earliest version available which is 2.
We've seen this on SLE11.1 systems but I'm sure it happens on other operating systems as well.
Proposed solution is to only manage rsyslog_config if rsyslog_version has a value. This will prevent Puppet from installing a configuration file that does not work with the current system's rsyslog version.