从生成的列表中删除 Chef 中的包
Removing packages in Chef, from a generated list
我正在尝试在 chef 运行 期间生成一个包列表并将其删除。
我尝试使用 ruby 块来设置 run_state
变量。变量最终为空。我还尝试在 package
中基于 添加惰性求值,但它导致了编译错误。我也研究过将列表放在文件中,但文档说不支持使用包的文件名。
是否有合理的方法从收敛时间变量中删除包列表?
这个怎么样:
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 测试)
我正在尝试在 chef 运行 期间生成一个包列表并将其删除。
我尝试使用 ruby 块来设置 run_state
变量。变量最终为空。我还尝试在 package
中基于
是否有合理的方法从收敛时间变量中删除包列表?
这个怎么样:
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 测试)