У меня есть node.run_list.add('recipe[ckbk::recipe_name]')
в ckbk::recipe
. Когда chef-client запускается с опцией -o, recipe_name
в run_list.add
не добавляется в список запуска. Является ли это ожидаемым поведением использования chef-client -o
.Добавление рецептов в Chef run_list и chef-client -o опция
ответ
Я не думаю, что run_list.add
влияет на текущий пробег. Это потребует полного повторного расширения списка задач и версии. «Обычно», что просто повлияет на ваш следующий запуск, но -o
автоматически отключает данные сохраняемого узла обратно на сервер, потому что вы можете получить частичные данные.
Спасибо @coderanger. Короче говоря, runlist нельзя динамически изменять во время работы chef-client. –
Вы можете использовать 'include_recipe' для динамического решения, какие рецепты выполняются, но вы не можете добавлять или удалять кулинарные книги во время прогона. – coderanger
Когда вы используете клиент chef с опцией -o
, вы переопределяете список запуска только для этого запуска, поэтому в основном замораживает runlist к вашему новому, и вы не можете его изменить.
-o RUN_LIST_ITEM, --override-runlist RUN_LIST_ITEM
Replace the current run list with the specified items. This option will not clear the list of cookbooks (and related files) that is cached on the node.
Вы можете использовать include_recipe
включать несколько (другие) рецепты йо ваш основной рецепт. Он не изменит runlist, но включенный рецепт будет добавлен как более низкий уровень зависимости к вашему списку.
Спасибо @rastasheep. Так как мне нужно запустить рецепт для запуска в качестве последнего в run_list, я не смог перейти с 'include_recipe'. –
Поскольку это ваша поваренная книга, вы можете уведомить свой ресурс о запуске в конце прогона. Вот несколько примеров https://docs.chef.io/resource_common.html#notifies-syntax https://docs.chef.io/resource_execute.html#examples или http://stackoverflow.com/a/13140171/ 2760469 – rastasheep
Еще раз спасибо. Так как это - выполнение 'recipe' в конце, интересно, какие-либо методы там похожи на то, что' notifying' a 'resource'. –
- 1. Не удалось обновить chef run_list
- 2. chef run_list удалить все рецепты
- 3. Opsworks Chef 12 рецептов
- 4. Роль run_list переопределена env_run_lists
- 5. В чем разница между run_list по умолчанию и «_default» run_list в шеф-поваре?
- 6. Java Execution -o опция
- 7. Концептуальная цель поваренных книг, рецептов и run_lists в шеф-поваре
- 8. Редактирование run_list узлов из рецепта и запуск chef-клиента на другом узле.
- 9. Что такое опция -o в gcc?
- 10. ps command -o опция дает «ОШИБКА: опция для мусора»
- 11. Как я могу получить Chef запустить APT-получить обновление перед запуском других рецептов
- 12. Рецепты рецептов шеф-повара и передача данных?
- 13. Группа рецептов шеф-повара не работает
- 14. добавление scons - опция префикса
- 15. Как работает chef-клиент в режиме демона?
- 16. Что такое -O- опция для wget?
- 17. Как работает опция gcc multiple -o?
- 18. Cookbook @recipe_files не найден при использовании рецептов и один файл
- 19. Хранилища Конда рецептов и пакеты
- 20. Шеф-повар - как установить postgresql с использованием LWRP и рецептов
- 21. Принудительный порядок рецептов с шеф-поваром
- 22. Файлы рецептов, включенные в поваренную книгу, не собираются при запуске Chef Client
- 23. Как определить многогранную роль и рецепт в начальной загрузке команды в run_list
- 24. Добавление службы с использованием chef opscode
- 25. chef include recipes override attributes
- 26. Chef API: добавление списков переходов к узлу
- 27. chef-container + chef-vault
- 28. Chef - переопределить атрибут узла
- 29. База данных рецептов - Добавление рецепта с существующими или дополнительными ингредиентами
- 30. Получение списка рецептов через сервер шеф-повара api
Я мог ошибаться, но я уверен, что изменение узла.run_list НЕ добавит рецепт в ваш список. Он просто добавит его в атрибут, но не приведет к тому, что рецепт будет выполнен. –
Да. Похоже, это поведение, так как рецепт добавляется к биту атрибута, который не выполняется. –