我正在尝试在厨师运行期间生成一个包列表并将其删除。
我尝试使用ruby块来设置run_state
变量。变量最终为空。我还尝试在package
基于this question添加延迟评估,但这导致了编译错误。我还考虑将列表放在一个文件中,但文档说支持使用包的文件名是不可用的。
是否有合理的方法从收敛时间变量中删除包列表?
答案 0 :(得分:1)
这个怎么样:
ruby_block "somehow get the list of packages to remove" do
block do
node.run_state['remove_packages'] = %w( foo bar baz )
end
end
package "remove the list of packages" do
package_name lazy { node.run_state['remove_packages'] }
action :remove
only_if { node.run_state['remove_packages'] }
end
(用chef-apply
测试13.5.3)