- From: Pete Cheslock <
>
- To: "
" <
>
- Subject: [chef] Re: Inserting multiple lines through Chef::Util::FileEdit
- Date: Tue, 26 Feb 2013 08:14:39 -0500
Ive never used fileedit before. You should just use a template to render out
the file as you need. It will likely solve your problem.
On Feb 26, 2013, at 6:25 AM, Prajwal Manjunath
<
>
wrote:
>
Hi,
>
>
I'm trying to use the FileEdit util to modify my fstab, but it doesn't seem
>
to work as expected.
>
>
This is essentially my code:
>
>
ruby_block "setup fstab" do
>
not_if "cat /etc/fstab | grep #{node['mysql']['mount_point']} >
>
/dev/null"
>
block do
>
f = Chef::Util::FileEdit.new('/etc/fstab')
>
f.insert_line_if_no_match(/^#{node['mysql']['ebs_vol_dev']} /,
>
"#{node['mysql']['ebs_vol_dev']} #{node['mysql']['mount_point']}
>
#{node['mysql']['formatting']} noatime 0 0")
>
f.insert_line_if_no_match(/^#{node['mysql']['ebs_data_dir']} /,
>
"#{node['mysql']['ebs_data_dir']} #{node['mysql']['data_dir']} none bind")
>
f.insert_line_if_no_match(/^#{node['mysql']['ebs_binlog_dir']} /,
>
"#{node['mysql']['ebs_binlog_dir']} #{node['mysql']['data_dir']} none bind")
>
f.write_file
>
end
>
notifies :run, "execute[mount_all]", :immediately
>
end
>
>
However, this only adds the first insert_line_if_no_match into the file. I
>
confirmed this by removing the first command and it inserted the second one.
>
>
Is this by design? Am I really not supposed to run multiple
>
insert_line_if_no_match commands in one block on one file?
Archive powered by MHonArc 2.6.16.