class sysctl { file { "sysctl_$name": path => "/etc/sysctl.conf", mode => 644, owner => root, group => root, ensure => present, } define config ($value, $comment) { augeas { "sysctl_$name": context => "/files/etc/sysctl.conf", changes => [ "set $name $value", "insert #comment before $name", "set #comment[last()] '$comment'" ], onlyif => "get $name != $value", notify => Exec["sysctl_$name"], } exec { "sysctl_$name": command => "/sbin/sysctl -p", subscribe => File["sysctl_$name"], refreshonly => true, } } } sysctl::config { "xen.independent_wallclock": value => 1, comment => "see http://wiki.debian.org/Xen#A.27clocksource.2BAC8-0.3ATimewentbackwards.27" } err: Could not run Puppet configuration client: Cannot alias File[sysctl_xen.independent_wallclock] to /etc/sysctl.conf; resource File[/etc/sysctl.conf] already exists