2012-01-06 2 views
2

Je viens tout juste de commencer à utiliser Vagrant et Chef, mais je reçois des erreurs assez étranges.Provisioning échouant avec Chef, Vagrant sur Mac 10.7.2

Tout va bien avec un simple VM et pas de chef, mais quand je colle quelques recipies dedans échoue.

Voici mon default.rb actuel pour la recette principale appelée à partir du fichier Vagrantfile. Son principalement de cette 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" 

Le php apache2 et recettes de MySQL sont directement à partir du site communautaire Opscode.

Si je viens de mettre une de ces recettes, alors il se charge bien. Parfois deux vont bien, mais si je mets tous les trois dedans, le dernier qui semble causer une erreur. J'ai changé l'ordre rond et c'est toujours le dernier qui cause l'erreur. Voici l'erreur - même à chaque fois, mais dans ce cas php est le dernier des trois et vous pouvez le voir ne pas installer:

[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] 

En général, je suis en train de détruire la machine virtuelle et de faire errante pour chaque nouvelle tentative , mais quelques fois j'ai essayé le rechargement vagabond et le vagabondage avec les mêmes résultats.

En outre, je ne sais pas si c'est normal, mais mon Mac se bloque à peu près complètement pendant qu'il fait l'approvisionnement. Je peux normalement exécuter 2 ou 3 vmware vms en même temps sans avoir l'impression que ça marche trop, alors pour que ça se verrouille complètement, c'est ... bizarre.

Répondre

2

Bravo pour la réponse.

Il s'est avéré que j'avais d'anciennes versions de certaines gemmes dépendantes. Une fois la mise à jour de gem Id fait, le problème est parti.

+0

Confirmé, travaillé pour moi aussi - Je recevais l'erreur 'Read-only file system - /var/chef/cache/chef-stacktrace.out (Errno :: EROFS)', et 'sudo gem update' les faisait disparaître. Merci! –

2

J'ai eu une erreur très similaire, mais semble avoir trouvé une résolution. Après avoir essayé un certain nombre de choses (différentes boîtes de base, différentes versions de VirtualBox, en essayant encore et encore), j'ai finalement progressé en créant ma propre boîte de base Vagrant. J'ai suivi les instructions sur les sites web Vagrant (base box build) et Chef (chef-solo install). Alors que cela a pris un certain temps et était difficile, j'ai maintenant une meilleure confiance dans l'état de la boîte de base et je suis plus heureux. Je ne sais toujours pas ce qui a causé le problème que nous avions. Peut-être que c'était une incompatibilité dans la version des ajouts d'invité de VirtualBox ou une corruption/incompatibilité dans les boîtes de base lucid32 ou lucid64.

Pour référence, j'ai installé le serveur Ubuntu 11.10 et installé Chef à partir des paquets. S'il y a une demande, je serais heureux de télécharger mon image de base oneiric64 (700mb) quelque part.

+0

Hmm, je reçois aussi ceci. J'avais déjà mis à jour les gemmes Chef (il y a quelques mois), mais j'ai reçu cette erreur, en plus de l'avertissement "les ajouts des invités sur cette VM ne correspondent pas à la version d'installation de VirtualBox!" –

Questions connexes