Thanks Den, Jo! I did it using template() now.
Cheers,
San
On Tuesday, May 22, 2012 11:10:39 AM UTC+1, Jo wrote:
>
> 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.
>
>
>
>
On Tuesday, May 22, 2012 11:10:39 AM UTC+1, Jo wrote:
>
> 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.
>
>
>
>
On Tuesday, May 22, 2012 11:10:39 AM UTC+1, Jo wrote:
>
> 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.
>
>
>
>
On Tuesday, May 22, 2012 11:10:39 AM UTC+1, Jo wrote:
>
> 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 view this discussion on the web visit
https://groups.google.com/d/msg/puppet-users/-/b-8CWQ3AQmcJ.
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.