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.