Use a template instead. Then you can install the file already modified for the
host.
On May 21, 2012, at 2:33 PM, Sans wrote:
> I'm trying to figure out how to do this - first copy a "common" file to every
> node and then modify the file according to the node type. I've tried this:
>
>
> if $node_type == 'wn' {
> $port = '8649'
> $desc = 'Worker Nodes'
> }
>
> exec {
> 'n_desc':
> command => "sed -ic '/cluster {/,/}/s/name = \"[^\"]*\"/name =
> \"\'\"$desc\"\'\"/' '$fname'",
> subscribe => File["$fname"],
> refreshonly => false;
>
> 'n_port':
> command => "sed -ic '/port\ =\ /{s:[0-9]*$:$port:g}' '$fname'",
> subscribe => File["$fname"],
> refreshonly => false;
> }
>
> file {
> 'gmond.conf':
> name => "$fname",
> source => 'puppet:///modules/ganglia/gmond.conf',
> require => Exec['n_desc','n_port'],
> notify => Service['gmond'];
> }
>
>
> The problem is the Exec['n_desc','n_port'] is being executed but then it
> changing back to the original one as supplied by: source =>
> 'puppet:///modules/ganglia/gmond.conf', which is definitely not what I want.
> How can I make sure it copy the file first and then make the changes? Or,
> simply how do I do that? Cheers!!
>
> --
> You received this message because you are subscribed to the Google Groups
> "Puppet Users" group.
> To view this discussion on the web visit
> https://groups.google.com/d/msg/puppet-users/-/9XQhRACkvOEJ.
> 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-users?hl=en.
--
Jo Rhett
Net Consonance : net philanthropy to improve open source and internet projects.
--
You received this message because you are subscribed to the Google Groups
"Puppet Users" 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-users?hl=en.