Chef 预配资源 - 运行特定版本的说明书



我有一个基本的机器资源:

machine 'admin' do
  recipe 'my_custom_cookbook::super_secret_recipe'
  ohai_hints 'ec2' => '{}'
  action :converge
  converge true
end

如何针对此machine资源运行特定版本(假设 0.0.5)的my_custom_cookbook::super_secret_recipe

似乎只是添加

depends 'my_custom_cookbook', '0.0.5'

到元数据文件不起作用。它总是选择最新版本

预配说明书与其创建的节点没有直接关系,因此添加依赖无济于事的原因。有三种方法可以控制使用哪个版本的说明书:

  1. 使用新的策略文件系统。我认为cheffish/chef-provisioning还没有直接支持设置策略名称/组,但您可能可以使用raw_json属性。
  2. 使用环境。可以通过machine资源上的 chef_environment 属性进行此设置。查看 Chef 文档,了解有关使用环境的更多详细信息。
  3. 在运行列表中设置它,recipe 'my_custom_cookbook::super_secret_recipe@0.0.5' .这是 Chef 中很少使用的功能,因此可能并非在所有位置/工具中都支持此功能。

最新更新