aboutsummaryrefslogtreecommitdiff
path: root/lib/puppet/provider/cron
AgeCommit message (Collapse)Author
2023-11-22Convert ProcessOutput to String explicitlyJosh Cooper
The `filetype` provider executes `crontab` using Puppet's execution API, which returns ProcessOutput objects that inherit from String. See puppetlabs/puppet@732d450 The provider later uses String#gsub to strip off the HEADER. In Ruby 2.7, the gsub method returns a new instance of ProcessOutput: irb(main):002:0> Puppet::Util::Execution::ProcessOutput.new("# HEADER\n0 4 * * * /etc/init.d/script.sh\n", 0).gsub(/# HEADER/, '').class => Puppet::Util::Execution::ProcessOutput If you later serialize the crontab entries to YAML using `puppet resource`, then puppet warns about serializing unknown data types: # puppet resource cron --to_yaml Warning: Cron[unmanaged:/etc/init.d/script.sh-1]['command'] contains a Puppet::Util::Execution::ProcessOutput value. It will be converted to the String '/etc/init.d/script.sh' This wasn't an issue with Ruby 3.2, because String#gsub always returns a String: irb(main):002:0> Puppet::Util::Execution::ProcessOutput.new("# HEADER\n0 4 * * * /etc/init.d/script.sh\n", 0).gsub(/# HEADER/, '').class => String This commit explicitly converts the ProcessOutput to a String so the provider behaves consistently on all Ruby versions. Fixes #61
2021-10-01(MODULES-11197) Update to pdk-templates 2.2.0Gabriel Nagy
Includes REFERENCE.md ToC fixes for MODULES-8183.
2021-08-17(maint) Fix rubocop errorsJosh Cooper
Took the safest route and disabled cops either globally in .rubocop.yml for just for specific cases in lib/
2020-05-06(MODULES-8603) Ignore .keep_* filesEwoud Kohl van Wijngaarden
On Gentoo there's always a .keep_<package>-<slot> (e.g., .keep_cronbase-0) file inside the cron directory to ensure it's not removed with rmdir. Since usernames are very unlikely to start with .keep_, we can safely filter out these hidden files.
2019-06-13(PUP-9697) Updated crontab read path for SolarisSebastian Miclea
2019-01-09(MODULES-7789) Port over the PUP-9217 changesEnis Inan
PUP-9217 introduced the :raise_prefetch_errors option to the ParsedFile provider base class that, when set, will fail any resources associated with a failed prefetch target. Thus, when a file read error does occur, Puppet will fail all of the resources associated with the failed crontab (target). This means that the failed crontab will not be overwritten, thus fixing the issue described in the ticket. For more details, please refer to https://github.com/puppetlabs/puppet/commit/5b0fa987e5b7b27839e424ff16d59c7bf081c73a
2018-12-07(MODULES-8306) Port over the crontab filetypes from PuppetEnis Inan
2018-08-08Disable Lint/EmptyWhen copJorie Tappa
2018-08-08Fix Style/MultilineBlockChain violationJorie Tappa
2018-08-07Fix Style/GuardClause violations.Jorie Tappa
2018-08-01Fix Lint/EndAlignment violationsJorie Tappa
2018-08-01Fix Lint/AssignmentInCondition violations.Jorie Tappa
2018-08-01Apply automatic pdk validate fixesJorie Tappa
2018-07-31Initial cron import from puppet 7a4c5f07bdf61a7bc7aa32a50e99489a604eac52Jorie Tappa