2016-10-28 7 views
-1

chef-clientをローカルモードで使用してローカルドッカーマシンでシェフレシピをテストしています。 templateでコピーした1つのファイルは、自己解凍型のシェルスクリプトです。問題は、シェフがこのファイルと既存のファイルとの間に差分を印刷しようとしていることです。その結果、多くの不気味さが画面に表示されます。私は誰かが回避策を持っていることを望んでいる。バイナリファイルをコピーするときにシェフクライアントの出力が多すぎます

ファイルにsensitive trueを設定しようとしましたが、効果がないようです。私はファイルをウェブ上に置いてそこからダウンロードすることができましたが、私はもっと良いものを望んでいました。静かなモードなど。ここで

更新#1

はレシピ/ default.rb

自分の質問に答える
template '/file.sh' do 
    source 'file.sh' 
end 
+0

本当に? 'sensitive true'は出力を隠しませんか?しきい値を下げることができます。これまでは、[diff_output_threshold](https://github.com/chef/chef/blob/aa9bbabde662a58c581ed4d87707eac5534bc292/lib/chef/util/diff.rb#L131)を使用して差分が出力されますが、あなたの '敏感な'設定で何が間違っているのかを理解する。あなたのコードを追加してください! – StephenKing

+0

問題の出力は、テンプレートエンジンのエラーであり、シェフクライアントからの差分出力ではないことがわかりました。この場合、明らかに 'sensitive true'は出力を抑制しません。 –

+0

テンプレートエンジンはどのように呼び出しますか? 'execute'リソースを使用していますか?それで、それにも 'sensitive true'を加えてください。 – StephenKing

答えて

1

から該当するコードです...

コアの問題は、私は、テンプレートを使用していたということでしたバイナリデータを持つファイルを作成する(それは自己解凍型シェルスクリプトです)、テンプレートエンジンは画面にエラーをダンプしていました。例えば、 "警告:単なるスペースとして扱われた途中で\ rに遭遇しました"バイナリ文字列とエスケープ文字が含まれています。

正解は、これをテンプレートの代わりにcookbook_fileにすることでした。

関連する問題