2012-01-06 7 views
2

私はVagrantとChefの使用を開始したばかりですが、私は非常に奇妙なエラーだと思っています。シェフ、MacのVagrantでプロビジョニングが失敗する10.7.2

シンプルなVMとシェフなしであれば問題ありませんが、いくつかのレシピを付けると失敗します。

ここに、Vagrantfileから呼び出されたメインレシピの現在のdefault.rbがあります。 ITSは主にこのblog/tutorial

r = execute "apt-get update" do 
    user "root" 
    command "apt-get update" 
    action :nothing 
end 
r.run_action(:run) 

include_recipe "php" 
include_recipe "apache2" 
include_recipe "mysql" 

からのPHPとMySQL apache2のレシピはopscodeコミュニティサイトからまっすぐです。

これらのレシピのうちの1つだけを入れると、正常に読み込まれます。 時には2つはうまくいくかもしれませんが、3つすべてを入れたら最後のどちらかがエラーになるようです。私は順序を変更したし、それは常にエラーを引き起こす最後のものです。ここでは、エラーである - 同じたびに、この場合には、PHPは、3の最後だったと、インストールに失敗し、それを見ることができます:

[default] [Fri, 06 Jan 2012 10:01:33 -0800] INFO: Processing package[php5] action install (php::package line 32) 
: stdout 
[default] [Fri, 06 Jan 2012 10:04:52 -0800] ERROR: package[php5] (php::package line 32) has had an error 
: stdout 
[default] [Fri, 06 Jan 2012 10:04:52 -0800] ERROR: Running exception handlers 
: stdout 
[default] [Fri, 06 Jan 2012 10:04:52 -0800] ERROR: Exception handlers complete 
: stdout 
[default] /opt/ruby/lib/ruby/gems/1.8/gems/chef-0.10.2/bin/../lib/chef/file_cache.rb:54:in `initialize': stderr 
[default] : : stderr 
[default] Read-only file system - /tmp/vagrant-chef-1/chef-stacktrace.out: stderr 
[default] (: stderr 
[default] Errno::EROFS: stderr 
[default]) 
: stderr 
[default] from /opt/ruby/lib/ruby/gems/1.8/gems/chef-0.10.2/bin/../lib/chef/file_cache.rb:54:in `open' 
: stderr 
[default] from /opt/ruby/lib/ruby/gems/1.8/gems/chef-0.10.2/bin/../lib/chef/file_cache.rb:54:in `store' 
: stderr 
[default] from /opt/ruby/lib/ruby/gems/1.8/gems/chef-0.10.2/bin/../lib/chef/application.rb:133:in `debug_stacktrace' 
: stderr 
[default] from /opt/ruby/lib/ruby/gems/1.8/gems/chef-0.10.2/bin/../lib/chef/application/solo.rb:210:in `run_application' 
: stderr 
[default] from /opt/ruby/lib/ruby/gems/1.8/gems/chef-0.10.2/bin/../lib/chef/application/solo.rb:183:in `loop' 
: stderr 
[default] from /opt/ruby/lib/ruby/gems/1.8/gems/chef-0.10.2/bin/../lib/chef/application/solo.rb:183:in `run_application' 
: stderr 
[default] from /opt/ruby/lib/ruby/gems/1.8/gems/chef-0.10.2/bin/../lib/chef/application.rb:66:in `run' 
: stderr 
[default] from /opt/ruby/lib/ruby/gems/1.8/gems/chef-0.10.2/bin/chef-solo:25 
    from /opt/ruby/bin/chef-solo:19:in `load' 
    from /opt/ruby/bin/chef-solo:19 
: stderr 
The following SSH command responded with a non-zero exit status. 
Vagrant assumes that this means the command failed! 

chef-solo -c /tmp/vagrant-chef-1/solo.rb -j /tmp/vagrant-chef-1/dna.json 

The output of the command prior to failing is outputted below: 

[no output] 

一般的に、私はVMを破壊し、それぞれの新しい試みのために放浪をやっていますしかし、何度か、私は、同じ結果を伴って、不規則な貨物の積み替えと迷路の提供を試みました。

また、私はこれが正常であるかどうかはわかりませんが、私のMacはプロビジョニング中に完全にロックされています。私は通常、2つまたは3つのVMWare VMSを同時に実行することができますが、それはあまりにも苦労しているように感じることなく、完全にロックするのは奇妙です。

答えて

2

応答のための乾杯。

私はいくつかの依存する宝石の古いバージョンがあることが判明しました。 IDが宝石の更新を終えると、問題は消え去った。

+0

確認済み、私は '読み取り専用ファイルシステム--var/chef/cache/chef-stacktrace.out(Errno :: EROFS)'エラーを出していました。そして 'sudo gem update'はそれらを消してしまいました。ありがとう! –

2

私は非常に似たエラーが発生しましたが、解決策が見つかったようです。

さまざまなベースボックス(異なるベースボックス、異なるVirtualBoxバージョン、何度も試してみる)を試した後、私はついに自分のバゲントベースボックスを構築して進歩を遂げました。私はバゲント(base box build)とシェフ(chef-solo install)のウェブサイトの指示に従った。これにはしばらく時間がかかりましたが、やりにくくなりましたが、今はベースボックスの状態に自信があり、もっと幸せです。

私はまだ私たちが持っていた問題の原因を知りません。おそらく、VirtualBoxゲストの追加バージョン、またはlucid32またはlucid64ベースボックスの破損/非互換性の不一致でした。

参考までに、私はUbuntuサーバー11.10をインストールし、パッケージからシェフをインストールしました。もし私が(700mb)oneiric64のベースイメージをどこかにアップロードしたいと願っているなら、

+0

ええと、私もこれを取得しています。私はすでにシェフの宝石をアップグレードしていましたが(2,3ヶ月前)、このエラーが発生しました。「このVMのゲストの追加はVirtualBoxのインストールバージョンと一致しません」 –

関連する問題