Re: [Puppet Users] modifying file(s) on the fly

Denmat
2012-05-22T09:48:42Z

Yep. Templates are just normal files that go through the ERB parser so you can
make adjustments on the fly.  And it appears you are trying to push out the file
anyway (using the source => param) so it seems like a good fit to me.

Cheers
Den

On 22/05/2012, at 18:45, Sans <r.santanu.das@gmail.com> wrote:

> Yes, I did think about using template one point.
> So, do you generate the entire file using "template"? For us,
it''s just a few lines to change in the default gmod.conf file.
>
> cheers,
> San
>
>
> On Tuesday, May 22, 2012 9:02:59 AM UTC+1, denmat wrote:
> Hi,
>
> I think templates would be easier to manage in this setup.
>
> http://docs.puppetlabs.com/learning/templates.html
>
> It will give good flexibility. It the way I have managed my ganglia setup.
>
> Cheers,
> Den
>
> On 22/05/2012, at 7:33, Sans <r.santanu.das@gmail.com> wrote:
>
>> Dear all,
>>
>> 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 puppet-users@googlegroups.com.
>> To unsubscribe from this group, send email to
puppet-users+unsubscribe@googlegroups.com.
>> For more options, visit this group at
http://groups.google.com/group/puppet-users?hl=en.
>
> --
> You received this message because you are subscribed to the Google Groups
"Puppet Users" group.
> To view this discussion on the web visit