厨师资源克隆 - 它是什么?

时间:2014-03-27 02:51:51

标签: chef

我正在尝试获取有关克隆主厨资源的更多信息。我在厨师 - 客户经营期间看到他们,但不知道他们的意思。

我在下面看到了关于资源克隆的博客,但我仍然无法理解它的作用。有没有人有关于这个主题的进一步信息?使用谷歌找不到其他东西。

http://scottwb.com/blog/2014/01/24/defeating-the-infamous-chef-3694-warning/

2 个答案:

答案 0 :(得分:1)

chef-client将按类型和名称合并资源定义(示例中为service[apache2])。如果您正在撰写包装食谱,请查看Julian Dunn撰写的这篇精彩文章:http://www.getchef.com/blog/2013/12/03/doing-wrapper-cookbooks-right

无论如何,您可以修改以前定义的资源。在你的情况下:

resources('service[apache2]').action [:enable, :start]

这将修改已定义的资源service[apache2]并隐藏资源克隆警告。

答案 1 :(得分:1)

弃用:Resource Cloning (CHEF-3694)

Chef允许使用重复的名称创建资源,而不是将其视为错误。这意味着几个cookbook可以请求安装相同的包,而无需仔细创建唯一的名称。这是有问题的,因为具有相同名称的多个资源使得无法安全地将通知传递到正确的资源。

Chef 12及更早版本中的行为(现已弃用)是我们将尝试克隆现有资源,然后应用新资源中的任何属性。例如:

file "/etc/my_file" do
  owner "ken"
end

file "/etc/my_file" do
  mode "0755"
end

将导致第二个实例具有以下属性:

file "/etc/my_file" do
  owner "ken"
  mode "0755"
end

资源克隆在Chef 10.18.0中已弃用,将在Chef 13中删除。