puppet-sysctl
puppet-sysctl copied to clipboard
Enforce exec should find sysctl, test from path
On Gentoo, sysctl is in /usr/sbin, not /sbin, resulting in an error like:
Error: Could not find command '/sbin/sysctl'
Error: /Stage[main]/Sysctl[vm.min_free_kbytes]/Exec[enforce-sysctl-value-vm.min_free_kbytes]/returns: change from notrun
Other execs in this defined type use the path to find sysctl, so the enforce exec should as well.
This also fixes the indentation of the block to be consistent with the rest of the file.
Until this is merged I did a workaround:
class gentoo_base::puppet_sysctl_path_workaround {
# This is to work around https://github.com/thias/puppet-sysctl/pull/43 until it's merged
file { '/sbin/sysctl':
ensure => link,
target => '/usr/sbin/sysctl',
replace => false,
} ->
Class['sysctl::base']
# To remove it later
# exec { 'rm /sbin/sysctl':
# onlyif => 'test -L /sbin/sysctl',
# }
}
Can we merge it please?
Encountered this one as well. A merge would be nice.
This fix is working and can be merged :+1: