Заменить строку в динамическом файле, используя chef - PullRequest
0 голосов
/ 29 июня 2018

Во время запуска клиента chef он устанавливает ruby ​​как предопределенный пакет версии 2.4.0 Мне нужно обновить файл, прежде чем даже запустить любой из моих рецептов Я добавил ниже рецепт, но похоже, что он не работает, кто-нибудь может помочь? ruby_block 'no_proxy_fix' do block do fe = Chef::Util::FileEdit.new('/opt/chef/embedded/lib/ruby/2.4.0/uri/generic.rb') fe.search_file_replace("IPAddr.new(host)", "IPAddr.new(host).include?(self.host)") fe.search_file_replace("end.include?(self.host)", "end") fe.write_file end end Мне нужно заменить ниже значения

IPAddr.new (хост) с IPAddr.new (хост) .include? (Self.host)

end.include? (Self.host) с end

1 Ответ

0 голосов
/ 29 июня 2018

FileEdit является внутренним API для Chef, и вы не можете использовать его в коде рецепта (читай: он не поддерживается). Вместо этого используйте поваренную книгу line или poise-file.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...