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


Chronological Thread 
  • From: charles Keagle < >
  • To:
  • Subject: [chef] Re: Re: Chef Recipe inserting a line before last line in fie
  • Date: Sun, 09 Dec 2012 18:06:41 -0800

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




Archive powered by MHonArc 2.6.16.

§