How to query cookbook versions on a node?

2019-03-24 09:25发布

Usage case: The DevOps team launched a node sometime ago, and my team would like to know what's the version(s) of one/several cookbook(s) being used in the run_list. Our DevOps team is firefighting so we'd like to find a way to be self-sufficient.

Commands Tried: knife cookbook show COOKBOOK give all possible versions, but does not specify which one being used.

knife node show NODE shows all cookbooks, but there's no version info attached.

Question: Is there a command (something similar to knife search, ohai) to query the chef-server for the versions deployed on the node?

7条回答
男人必须洒脱
2楼-- · 2019-03-24 10:18

In our organisation we use a base cookbook to set an attribute on the node with the cookbook versions.

run_context.cookbook_collection.each do |key, cookbook|
  node.set['base_cookbook']['cookbook_versions'][cookbook.name] = cookbook.version
end

Then we can query the versions used by a node with

knife node show <node-name> -a base_cookbook.cookbook_versions
查看更多
登录 后发表回答