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.

Reply via email to