[chef] Re: Re: Re: Chef Recipe inserting a line before last line in fie


Chronological Thread 
  • From: Juanje Ojeda Croissier < >
  • To: chef < >
  • Subject: [chef] Re: Re: Re: Chef Recipe inserting a line before last line in fie
  • Date: Mon, 10 Dec 2012 04:14:11 +0000

As I had a similar problem time ago, i did create a similar cookbook
(which is also at the community site and be installed from there):

https://github.com/juanje/cookbook-conf

There are some examples about how to use this LWRP. Maybe one of them
fit your needs.
I have one action that append a line just after specific line, but not
to prepend, but I could add this action easily if is needed.

It's something to be used just if is really no way to use a template,
it tries to be as much idempotence as it can.

On Mon, Dec 10, 2012 at 2:06 AM, charles Keagle 
< >
 wrote:
> Doesn't append add the new line to the end of the file?  I need to add it
> before a line I define.
>
> Maybe something like:
> prepend_if_no_line "+:mongod:cron crond" do
>   file "/etc/security/access.conf"
>   string "-: ALL : ALL"
> end
>
> Still looking at inserting a line before another line when necessary.
>
>
> On 12/9/2012 12:55 AM, Sean OMeara wrote:
>>
>> Hi Charles!
>>
>> This comes up ALL THE TIME, so...
>>
>> I whipped up a line cookbook on the community site that'll help you out.
>>
>> add depends 'line' in a cookbook's metadata.rb, then in a recipe you can
>> say:
>>
>> append_if_no_line "hello world" do
>>    file "/tmp/dangerfile"
>>    string "HI THERE I AM STRING"
>> end
>>
>>
>> It's alpha code cut at 4am, so let me know how it works =)
>> -s
>>
>> On Sun, Dec 9, 2012 at 1:37 AM,  
>> < >
>>  wrote:
>>>
>>> Hello,
>>>
>>> I am new to Chef and Ruby and trying to figure out the proper way to add
>>> a line
>>> to /etc/security/access.conf prior to the last line that denies
>>> everything not
>>> already defined.
>>>
>>> Not sure yet whether the best way is to use a Chef command of a Ruby
>>> Block.
>>>
>>> I do not see a way in Chef to insert a new line searched for if the line
>>> does
>>> not already exist in the file prior to another line in the file.
>>>
>>> I thought this would work:
>>>
>>> file.replace_line_if_no_match but that adds it after the last line in the
>>> file.
>>>   In security, all the entries in access.conf that allow access have to
>>> be prior
>>> to the line that denies everything not already allowed.
>>>
>>> Basically, I want to see if "+:mongod:cron crond\n" already exists.  If
>>> it
>>> does, do not do anything.  However, if it does not exist, insert it prior
>>> to "-
>>> : ALL : ALL\n".
>>>
>>> What is the best way in a Chef Recipe to do this?
>>>
>>> Thank you.
>>>
>>> ----
>>> Charles Keagle
>>> 
>>> 425-417-3434
>
>
>
> --
> Not All Who Wander Are Lost!
>
> Charles Keagle
> 
> 425-427-3434
>



-- 
Juanje

http://about.me/juanje



Archive powered by MHonArc 2.6.16.

§