chef: knife deps - как указать версию поваренной книги
RE: https://docs.chef.io/knife_deps.html
С опцией knife deps --remote я могу запросить наш шеф-сервер. список поваренных книг ножа -a вернет все версии поваренной книги. Как я могу использовать ножи для запроса зависимостей конкретной версии поваренной книги? Я попробовал все виды разделителей, чтобы добавить номер версии к названию поваренной книги, и я пробовал их в качестве отдельных аргументов. Попытался покопаться в рубиновом коде и обнаружил, что это трудно сделать - цель и организация всех этих драгоценных камней очень неясны.
2 ответа
На данный момент ответа не существует. Пытаюсь забрать мою награду!
Нужно ли использовать "ножи"? потому что вы можете достичь своей цели с помощью команды "поиск ножа", например так:
knife search -i 'cookbooks:your-cookbook' -a cookbooks.your-cookbook.version
Это даст вам вывод, который показывает имя хоста и версию поваренной книги:
1 items found
server.name.example:
cookbooks.cs-redis.version: 0.3.2
Другое, что вы можете сделать, это использовать базовую кулинарную книгу и установить атрибут на узле с версиями кулинарной книги.
Пример:
run_context.cookbook_collection.each do |key, cookbook|
node.set['base_cookbook']['cookbook_versions'][cookbook.name] = cookbook.version
end
Затем вы можете запросить версии, используемые узлом, например:
knife node show <node-name> -a base_cookbook.cookbook_versions