I spend a good 30 minutes today wondering why my ‘file’ clause wasn’t working.
Here’s what it looked like:
# Pull in rules which are GIT managed
file { "/usr/local/zeus/zxtm/conf/rules":
source => "puppet:///zeus/files/rules",
owner => "root",
group => "root",
mode => 600,
sourceselect => all,
recurse => true,
}
Now it just maybe me, but I expect to be able to use ‘zeus/files/rules’ as, you know, that’s where the files live. However as this is Puppet DSL and the ‘file’ type expects all files to live in a ‘files’ directory off the top of the module, the clause should look like:
# Pull in rules which are GIT managed
file { "/usr/local/zeus/zxtm/conf/rules":
source => "puppet:///zeus/rules",
owner => "root",
group => "root",
mode => 600,
sourceselect => all,
recurse => true,
}
It’s a small point of order but it’s things like this that really get under my skin about Puppet. Also – who the hell writes something like this in Ruby? 😉


