Сбой подготовки с Chef, Vagrant на Mac 10.7.2 - PullRequest
2 голосов
/ 06 января 2012

Я только начал использовать Vagrant и Chef, но я получаю, как мне кажется, довольно странные ошибки.

Все хорошо с простой виртуальной машиной и без шеф-повара, но когда я добавляю несколько получателей, это не получается.

Вот мой текущий default.rb для основного рецепта, вызываемого из Vagrantfile. В основном из этого блога / учебника

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 apache2 и mysql прямо с сайта сообщества opscode.

Если я просто добавлю один из этих рецептов, он загрузится нормально. Иногда два - это хорошо, но если я добавлю все три, то, какой из них окажется последним, вызовет ошибку. Я изменил порядок раунда, и он всегда является последним, который вызывает ошибку. Здесь ошибка - то же самое каждый раз, но в этом случае php был последним из трех, и вы можете увидеть, что он не может быть установлен:

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

Обычно я уничтожаю виртуальную машину и выполняю vagrant для каждой новой попытки, но пару раз я пробовал vagrant reload и vagrant provision с одинаковыми результатами.

Кроме того, я не знаю, нормально ли это, но мой Mac почти полностью блокируется, пока он выполняет инициализацию. Обычно я могу запустить 2 или 3 vmware vms одновременно, не чувствуя, что он слишком сильно изо всех сил, поэтому для полной блокировки это ... странно.

Ответы [ 2 ]

2 голосов
/ 13 января 2012

Приветствия за ответ.

Оказалось, что у меня были старые версии некоторых зависимых самоцветов.Как только я сделал обновление gem, проблема исчезла.

2 голосов
/ 08 января 2012

У меня была очень похожая ошибка, но, похоже, я нашел решение.

Попробовав несколько вещей (разные базовые блоки, разные версии VirtualBox, попробовав снова и снова), я наконец добился прогресса, создав собственную базовую коробку Vagrant. Я следовал инструкциям на веб-сайтах Vagrant ( base box build ) и Chef ( chef-solo install ). Хотя это заняло какое-то время и было сложно, теперь я увереннее чувствую состояние базовой коробки и чувствую себя счастливее.

Я до сих пор не знаю, из-за чего возникла проблема. Возможно, это было несовпадение версии гостевых дополнений VirtualBox или повреждение / несовместимость в базовых блоках lucid32 или lucid64.

Для справки, я установил Ubuntu server 11.10 и установил Chef из пакетов. Если есть спрос, я был бы рад загрузить куда-нибудь мое базовое изображение oneiric64 (700 МБ).

...