1

我不断从 Chef 那里收到此错误,但找不到任何文档或其他拥有该错误的人。

可能的根本原因是什么?

4

2 回答 2

0

当 Chef 找不到数据包“id”时,您通常会收到此错误

假设我想加载以下 data_bag

data_bags
    apps
        mywebserver.json


apps
    recipes
        default.rb

[mywebserver.json]
{
     "id": "mywebserver"
}

[default.rb]
data_bag_item("apps", "mywebserver")  # The id specified in the json

我相信厨师不关心 data_bag_item 文件名,而只关心数据包项 json 文件之一中指定的“id”。

于 2012-11-30T14:53:18.233 回答
0

更多信息在这里会有所帮助。当您看到此内容时,您打算采用什么工作流程?

我将假设这不是一个刀呼叫。我试图在chef-gem中围绕您的错误来源进行一些调试,并调用数据包列表和数据包显示。似乎都没有碰到 mixin 代码。

以下是您在 mixin/language 下的 chef gem 中的错误来源

def data_bag(bag)
  DataBag.validate_name!(bag.to_s)
  rbag = DataBag.load(bag)
  rbag.keys
  rescue Exception
    Log.error("Failed to list data bag items in data bag: #{bag.inspect}")
  raise
end

现在我不知道是什么在访问该 mixin 代码,因为 gem 中对 data_bag() 的所有其他引用都引用了 data_bag_item 对象周围的代码。

这是您创建的自定义代码吗?您是否有可能引用了错误的模块?

于 2012-11-19T11:31:58.590 回答