RE: https://docs.chef.io/knife_deps.html
С нож депс - удаленный вариант, я могу запросить наш шеф-сервер. список поваренной книги ножа -a вернет все версии поваренной книги. Как я могу использовать ножи запросить зависимости конкретной версии поваренной книги? Я пробовал использовать всевозможные разделители, чтобы добавить номер версии к имени поваренной книги, и я пробовал их как отдельные аргументы. Пытался покопаться в коде Ruby и обнаружил, что это сложно сделать - цель и организация всех этих драгоценных камней очень неясны.
В настоящее время ответа нет. Пытаюсь вернуть свою награду!
Обязательно ли использовать "ножевые глубины"? потому что вы можете достичь своей цели, используя команду «поиск ножа», например:
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