[chef] Re: Re: RE: Re: Most efficient way to handle text in config files (without a template)


Chronological Thread 
  • From: Jesse Campbell < >
  • To:
  • Subject: [chef] Re: Re: RE: Re: Most efficient way to handle text in config files (without a template)
  • Date: Sat, 28 Jan 2012 10:33:57 -0500

Forgot to mention:
@oldfile is the file being updated by the template
@insertlines is an array (or hash) of hashes
each insertline will have ['text'], which is the text to insert, and
['insertpoint'] which is what line to search for and insert the
['text'] after.

On Sat, Jan 28, 2012 at 10:00, Jesse Campbell 
< >
 wrote:
> The way I handled it doesn't at all meet your requirement... i did use
> a template.
> It isn't the cleanest, and I wish I could switch to the Util::FileEdit
> method, as that is much cleaner... but it doesn't seem to serve the
> same purpose.
> This checks if my line text exists, and if it does not it adds it at a
> specific point that I specify. If you didn't care where in the file it
> went, you could skip the insertpoint piece, and just append to
> 'output'
>
> Here's the template:
>
> <% output = File.read(@oldfile) -%>
> <% @insertlines.each do |line| -%>
>    <% unless (output.match(/^#{line['text']}$/i)) then -%>
>        <% output =
> output.sub(/^(#{line['insertpoint']})$/,"\\1\n#{line['text']}") -%>
>    <% end -%>
> <% end -%>
> <%= output -%>
>
> -Jesse
>
> On Fri, Jan 27, 2012 at 13:24, Max Gorbul 
> < >
>  wrote:
>> Hello Van,
>>
>> here is an example of handling config files by chef _without_ template you
>> might be interested in.
>>
>http://goo.gl/qe2Wn
>>
>> Thank you,
>> Max
>>
>>
>> On Fri, Jan 27, 2012 at 10:15 AM, Van Fossan,Randy 
>> < >
>> wrote:
>>>
>>> I'll look into using include(s).  I am not sure if I can though.
>>>
>>> -----Original Message-----
>>> From: Jake Vanderdray 
>>> [mailto:
>>> Sent: Friday, January 27, 2012 9:58 AM
>>> To: 
>>> 
>>> Subject: [chef] Re: Most efficient way to handle text in config files
>>> (without a template)
>>>
>>> Does this config file allow you to do includes?  If you can separate the
>>> chef values into a separate file and include that, you'll be able to use a
>>> template and that's a lot easier/cleaner.
>>>
>>> Jake.
>>>
>>> On Thu, Jan 26, 2012 at 3:01 PM, Van Fossan,Randy 
>>> < >
>>> wrote:
>>> > Anyone know the best way (most efficient) to handle text entries in
>>> > files without using Templates?   Ensuring multiple entries exist in a
>>> > file from a cookbook (array) attribute.   If they are overwritten,
>>> > they would be re-added.
>>> >
>>> >
>>> >
>>> > I know how to do this with perl and bash, but it would be a little
>>> > more resource intensive than I would like.
>>> >
>>> >
>>> >
>>> > The configuration file in question is changing a few times a week
>>> > under control of a process that I cannot modify, but I still need to
>>> > ensure that certain information is in the resultant configuration file.
>>> >
>>> >
>>> >
>>> > Thanks to everyone who has been helping this newbie along..
>>> >
>>> >   Randy
>>>
>>>
>>



Archive powered by MHonArc 2.6.16.

§