2016-10-28 35 views
-1

我在本地模式下使用chef-client在本地docker計算機上測試廚師食譜。我通過template複製的一個文件是一個自解壓shell腳本。問題在於廚師試圖在該文件和現有文件之間打印差異,導致大量亂碼被髮送到屏幕。我希望有人有一個解決方法。當複製二進制文件時,chef-client顯示太多輸出

我試着在文件上設置sensitive true,但這似乎沒有效果。我可以把文件放到網上並從那裏下載,但我希望能有更好的東西。像一個安靜的模式或什麼的。

更新#1

下面是食譜的相關代碼/ default.rb

template '/file.sh' do 
    source 'file.sh' 
end 
+0

真的嗎? '敏感真實'不隱藏輸出?您可能會降低閾值,直到使用[diff_output_threshold](https://github.com/chef/chef/blob/aa9bbabde662a58c581ed4d87707eac5534bc292/lib/chef/util/diff.rb#L131)發出差異,但我們應該嘗試弄清楚你敏感的設置有什麼問題。請添加您的代碼! – StephenKing

+0

我發現問題的輸出是來自模板引擎的錯誤,而不是來自廚師客戶端的差異打印。在這種情況下,顯然'敏感'並不會抑制輸出。 –

+0

你如何調用模板引擎?使用'execute'資源?然後爲那個加上'敏感的真實'。 – StephenKing

回答

1

回答我的問題...

的核心問題是,我是使用模板創建一個具有二進制數據的文件(這是一個自解壓shell腳本),模板引擎將錯誤轉儲到屏幕上,例如,「警告:在行中間遇到\ r,被視爲僅僅是空間」一些錯誤包括二進制字符串和轉義字符。

對我來說,正確的答案是將其作爲cookbook_file而不是模板。