シェフのレシピで使用する大きなファイルを wget しようとしています。これは約 350 MB のデータベース バックアップです。ファイルを取得するために wget を使用しています。これが私のレシピです。
include_recipe "apt"
include_recipe "sudo"
execute "sudo mkdir -p ~/dev/dbbackup"
execute "download most recent db backup" do
command "sudo wget --user=theusername --password=thepassword -P ~/dev/dbbackup/ https://ourdbbackup.com/latest.psql.gz"
timeout 86400
end
何を試しても、次の結果が得られます。
[2013-04-23T21:50:32+00:00] INFO: Processing execute[download most recent database backup] action run (company_dev::default line 25)
bash: line 2: 1184 Killed chef-solo -c /tmp/vagrant-chef-1/solo.rb -j /tmp/vagrant-chef-1/dna.json
Chef never successfully completed! Any errors should be visible in the output above. Please fix your recipes so that they properly complete.
rest_timeout オプションを追加できるように、Vagrant にモンキー パッチを適用してみました。
Vagrant::Config.run do |config|
config.vm.box = "precise32"
config.vm.provision :chef_solo do |chef|
chef.cookbooks_path = "cookbooks"
chef.add_recipe "company_dev"
chef.log_level = :debug
chef.rest_timeout = 86400
end
end
これにより、rest_timeout オプションを持つ /tmp/vagrant-chef-1/solo.rb が生成されます。
rest_timeout 86400
しかし、Chef が完了できないという同じエラーが引き続き表示されます。Chef のタイムアウトやその他の問題でレシピが停止することなく、この大規模なダウンロードを機能させるための提案はありますか? マシンをセットアップして内部から wget を実行すると、正常に動作します。どんな助けでも大歓迎です!