【问题标题】:Chef Attributes: does file name matter?厨师属性:文件名重要吗?
【发布时间】:2014-08-27 01:27:31
【问题描述】:

当我在食谱的属性 /attributes/default.rb 中创建属性时,一切正常。

如果我在我的食谱中添加一个食谱,比如 /recipes/dofubar.rb,我希望 /attributes/dofubar.rb 中定义的属性能够被加载。他们似乎不是。

有没有办法为一个配方定义一组默认属性,为其他配方定义另一组?

【问题讨论】:

    标签: chef-infra chef-recipe


    【解决方案1】:

    属性文件名和配方之间没有关联。 attributes/ 文件夹中的所有文件在 Chef Client 运行开始期间按顺序加载。即使您将 attribute.rb 文件命名为与食谱相同,Chef 也不会产生关联。每次都会加载所有的属性文件。

    【讨论】:

    • 为什么会这样?将属性和配方文件名关联起来似乎是合乎逻辑的。如果要加载其他属性文件,那么include_attribute 是一种方式。
    • 这里要注意一点:加载属性文件时,总是先加载default.rb。之后,食谱中的所有其他属性文件将按字母顺序加载。
    • @sethvargo 你是 Chef 的作者之一。至少你在那里工作:) 我们还应该问谁?
    • 如果它们都是自动加载的,那么在食谱中允许多个属性文件有什么意义?
    • @JanHettich 出于组织目的...假设我有一堆特定于单个模板的属性。如果我需要添加、编辑或删除它们,将它们分组会变得容易得多。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-05-08
    • 2015-11-20
    • 2014-01-20
    • 1970-01-01
    相关资源
    最近更新 更多