Шеф-повар: Как отлаживать поваренные книги шеф-повара?
Я новичок в шеф-повара, так что будьте осторожны, если это очевидно.
Мы используем Chef для получения желаемого состояния определенного узла (или экземпляра). Отладка с Chef немного сложна. Поэтому я думаю, что если я получу список команд (или сценария оболочки, или powershell, или msdeploy, или любого ресурса), которые выполняются в конкретном экземпляре, тогда я могу запустить их вручную и посмотреть, в чем именно заключается проблема. Я предполагаю, что на этапе конвергенции это должно быть сделано, но как я не знаю.
Есть ли способ получить список команд для предоставления экземпляра?
4 ответа
В то время как бустрап вставить -VV вариант. Это даст подробный отчет о процессе
knife bootstrap IP -VV -x username -P passwd -r role[role_id]
Я думаю, это поможет вам
Чтобы понять, что происходит при запуске chef-клиента во время разработки, вы можете попробовать запустить chef-client
с -l debug
вариант. Это обеспечивает больше деталей от каждого ресурса, пока он выполняется.
Может быть, вы можете использовать гем "debugger" https://github.com/cldwalker/debugger, я использовал этот гем, чтобы остановить файлы ".rb", что я когда-либо захочу, и посмотреть, что было внутри любой переменной в тот момент..... Вам нужно только установить драгоценный камень, выполнив:
gem install debugger.....
затем в файл ".rb" нужно поместить:
require "debugger"
и в той части кода, которую вы хотите остановить, поместите слово "отладчик" (без "):
debugger
но я не знаю, если это решение, которое вы ищете.... С наилучшими пожеланиями!
Вы можете использовать обработчики отчетов, которые будут собирать список обновленных, сбойных ресурсов и отправлять его на вашу почту также для каждого запуска.