thias / puppet-sysctl

Puppet module to manage sysctl parameters
Other
35 stars 86 forks source link

Enforce exec should find sysctl, test from path #43

Open jameslikeslinux opened 8 years ago

jameslikeslinux commented 8 years ago

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.

tobiaspal commented 8 years ago

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?

ntnn commented 7 years ago

Encountered this one as well. A merge would be nice.

saz commented 7 years ago

This fix is working and can be merged :+1: