vagrant long provisioning fails with: Broken pipe - send(2) (Errno::EPIPE)

242 views
Skip to first unread message

Kyle McChesney

unread,
Jul 26, 2017, 1:08:54 PM7/26/17
to Vagrant
I have a vagrant managed VirtualBox which is being provisioned with Salt using the masterless config. The provisioning stage takes quite a long time due to some large files which must be downloaded and setup on the VM. I keep getting the following stack trace from vagrant up / vagrant provision:

/opt/vagrant/embedded/gems/gems/net-ssh-4.1.0/lib/net/ssh/buffered_io.rb:102:in `send': Broken pipe - send(2) (Errno::EPIPE)
from /opt/vagrant/embedded/gems/gems/net-ssh-4.1.0/lib/net/ssh/buffered_io.rb:102:in `send_pending'
from /opt/vagrant/embedded/gems/gems/net-ssh-4.1.0/lib/net/ssh/connection/session.rb:271:in `block in ev_do_handle_events'
from /opt/vagrant/embedded/gems/gems/net-ssh-4.1.0/lib/net/ssh/connection/session.rb:270:in `each'
from /opt/vagrant/embedded/gems/gems/net-ssh-4.1.0/lib/net/ssh/connection/session.rb:270:in `ev_do_handle_events'
from /opt/vagrant/embedded/gems/gems/net-ssh-4.1.0/lib/net/ssh/connection/event_loop.rb:110:in `ev_select_and_postprocess'
from /opt/vagrant/embedded/gems/gems/net-ssh-4.1.0/lib/net/ssh/connection/event_loop.rb:29:in `process'
from /opt/vagrant/embedded/gems/gems/net-ssh-4.1.0/lib/net/ssh/connection/session.rb:216:in `process'
from /opt/vagrant/embedded/gems/gems/net-ssh-4.1.0/lib/net/ssh/connection/session.rb:178:in `block in loop'
from /opt/vagrant/embedded/gems/gems/net-ssh-4.1.0/lib/net/ssh/connection/session.rb:178:in `loop'
from /opt/vagrant/embedded/gems/gems/net-ssh-4.1.0/lib/net/ssh/connection/session.rb:178:in `loop'
from /opt/vagrant/embedded/gems/gems/net-ssh-4.1.0/lib/net/ssh/connection/channel.rb:269:in `wait'
from /opt/vagrant/embedded/gems/gems/vagrant-1.9.7/plugins/communicators/ssh/communicator.rb:644:in `shell_execute'
from /opt/vagrant/embedded/gems/gems/vagrant-1.9.7/plugins/communicators/ssh/communicator.rb:235:in `block in execute'
from /opt/vagrant/embedded/gems/gems/vagrant-1.9.7/plugins/communicators/ssh/communicator.rb:332:in `connect'
from /opt/vagrant/embedded/gems/gems/vagrant-1.9.7/plugins/communicators/ssh/communicator.rb:229:in `execute'
from /opt/vagrant/embedded/gems/gems/vagrant-1.9.7/plugins/communicators/ssh/communicator.rb:266:in `sudo'
from /opt/vagrant/embedded/gems/gems/vagrant-1.9.7/plugins/provisioners/salt/provisioner.rb:377:in `call_highstate'
from /opt/vagrant/embedded/gems/gems/vagrant-1.9.7/plugins/provisioners/salt/provisioner.rb:24:in `provision'
from /opt/vagrant/embedded/gems/gems/vagrant-1.9.7/lib/vagrant/action/builtin/provision.rb:138:in `run_provisioner'
from /opt/vagrant/embedded/gems/gems/vagrant-1.9.7/lib/vagrant/action/warden.rb:95:in `call'
from /opt/vagrant/embedded/gems/gems/vagrant-1.9.7/lib/vagrant/action/warden.rb:95:in `block in finalize_action'
from /opt/vagrant/embedded/gems/gems/vagrant-1.9.7/lib/vagrant/action/warden.rb:34:in `call'
from /opt/vagrant/embedded/gems/gems/vagrant-1.9.7/lib/vagrant/action/builder.rb:116:in `call'
from /opt/vagrant/embedded/gems/gems/vagrant-1.9.7/lib/vagrant/action/runner.rb:66:in `block in run'
from /opt/vagrant/embedded/gems/gems/vagrant-1.9.7/lib/vagrant/util/busy.rb:19:in `busy'
from /opt/vagrant/embedded/gems/gems/vagrant-1.9.7/lib/vagrant/action/runner.rb:66:in `run'
from /opt/vagrant/embedded/gems/gems/vagrant-1.9.7/lib/vagrant/environment.rb:543:in `hook'
from /opt/vagrant/embedded/gems/gems/vagrant-1.9.7/lib/vagrant/action/builtin/provision.rb:126:in `call'
from /opt/vagrant/embedded/gems/gems/vagrant-1.9.7/lib/vagrant/action/builtin/provision.rb:126:in `block in call'
from /opt/vagrant/embedded/gems/gems/vagrant-1.9.7/lib/vagrant/action/builtin/provision.rb:103:in `each'
from /opt/vagrant/embedded/gems/gems/vagrant-1.9.7/lib/vagrant/action/builtin/provision.rb:103:in `call'
from /opt/vagrant/embedded/gems/gems/vagrant-1.9.7/lib/vagrant/action/warden.rb:34:in `call'
from /opt/vagrant/embedded/gems/gems/vagrant-1.9.7/plugins/providers/virtualbox/action/clear_forwarded_ports.rb:15:in `call'
from /opt/vagrant/embedded/gems/gems/vagrant-1.9.7/lib/vagrant/action/warden.rb:34:in `call'
from /opt/vagrant/embedded/gems/gems/vagrant-1.9.7/plugins/providers/virtualbox/action/set_name.rb:50:in `call'
from /opt/vagrant/embedded/gems/gems/vagrant-1.9.7/lib/vagrant/action/warden.rb:34:in `call'
from /opt/vagrant/embedded/gems/gems/vagrant-1.9.7/plugins/providers/virtualbox/action/clean_machine_folder.rb:17:in `call'
from /opt/vagrant/embedded/gems/gems/vagrant-1.9.7/lib/vagrant/action/warden.rb:34:in `call'
from /opt/vagrant/embedded/gems/gems/vagrant-1.9.7/plugins/providers/virtualbox/action/check_accessible.rb:18:in `call'
from /opt/vagrant/embedded/gems/gems/vagrant-1.9.7/lib/vagrant/action/warden.rb:34:in `call'
from /opt/vagrant/embedded/gems/gems/vagrant-1.9.7/lib/vagrant/action/warden.rb:95:in `block in finalize_action'
from /opt/vagrant/embedded/gems/gems/vagrant-1.9.7/lib/vagrant/action/warden.rb:34:in `call'
from /opt/vagrant/embedded/gems/gems/vagrant-1.9.7/lib/vagrant/action/builder.rb:116:in `call'
from /opt/vagrant/embedded/gems/gems/vagrant-1.9.7/lib/vagrant/action/runner.rb:66:in `block in run'
from /opt/vagrant/embedded/gems/gems/vagrant-1.9.7/lib/vagrant/util/busy.rb:19:in `busy'
from /opt/vagrant/embedded/gems/gems/vagrant-1.9.7/lib/vagrant/action/runner.rb:66:in `run'
from /opt/vagrant/embedded/gems/gems/vagrant-1.9.7/lib/vagrant/action/builtin/call.rb:53:in `call'
from /opt/vagrant/embedded/gems/gems/vagrant-1.9.7/lib/vagrant/action/warden.rb:34:in `call'
from /opt/vagrant/embedded/gems/gems/vagrant-1.9.7/lib/vagrant/action/warden.rb:95:in `block in finalize_action'
from /opt/vagrant/embedded/gems/gems/vagrant-1.9.7/lib/vagrant/action/warden.rb:34:in `call'
from /opt/vagrant/embedded/gems/gems/vagrant-1.9.7/lib/vagrant/action/builder.rb:116:in `call'
from /opt/vagrant/embedded/gems/gems/vagrant-1.9.7/lib/vagrant/action/runner.rb:66:in `block in run'
from /opt/vagrant/embedded/gems/gems/vagrant-1.9.7/lib/vagrant/util/busy.rb:19:in `busy'
from /opt/vagrant/embedded/gems/gems/vagrant-1.9.7/lib/vagrant/action/runner.rb:66:in `run'
from /opt/vagrant/embedded/gems/gems/vagrant-1.9.7/lib/vagrant/action/builtin/call.rb:53:in `call'
from /opt/vagrant/embedded/gems/gems/vagrant-1.9.7/lib/vagrant/action/warden.rb:34:in `call'
from /opt/vagrant/embedded/gems/gems/vagrant-1.9.7/lib/vagrant/action/warden.rb:95:in `block in finalize_action'
from /opt/vagrant/embedded/gems/gems/vagrant-1.9.7/lib/vagrant/action/warden.rb:34:in `call'
from /opt/vagrant/embedded/gems/gems/vagrant-1.9.7/lib/vagrant/action/builder.rb:116:in `call'
from /opt/vagrant/embedded/gems/gems/vagrant-1.9.7/lib/vagrant/action/runner.rb:66:in `block in run'
from /opt/vagrant/embedded/gems/gems/vagrant-1.9.7/lib/vagrant/util/busy.rb:19:in `busy'
from /opt/vagrant/embedded/gems/gems/vagrant-1.9.7/lib/vagrant/action/runner.rb:66:in `run'
from /opt/vagrant/embedded/gems/gems/vagrant-1.9.7/lib/vagrant/action/builtin/call.rb:53:in `call'
from /opt/vagrant/embedded/gems/gems/vagrant-1.9.7/lib/vagrant/action/warden.rb:34:in `call'
from /opt/vagrant/embedded/gems/gems/vagrant-1.9.7/lib/vagrant/action/builtin/box_check_outdated.rb:36:in `call'
from /opt/vagrant/embedded/gems/gems/vagrant-1.9.7/lib/vagrant/action/warden.rb:34:in `call'
from /opt/vagrant/embedded/gems/gems/vagrant-1.9.7/lib/vagrant/action/builtin/config_validate.rb:25:in `call'
from /opt/vagrant/embedded/gems/gems/vagrant-1.9.7/lib/vagrant/action/warden.rb:34:in `call'
from /opt/vagrant/embedded/gems/gems/vagrant-1.9.7/plugins/providers/virtualbox/action/check_virtualbox.rb:17:in `call'
from /opt/vagrant/embedded/gems/gems/vagrant-1.9.7/lib/vagrant/action/warden.rb:34:in `call'
from /opt/vagrant/embedded/gems/gems/vagrant-1.9.7/lib/vagrant/action/warden.rb:95:in `block in finalize_action'
from /opt/vagrant/embedded/gems/gems/vagrant-1.9.7/lib/vagrant/action/warden.rb:34:in `call'
from /opt/vagrant/embedded/gems/gems/vagrant-1.9.7/plugins/providers/virtualbox/action/match_mac_address.rb:19:in `call'
from /opt/vagrant/embedded/gems/gems/vagrant-1.9.7/lib/vagrant/action/warden.rb:34:in `call'
from /opt/vagrant/embedded/gems/gems/vagrant-1.9.7/plugins/providers/virtualbox/action/discard_state.rb:15:in `call'
from /opt/vagrant/embedded/gems/gems/vagrant-1.9.7/lib/vagrant/action/warden.rb:34:in `call'
from /opt/vagrant/embedded/gems/gems/vagrant-1.9.7/plugins/providers/virtualbox/action/import.rb:74:in `import'
from /opt/vagrant/embedded/gems/gems/vagrant-1.9.7/plugins/providers/virtualbox/action/import.rb:13:in `call'
from /opt/vagrant/embedded/gems/gems/vagrant-1.9.7/lib/vagrant/action/warden.rb:34:in `call'
from /opt/vagrant/embedded/gems/gems/vagrant-1.9.7/plugins/providers/virtualbox/action/prepare_clone_snapshot.rb:17:in `call'
from /opt/vagrant/embedded/gems/gems/vagrant-1.9.7/lib/vagrant/action/warden.rb:34:in `call'
from /opt/vagrant/embedded/gems/gems/vagrant-1.9.7/lib/vagrant/action/builtin/prepare_clone.rb:15:in `call'
from /opt/vagrant/embedded/gems/gems/vagrant-1.9.7/lib/vagrant/action/warden.rb:34:in `call'
from /opt/vagrant/embedded/gems/gems/vagrant-1.9.7/plugins/providers/virtualbox/action/customize.rb:40:in `call'
from /opt/vagrant/embedded/gems/gems/vagrant-1.9.7/lib/vagrant/action/warden.rb:34:in `call'
from /opt/vagrant/embedded/gems/gems/vagrant-1.9.7/plugins/providers/virtualbox/action/check_accessible.rb:18:in `call'
from /opt/vagrant/embedded/gems/gems/vagrant-1.9.7/lib/vagrant/action/warden.rb:34:in `call'
from /opt/vagrant/embedded/gems/gems/vagrant-1.9.7/lib/vagrant/action/warden.rb:95:in `block in finalize_action'
from /opt/vagrant/embedded/gems/gems/vagrant-1.9.7/lib/vagrant/action/warden.rb:34:in `call'
from /opt/vagrant/embedded/gems/gems/vagrant-1.9.7/lib/vagrant/action/builder.rb:116:in `call'
from /opt/vagrant/embedded/gems/gems/vagrant-1.9.7/lib/vagrant/action/runner.rb:66:in `block in run'
from /opt/vagrant/embedded/gems/gems/vagrant-1.9.7/lib/vagrant/util/busy.rb:19:in `busy'
from /opt/vagrant/embedded/gems/gems/vagrant-1.9.7/lib/vagrant/action/runner.rb:66:in `run'
from /opt/vagrant/embedded/gems/gems/vagrant-1.9.7/lib/vagrant/action/builtin/call.rb:53:in `call'
from /opt/vagrant/embedded/gems/gems/vagrant-1.9.7/lib/vagrant/action/warden.rb:34:in `call'
from /opt/vagrant/embedded/gems/gems/vagrant-1.9.7/lib/vagrant/action/builtin/config_validate.rb:25:in `call'
from /opt/vagrant/embedded/gems/gems/vagrant-1.9.7/lib/vagrant/action/warden.rb:34:in `call'
from /opt/vagrant/embedded/gems/gems/vagrant-1.9.7/lib/vagrant/action/warden.rb:95:in `block in finalize_action'
from /opt/vagrant/embedded/gems/gems/vagrant-1.9.7/lib/vagrant/action/warden.rb:34:in `call'
from /opt/vagrant/embedded/gems/gems/vagrant-1.9.7/lib/vagrant/action/builtin/handle_box.rb:56:in `call'
from /opt/vagrant/embedded/gems/gems/vagrant-1.9.7/lib/vagrant/action/warden.rb:34:in `call'
from /opt/vagrant/embedded/gems/gems/vagrant-1.9.7/lib/vagrant/action/warden.rb:95:in `block in finalize_action'
from /opt/vagrant/embedded/gems/gems/vagrant-1.9.7/lib/vagrant/action/warden.rb:34:in `call'
from /opt/vagrant/embedded/gems/gems/vagrant-1.9.7/lib/vagrant/action/builder.rb:116:in `call'
from /opt/vagrant/embedded/gems/gems/vagrant-1.9.7/lib/vagrant/action/runner.rb:66:in `block in run'
from /opt/vagrant/embedded/gems/gems/vagrant-1.9.7/lib/vagrant/util/busy.rb:19:in `busy'
from /opt/vagrant/embedded/gems/gems/vagrant-1.9.7/lib/vagrant/action/runner.rb:66:in `run'
from /opt/vagrant/embedded/gems/gems/vagrant-1.9.7/lib/vagrant/action/builtin/call.rb:53:in `call'
from /opt/vagrant/embedded/gems/gems/vagrant-1.9.7/lib/vagrant/action/warden.rb:34:in `call'
from /opt/vagrant/embedded/gems/gems/vagrant-1.9.7/plugins/providers/virtualbox/action/check_virtualbox.rb:17:in `call'
from /opt/vagrant/embedded/gems/gems/vagrant-1.9.7/lib/vagrant/action/warden.rb:34:in `call'
from /opt/vagrant/embedded/gems/gems/vagrant-1.9.7/lib/vagrant/action/builder.rb:116:in `call'
from /opt/vagrant/embedded/gems/gems/vagrant-1.9.7/lib/vagrant/action/runner.rb:66:in `block in run'
from /opt/vagrant/embedded/gems/gems/vagrant-1.9.7/lib/vagrant/util/busy.rb:19:in `busy'
from /opt/vagrant/embedded/gems/gems/vagrant-1.9.7/lib/vagrant/action/runner.rb:66:in `run'
from /opt/vagrant/embedded/gems/gems/vagrant-1.9.7/lib/vagrant/machine.rb:227:in `action_raw'
from /opt/vagrant/embedded/gems/gems/vagrant-1.9.7/lib/vagrant/machine.rb:202:in `block in action'
from /opt/vagrant/embedded/gems/gems/vagrant-1.9.7/lib/vagrant/environment.rb:631:in `lock'
from /opt/vagrant/embedded/gems/gems/vagrant-1.9.7/lib/vagrant/machine.rb:188:in `call'
from /opt/vagrant/embedded/gems/gems/vagrant-1.9.7/lib/vagrant/machine.rb:188:in `action'
from /opt/vagrant/embedded/gems/gems/vagrant-1.9.7/lib/vagrant/batch_action.rb:82:in `block (2 levels) in run'


I suspect what is happening is simply a drop in the SSH connection between vagrant and the VM. I was just wondering if anyone else has ran into this before and had any solutions. I was thinking there should be someway to run the provision process in screen or something similar. I suspect that it would be difficult for vagrant to know when salt was done.

I am on OSX 10.12.6, using vagrant version 1.9.7 and VirtualBox version 5.0.32r112930.
My VM is based on a CentOS 6.7 box (built with packer)

Alvaro Miranda Aguilera

unread,
Jul 27, 2017, 12:37:46 AM7/27/17
to vagra...@googlegroups.com
Hello

If you have virtualbox additions installed, you should see /vagrant mounted in the vm.

the current directory in the host where the vagrantfile is  is mounted on /vagrant

so if the files are in files/ then you can see those in /vagrant/files
If you use that, then you won't need copy the files

hope this helps
Alvaro

--
This mailing list is governed under the HashiCorp Community Guidelines - https://www.hashicorp.com/community-guidelines.html. Behavior in violation of those guidelines may result in your removal from this mailing list.
 
GitHub Issues: https://github.com/mitchellh/vagrant/issues
IRC: #vagrant on Freenode
---
You received this message because you are subscribed to the Google Groups "Vagrant" group.
To unsubscribe from this group and stop receiving emails from it, send an email to vagrant-up+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/vagrant-up/6a68bfc4-1dc5-4707-9d85-ec664fd65869%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.



--
Alvaro

Kyle McChesney

unread,
Jul 27, 2017, 3:09:36 PM7/27/17
to vagra...@googlegroups.com
Hey Alvaro,

Thanks for the response! This solution should work perfectly.

- Kyle

You received this message because you are subscribed to a topic in the Google Groups "Vagrant" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/vagrant-up/xDVgk6hMXCI/unsubscribe.
To unsubscribe from this group and all its topics, send an email to vagrant-up+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/vagrant-up/CAHqq0ezcPXRUh%2B-V_J1m10Q%3DKyvAjTKZBOkcrAWVonZ_4_%2B90g%40mail.gmail.com.

For more options, visit https://groups.google.com/d/optout.



--
Thanks,
Kyle McChesney

Alvaro Miranda Aguilera

unread,
Jul 27, 2017, 4:53:27 PM7/27/17
to vagra...@googlegroups.com
Also, by default vagrant will set a port forward using virtualbox.

if you really need to use ssh/scp/sfp the best is setup a private network and use that ip, it behaves better

but the shared folder is the way to go to share files between host and guest


For more options, visit https://groups.google.com/d/optout.



--
Alvaro

Reply all
Reply to author
Forward
0 new messages