Issue #2682 has been reported by Mirko Gebauer.
----------------------------------------
Bug #2682: file {...}: replace => false, notify => Service[...] always triggers
notify if md5sums do not match
http://projects.reductivelabs.com/issues/2682
Author: Mirko Gebauer
Status: Unreviewed
Priority: Normal
Assigned to:
Category: file
Target version:
Affected version: 0.24.8
Keywords:
Branch:
Hi,
I've written a class to manage our local tomcat installations and presumably
discovered a bug with the combination of "replace => false, notify =>
Service[...]" in the "file" type. Here's the relevant code snippet:
@class tomcat {
include "java"
define provider($ensure, $jdk, $adminpass, $managed = true) {
{...}
file { "/etc/$name/tomcat-users.xml":
content => template("common/etc/$name/tomcat-users.xml.erb"),
owner => $name ? {
default => "$name",
"tomcat5.5" => "tomcat55",
},
group => $name ? {
default => "adm",
"tomcat5.5" => "nogroup",
},
mode => $name ? {
default => "0640",
"tomcat5.5" => "0644",
},
replace => $managed,
require => Package["$name"],
notify => Service["$name"],
}
{...}
}
}@
Call on corresponding node:
@tomcat::provider { "tomcat5.5": ensure => installed, jdk => "sun-java6-jdk",
adminpass => "something", managed => false }@
Now unfortunately, if the content of "/etc/$name/tomcat-users.xml" differs from
the one provided by the template file, "notify => Service["$name"]" will
restart the corresponding tomcat service every time the file is checked, even
though I had expected that notify would only be triggered if "replace => true",
not for "replace => false". With other words, the file correctly won't be
replaced, but notify incorrectly is triggered.
ad...@hudson:/var/log$ sudo puppetd --verbose --server puppetmaster.localdomain
--test --noop
info: Caching catalog at /var/lib/puppet/state/localconfig.yaml
notice: Starting catalog run
notice:
//Node[hudson.localdomain]/Tomcat::Provider[tomcat5.5]/File[/etc/tomcat5.5/tomcat-users.xml]/checksum:
is {md5}fcc2a978591dc7890fcc3db84bcc2d18, should be md5 (noop)
info:
//Node[hudson.localdomain]/Tomcat::Provider[tomcat5.5]/File[/etc/tomcat5.5/tomcat-users.xml]:
Scheduling refresh of Service[tomcat5.5]
notice:
//Node[hudson.localdomain]/Tomcat::Provider[tomcat5.5]/Service[tomcat5.5]:
Would have triggered refresh from 1 dependencies
notice: Finished catalog run in 9.92 seconds
Please correct me if I'm doing something wrong, but I consider this a bug since
the behaviour of the "file" type does not match the user's expectations.
--
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://reductivelabs.com/redmine/my/account
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"Puppet Bugs" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/puppet-bugs?hl=en
-~----------~----~----~----~------~----~------~--~---