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
Другие вопросы по тегам