Я пытаюсь установить обработчик шеф-повара через файл chef_handler lwrp. Этот обработчик (chef-handler-email) поставляется в виде драгоценного камня. Я пытаюсь установить драгоценный камень, а затем включить обработчик из одного рецепта, который выглядит так:
chef_gem "chef-handler-mail"
chef_handler "MailHandler" do
source 'chef/handler/mail'
arguments :to_address => "root"
action :nothing
supports :exception => true, :report => false
end.run_action(:enable)
Это отлично работает, если гем уже установлен. Однако, если Gem еще не установлен, я получаю эту ошибку:
[2012-12-09T20:47:56-05:00] FATAL: LoadError: chef_handler[MailHandler] (chef_handler::email line 13) had an error: LoadError: no such file to load -- chef/handler/mail.rb
Похоже, что ресурс chef_handler пытается загрузить обработчик до того, как chef_gem выполнит и установит гем для обработчика. Очевидно, я могу сделать это в двухэтапном ручном процессе, где у меня есть отдельный рецепт для установки драгоценного камня, а затем перейти к другому рецепту, который настраивает обработчик, но я надеюсь избежать многоэтапных ручных процессов. Можно ли это сделать по одному рецепту?