I'm trying to pass ensure=> values in variables (and set resource defaults
conditionally) and it doesn't seem to work that way. If there's some way of
getting this working I am very happy to hear about it.
In my site.pp I have this sort of thing:
if $::devstyle and str2bool($::devstyle) {
notify { 'et': message => 'devstyle on' }
File {
ensure => present,
}
$filefe = present
}
else {
$filefe = file
}
The idea is that puppet will treat all file resources as ensure=>present
anywhere that devstyle=true (it's an external fact). I do see the notify text
in syslog when the agent run proceeds.
However, two things are not happening:
1) not getting the resource default when the resource does not have ensure=>
(puppet reverts my manually modified file)
2) ensure => $::filefe is not ensuring 'present' when devstyle=true (special
corporate bits censored out):
notify { 'mrt1':
message => "filefe=${::filefe}"
}
file { '/etc/mrouted.conf':
ensure => $::filefe,
content => "whatever\n",
}
The notify reports the expected value of $::filefe is as I expect, but the
file's contents are still managed.
Apr 30 13:25:30 myhost puppet-agent[28675]:
(/Stage[main]/Mrouted/Notify[mrt1]/message) defined 'message' as
'filefe=present'
Apr 30 13:25:26 myhost puppet-agent[28675]:
(/Stage[main]/Mrouted/File[/etc/mrouted.conf]/content) content changed
'{md5}35195dd2d3f40d5bbd647c642919c86a' to
'{md5}f5c4f579df6e0d5b088f8811f556c73b'
On the bright side, it works exactly the same way without
hiera_include()/modules/etc.
$ cat /tmp/file1
my contents
$ cat /tmp/t.pp
$dire = directory
$file= present
#$file = file
class myclass {
notice("dire=${::dire} and file=${::file}")
file { '/tmp/dir1':
ensure => $::dire,
}
file { '/tmp/file1':
ensure => $::file,
content => "file1 contents\n",
}
}
include ::myclass
$ puppet apply /tmp/t.pp
Notice: Scope(Class[Myclass]): dire=directory and file=present
Notice: Compiled catalog for cwl.hostopia.com in environment production in 0.07
seconds
Notice: /Stage[main]/Myclass/File[/tmp/file1]/content: content changed
'{md5}579f6bb5beadcc02c12382fd65f583fb' to
'{md5}a3814bc196b27f6b4c6409d2a0e5899f'
Notice: Finished catalog run in 0.15 seconds
$ cat /tmp/file1
file1 contents
--
You received this message because you are subscribed to the Google Groups
"Puppet Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/puppet-users/20150430180003.GA7549%40iniquitous.heresiarch.ca.
For more options, visit https://groups.google.com/d/optout.