2012-04-12 22 views
1

我不斷從廚師那裏得到這個錯誤,但找不到任何文檔或其他已經擁有它的人。「無法在數據包中列出數據包項目」的根本原因是什麼?

可能的根本原因是什麼?

+1

當廚師在數據包中找不到物品時,似乎會發生這種情況。也許你可以使用data_bag_items進行調試? [1](http://wiki.opscode.com/display/chef/Data+Bags)[2](http://rubydoc.info/gems/chef/0.10.4/Chef/Mixin/Language) – James 2012-04-12 20:36:47

+2

can你粘貼廚師客戶端-l調試輸出? – jtimberman 2012-04-13 01:03:31

+0

真的沒有足夠的回答這個問題。 – 2012-05-11 17:57:21

回答

0

更多的信息會在這裏有所幫助。當你看到這個時,你要下什麼工作流程?

我打算假設這不是小刀。我試圖圍繞在廚師寶石中的錯誤來源進行一些調試,並將其稱爲數據包列表和數據包展示。似乎沒有打到mixin代碼。

以下是你的錯誤的下混入廚師寶石/源語言

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代碼因爲data_bag的所有其他引用()在gem中引用data_bag_item對象周圍的代碼。

這是您創建的自定義代碼嗎?有沒有機會引用錯誤的模塊?

0

通常你得到這個錯誤,當廚師無法找到數據包「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」。

相關問題