Issue #20121 has been updated by Tim Eilers.
The patch leads to another problem: Now boot.* services configured in puppet manifests with enable=>true are enabled on every puppet run. Here an example of a SLES 11 SP 2: <pre> # /sbin/chkconfig boot.sysctl --check # echo $? 1 # /sbin/chkconfig --list -A| grep sysctl boot.sysctl 0:off 1:off 2:off 3:off 4:off 5:off 6:off B:on # /sbin/chkconfig boot.sysctl boot.sysctl on # echo $? 0 # /sbin/chkconfig boot.multipath --check # echo $? 1 # /sbin/chkconfig --list -A| grep boot.multipath boot.multipath 0:off 1:off 2:off 3:off 4:off 5:off 6:off # /sbin/chkconfig boot.multipath boot.multipath off # echo $? 0 </pre> Like you can see, both solutions (previous and current) are not sufficient for boot.* services. The previous always returned 0, the current solution always returns 1 for boot.* services, regardless if they are enabled or not. I believe the only stable solution would be parsing the output of "chkconfig --list -A". The root cause is indeed in misbehaviour of chkconfig script, but it would be great if puppet has a workaround for that :) ---------------------------------------- Bug #20121: SLES service acts different than RedHat https://projects.puppetlabs.com/issues/20121#change-97670 * Author: Charles Dunbar * Status: Merged - Pending Release * Priority: Normal * Assignee: * Category: service * Target version: 3.3.0 * Affected Puppet version: * Keywords: sles chkconfig customer * Branch: https://github.com/puppetlabs/puppet/pull/1602 ---------------------------------------- On Puppet 2.7.19, when trying to manage a non-existant service in RedHat/CentOS, puppet compiles without issue. When you use the exact same manifest for SLES (currently testing x64 SLES 11.1), you get an error that the service doesn't exist. Manifest: <pre> service { 'foo': ensure => 'false', enable => false, } </pre> On CentOS 6.3, with --debug: <pre> debug: Service[foo](provider=redhat): Executing '/sbin/service foo status' debug: Puppet::Type::Service::ProviderRedhat: Executing '/sbin/chkconfig foo' notice: Finished catalog run in 5.04 seconds </pre> On SLES 11.1: <pre> debug: Service[foo](provider=redhat): Executing '/sbin/service foo status' debug: Puppet::Type::Service::ProviderRedhat: Executing '/sbin/chkconfig foo' debug: Puppet::Type::Service::ProviderRedhat: Executing '/sbin/chkconfig foo off' err: /Stage[main]/Cron/Service[foo]/enable: change from true to false failed: Could not disable foo: notice: Finished catalog run in 1.80 seconds </pre> Looks like trying to call the service off is the failure. Ideally would prefer a non-existing service to be assumed to be off, as the centos machine simulates. -- You have received this notification because you have either subscribed to it, or are involved in it. To change your notification preferences, please click here: http://projects.puppetlabs.com/my/account -- You received this message because you are subscribed to the Google Groups "Puppet Bugs" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at http://groups.google.com/group/puppet-bugs. For more options, visit https://groups.google.com/groups/opt_out.
