2016-08-20 2 views
0

Я пытаюсь использовать фильтр журнала на client.log, чтобы оценить успешность Chef.Почему Chef запускает фатальную ошибку при запросе на перезапуск

В обычном ходу шеф-повара мой рецепт требует перезагрузки.

Chef журналы:

FATAL: Chef::Exceptions::Reboot: Rebooting server at a recipe's request. 

Почему Chef бросить ошибку с нормальным запросом перезагрузки? Как я могу предотвратить регистрацию этой ошибки.

Мой запрос перезагрузки выглядит

reboot "my_reboot" do 
    action :reboot_now 
    reason 'There is a pending reboot.' 
    only_if { reboot_pending? } 
    delay_mins 0.5 
end 
+0

Помимо вышеперечисленных журналов, было бы немного больше, что может указать причину. попробуйте выполнить отладку, чтобы проверить причину или предоставить немного больше журнала. –

ответ

0

Потому что мы хотим, чтобы избежать запуска ничего дальше в Chef сходиться и самый простой способ сделать это, чтобы вызвать исключение.

+0

исключения должны быть исключительными. Если журнал не является надежным источником определения того, вернулась ли последняя версия (-ы) шеф-повара, что такое? – Jeff

+1

Это странный частный случай, потому что Ruby не имеет какой-либо другой нелокальной конструкции выполнения кода, которая бы хорошо работала в этом случае. Вам просто нужно добавить фильтр для него. Таковы реалии построения программного обеспечения в несовершенном мире :) – coderanger

Смежные вопросы