chef-infra - Vagrant 配置因关闭流而失败 (IOError)

标签 chef-infra puppet vagrant

在 Mac OS X 上,当尝试按照 Vagrant 教程使用 Chef 进行配置时,出现以下错误。如果我使用 puppet,则会出现相同的问题,如果我使用 lucid32,则会出现相同的问题。帮忙?

[default] Importing base box 'lucid64'...
[default] The guest additions on this VM do not match the install version of
VirtualBox! This may cause things such as forwarded ports, shared
folders, and more to not work properly. If any of those things fail on
this machine, please update the guest additions and repackage the
box.

Guest Additions Version: 4.1.16
VirtualBox Version: 4.1.18
[default] Matching MAC address for NAT networking...
[default] Clearing any previously set forwarded ports...
[default] Forwarding ports...
[default] -- 22 => 2222 (adapter 1)
[default] Creating shared folders metadata...
[default] Clearing any previously set network interfaces...
[default] Booting VM...
[default] Waiting for VM to boot. This can take a few minutes.
[default] VM booted and ready for use!
[default] Mounting shared folders...
[default] -- v-root: /vagrant
[default] Running provisioner: Vagrant::Provisioners::ChefSolo...
[default] Generating chef JSON and uploading...
[default] Running chef-solo...
stdin: is not a tty
[Mon, 30 Jul 2012 08:55:18 +0200] INFO: *** Chef 0.10.10 ***
[Mon, 30 Jul 2012 08:55:18 +0200] INFO: Setting the run_list to ["recipe[vagrant_main]"] from JSON
[Mon, 30 Jul 2012 08:55:18 +0200] INFO: Run List is [recipe[vagrant_main]]
[Mon, 30 Jul 2012 08:55:18 +0200] INFO: Run List expands to [vagrant_main]
[Mon, 30 Jul 2012 08:55:18 +0200] INFO: Starting Chef Run for lucid64
[Mon, 30 Jul 2012 08:55:18 +0200] INFO: Running start handlers
[Mon, 30 Jul 2012 08:55:18 +0200] INFO: Start handlers complete.
[Mon, 30 Jul 2012 08:55:18 +0200] INFO: Processing execute[apt-get update] action run (apt::default line 20)
[default] Destroying VM and associated drives...
/Library/Ruby/Gems/1.8/gems/net-ssh-2.2.2/lib/net/ssh/ruby_compat.rb:33:in `select': closed stream (IOError)
    from /Library/Ruby/Gems/1.8/gems/net-ssh-2.2.2/lib/net/ssh/ruby_compat.rb:33:in `io_select'
    from /Library/Ruby/Gems/1.8/gems/net-ssh-2.2.2/lib/net/ssh/ruby_compat.rb:32:in `synchronize'
    from /Library/Ruby/Gems/1.8/gems/net-ssh-2.2.2/lib/net/ssh/ruby_compat.rb:32:in `io_select'
    from /Library/Ruby/Gems/1.8/gems/net-ssh-2.2.2/lib/net/ssh/transport/packet_stream.rb:73:in `available_for_read?'
    from /Library/Ruby/Gems/1.8/gems/net-ssh-2.2.2/lib/net/ssh/transport/packet_stream.rb:85:in `next_packet'
    from /Library/Ruby/Gems/1.8/gems/net-ssh-2.2.2/lib/net/ssh/transport/session.rb:171:in `poll_message'
    from /Library/Ruby/Gems/1.8/gems/net-ssh-2.2.2/lib/net/ssh/transport/session.rb:166:in `loop'
    from /Library/Ruby/Gems/1.8/gems/net-ssh-2.2.2/lib/net/ssh/transport/session.rb:166:in `poll_message'
    from /Library/Ruby/Gems/1.8/gems/net-ssh-2.2.2/lib/net/ssh/connection/session.rb:451:in `dispatch_incoming_packets'
    from /Library/Ruby/Gems/1.8/gems/net-ssh-2.2.2/lib/net/ssh/connection/session.rb:213:in `preprocess'
    from /Library/Ruby/Gems/1.8/gems/net-ssh-2.2.2/lib/net/ssh/connection/session.rb:197:in `process'
    from /Library/Ruby/Gems/1.8/gems/net-ssh-2.2.2/lib/net/ssh/connection/session.rb:161:in `loop'
    from /Library/Ruby/Gems/1.8/gems/net-ssh-2.2.2/lib/net/ssh/connection/session.rb:161:in `loop_forever'
    from /Library/Ruby/Gems/1.8/gems/net-ssh-2.2.2/lib/net/ssh/connection/session.rb:161:in `loop'
    from /Library/Ruby/Gems/1.8/gems/net-ssh-2.2.2/lib/net/ssh/connection/channel.rb:269:in `wait'
    from /Library/Ruby/Gems/1.8/gems/vagrant-1.0.3/lib/vagrant/communication/ssh.rb:213:in `shell_execute'
    from /Library/Ruby/Gems/1.8/gems/vagrant-1.0.3/lib/vagrant/communication/ssh.rb:53:in `execute'
    from /Library/Ruby/Gems/1.8/gems/vagrant-1.0.3/lib/vagrant/communication/ssh.rb:110:in `connect'
    from /Library/Ruby/Gems/1.8/gems/vagrant-1.0.3/lib/vagrant/communication/ssh.rb:52:in `execute'
    from /Library/Ruby/Gems/1.8/gems/vagrant-1.0.3/lib/vagrant/communication/ssh.rb:72:in `sudo'
    from /Library/Ruby/Gems/1.8/gems/vagrant-1.0.3/lib/vagrant/provisioners/chef_solo.rb:196:in `run_chef_solo'
    from /Library/Ruby/Gems/1.8/gems/vagrant-1.0.3/lib/vagrant/provisioners/chef_solo.rb:189:in `times'
    from /Library/Ruby/Gems/1.8/gems/vagrant-1.0.3/lib/vagrant/provisioners/chef_solo.rb:189:in `run_chef_solo'
    from /Library/Ruby/Gems/1.8/gems/vagrant-1.0.3/lib/vagrant/provisioners/chef_solo.rb:96:in `provision!'
    from /Library/Ruby/Gems/1.8/gems/vagrant-1.0.3/lib/vagrant/action/vm/provision.rb:34:in `call'
    from /Library/Ruby/Gems/1.8/gems/vagrant-1.0.3/lib/vagrant/action/vm/provision.rb:31:in `each'
    from /Library/Ruby/Gems/1.8/gems/vagrant-1.0.3/lib/vagrant/action/vm/provision.rb:31:in `call'
    from /Library/Ruby/Gems/1.8/gems/vagrant-1.0.3/lib/vagrant/action/warden.rb:33:in `call'
    from /Library/Ruby/Gems/1.8/gems/vagrant-1.0.3/lib/vagrant/action/vm/forward_ports.rb:24:in `call'
    from /Library/Ruby/Gems/1.8/gems/vagrant-1.0.3/lib/vagrant/action/warden.rb:33:in `call'
    from /Library/Ruby/Gems/1.8/gems/vagrant-1.0.3/lib/vagrant/action/vm/check_port_collisions.rb:42:in `call'
    from /Library/Ruby/Gems/1.8/gems/vagrant-1.0.3/lib/vagrant/action/warden.rb:33:in `call'
    from /Library/Ruby/Gems/1.8/gems/vagrant-1.0.3/lib/vagrant/action/env/set.rb:16:in `call'
    from /Library/Ruby/Gems/1.8/gems/vagrant-1.0.3/lib/vagrant/action/warden.rb:33:in `call'
    from /Library/Ruby/Gems/1.8/gems/vagrant-1.0.3/lib/vagrant/action/vm/clear_forwarded_ports.rb:13:in `call'
    from /Library/Ruby/Gems/1.8/gems/vagrant-1.0.3/lib/vagrant/action/warden.rb:33:in `call'
    from /Library/Ruby/Gems/1.8/gems/vagrant-1.0.3/lib/vagrant/action/vm/clean_machine_folder.rb:17:in `call'
    from /Library/Ruby/Gems/1.8/gems/vagrant-1.0.3/lib/vagrant/action/warden.rb:33:in `call'
    from /Library/Ruby/Gems/1.8/gems/vagrant-1.0.3/lib/vagrant/action/vm/check_accessible.rb:18:in `call'
    from /Library/Ruby/Gems/1.8/gems/vagrant-1.0.3/lib/vagrant/action/warden.rb:33:in `call'
    from /Library/Ruby/Gems/1.8/gems/vagrant-1.0.3/lib/vagrant/action/general/validate.rb:13:in `call'
    from /Library/Ruby/Gems/1.8/gems/vagrant-1.0.3/lib/vagrant/action/warden.rb:33:in `call'
    from /Library/Ruby/Gems/1.8/gems/vagrant-1.0.3/lib/vagrant/action/general/check_virtualbox.rb:23:in `call'
    from /Library/Ruby/Gems/1.8/gems/vagrant-1.0.3/lib/vagrant/action/warden.rb:33:in `call'
    from /Library/Ruby/Gems/1.8/gems/vagrant-1.0.3/lib/vagrant/action/vm/match_mac_address.rb:16:in `call'
    from /Library/Ruby/Gems/1.8/gems/vagrant-1.0.3/lib/vagrant/action/warden.rb:33:in `call'
    from /Library/Ruby/Gems/1.8/gems/vagrant-1.0.3/lib/vagrant/action/vm/default_name.rb:17:in `call'
    from /Library/Ruby/Gems/1.8/gems/vagrant-1.0.3/lib/vagrant/action/warden.rb:33:in `call'
    from /Library/Ruby/Gems/1.8/gems/vagrant-1.0.3/lib/vagrant/action/vm/check_guest_additions.rb:33:in `call'
    from /Library/Ruby/Gems/1.8/gems/vagrant-1.0.3/lib/vagrant/action/warden.rb:33:in `call'
    from /Library/Ruby/Gems/1.8/gems/vagrant-1.0.3/lib/vagrant/action/vm/import.rb:31:in `call'
    from /Library/Ruby/Gems/1.8/gems/vagrant-1.0.3/lib/vagrant/action/warden.rb:33:in `call'
    from /Library/Ruby/Gems/1.8/gems/vagrant-1.0.3/lib/vagrant/action/vm/check_box.rb:28:in `call'
    from /Library/Ruby/Gems/1.8/gems/vagrant-1.0.3/lib/vagrant/action/warden.rb:33:in `call'
    from /Library/Ruby/Gems/1.8/gems/vagrant-1.0.3/lib/vagrant/action/vm/check_accessible.rb:18:in `call'
    from /Library/Ruby/Gems/1.8/gems/vagrant-1.0.3/lib/vagrant/action/warden.rb:33:in `call'
    from /Library/Ruby/Gems/1.8/gems/vagrant-1.0.3/lib/vagrant/action/general/validate.rb:13:in `call'
    from /Library/Ruby/Gems/1.8/gems/vagrant-1.0.3/lib/vagrant/action/warden.rb:33:in `call'
    from /Library/Ruby/Gems/1.8/gems/vagrant-1.0.3/lib/vagrant/action/general/check_virtualbox.rb:23:in `call'
    from /Library/Ruby/Gems/1.8/gems/vagrant-1.0.3/lib/vagrant/action/warden.rb:33:in `call'
    from /Library/Ruby/Gems/1.8/gems/vagrant-1.0.3/lib/vagrant/action/builder.rb:92:in `call'
    from /Library/Ruby/Gems/1.8/gems/vagrant-1.0.3/lib/vagrant/action/runner.rb:49:in `run'
    from /Library/Ruby/Gems/1.8/gems/vagrant-1.0.3/lib/vagrant/util/busy.rb:19:in `busy'
    from /Library/Ruby/Gems/1.8/gems/vagrant-1.0.3/lib/vagrant/action/runner.rb:49:in `run'
    from /Library/Ruby/Gems/1.8/gems/vagrant-1.0.3/lib/vagrant/vm.rb:192:in `run_action'
    from /Library/Ruby/Gems/1.8/gems/vagrant-1.0.3/lib/vagrant/vm.rb:145:in `up'
    from /Library/Ruby/Gems/1.8/gems/vagrant-1.0.3/lib/vagrant/command/up.rb:31:in `execute'
    from /Library/Ruby/Gems/1.8/gems/vagrant-1.0.3/lib/vagrant/command/base.rb:116:in `with_target_vms'
    from /Library/Ruby/Gems/1.8/gems/vagrant-1.0.3/lib/vagrant/command/base.rb:111:in `each'
    from /Library/Ruby/Gems/1.8/gems/vagrant-1.0.3/lib/vagrant/command/base.rb:111:in `with_target_vms'
    from /Library/Ruby/Gems/1.8/gems/vagrant-1.0.3/lib/vagrant/command/up.rb:24:in `execute'
    from /Library/Ruby/Gems/1.8/gems/vagrant-1.0.3/lib/vagrant/cli.rb:42:in `execute'
    from /Library/Ruby/Gems/1.8/gems/vagrant-1.0.3/lib/vagrant/environment.rb:167:in `cli'
    from /Library/Ruby/Gems/1.8/gems/vagrant-1.0.3/bin/vagrant:43
    from /usr/bin/vagrant:23:in `load'
    from /usr/bin/vagrant:23

最佳答案

有一个开放的票证:https://github.com/mitchellh/vagrant/issues/516

对我有用的是以下内容:

  1. 已更新至 VirtualBox 4.1.20(从在 Ubuntu 12.04 主机上运行的 4.1.18 开始)
  2. 更新了所有 gems(我使用 rbenv。特别是我的 net-ssh gem 已过时)
  3. 按照 https://github.com/jedi4ever/veewee/blob/master/doc/vagrant.md 中的说明创建了一个新的底盒

我不再遇到“封闭流(IOError)”问题,并且可以毫无问题地进行多虚拟机 Vagrant 部署。

关于chef-infra - Vagrant 配置因关闭流而失败 (IOError),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11716875/

相关文章:

windows - Vagrant+图书馆员 puppet : unable to load puppet [Windows]

docker - docker守护进程未在 Vagrant 的vm(centos/ubuntu)上运行

node.js - 如何使用 vagrant 设置 Node 检查器?

ssl - Chef Server - 如何处理自签名证书?

chef-infra - 测试 Chef 数据包

chef-infra - ChefSpec - 无法设置节点属性

coding-style - Puppet:如果> 80 个字符,我如何将命令包装成两行?

linux - git repo 问题相关的 puppet

mysql - 在 Vagrant 中从命令行更改 mysql 绑定(bind)地址

windows - 使用 Terraform、Chef 或 Powershell 以编程方式设置 EBS 卷 Windows 驱动器盘符