“无法在数据包中列出数据包项目”的可能根本原因是什么?

时间:2012-04-12 20:29:54

标签: ruby chef

我不断从Chef那里得到这个错误,但找不到任何文档或其他人。

可能的根本原因是什么?

2 个答案:

答案 0 :(得分: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对象周围的代码。

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

答案 1 :(得分: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

我认为chef不关心data_bag_item文件名,只关心其中一个数据包项json文件中指定的“id”。