Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

vagrant shell script failing with unexplained error ```read-only file system(runtimeerror)```

Tags:

vagrant

I've a little provisioning shell provisioning script in vagrant (to install something puppet fails to..) the script:

#!/bin/bash
echo 'provisioning librarian'
gem install librarian-puppet
librarian-puppet install

run fine from sh prescript.sh but from the vagrant provisioning fails with:

D:/HashiCorp/Vagrant/embedded/gems/gems/net-scp-1.1.0/lib/net/scp.rb:385:in `awa
it_response_state': ☺scp: /tmp/vagrant-shell: Read-only file system (RuntimeErro
r)
        from D:/HashiCorp/Vagrant/embedded/gems/gems/net-scp-1.1.0/lib/net/scp.r
b:356:in `block (3 levels) in start_command'
        from D:/HashiCorp/Vagrant/embedded/gems/gems/net-ssh-2.6.7/lib/net/ssh/c
onnection/channel.rb:311:in `call'
        from D:/HashiCorp/Vagrant/embedded/gems/gems/net-ssh-2.6.7/lib/net/ssh/c
onnection/channel.rb:311:in `process'
        from D:/HashiCorp/Vagrant/embedded/gems/gems/net-ssh-2.6.7/lib/net/ssh/c
onnection/session.rb:217:in `block in preprocess'
        from D:/HashiCorp/Vagrant/embedded/gems/gems/net-ssh-2.6.7/lib/net/ssh/c
onnection/session.rb:217:in `each'
        from D:/HashiCorp/Vagrant/embedded/gems/gems/net-ssh-2.6.7/lib/net/ssh/c
onnection/session.rb:217:in `preprocess'
        from D:/HashiCorp/Vagrant/embedded/gems/gems/net-ssh-2.6.7/lib/net/ssh/c
onnection/session.rb:200:in `process'
        from D:/HashiCorp/Vagrant/embedded/gems/gems/net-ssh-2.6.7/lib/net/ssh/c
onnection/session.rb:164:in `block in loop'
        from D:/HashiCorp/Vagrant/embedded/gems/gems/net-ssh-2.6.7/lib/net/ssh/c
onnection/session.rb:164:in `loop'
        from D:/HashiCorp/Vagrant/embedded/gems/gems/net-ssh-2.6.7/lib/net/ssh/c
onnection/session.rb:164:in `loop'
        from D:/HashiCorp/Vagrant/embedded/gems/gems/net-ssh-2.6.7/lib/net/ssh/c
onnection/channel.rb:269:in `wait'
        from D:/HashiCorp/Vagrant/embedded/gems/gems/net-scp-1.1.0/lib/net/scp.r
b:279:in `upload!'
        from D:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-1.2.2/plugins/commu
nicators/ssh/communicator.rb:105:in `block in upload'
        from D:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-1.2.2/plugins/commu
nicators/ssh/communicator.rb:331:in `block in scp_connect'
        from D:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-1.2.2/plugins/commu
nicators/ssh/communicator.rb:139:in `connect'
        from D:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-1.2.2/plugins/commu
nicators/ssh/communicator.rb:329:in `scp_connect'
        from D:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-1.2.2/plugins/commu
nicators/ssh/communicator.rb:99:in `upload'
        from D:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-1.2.2/plugins/provi
sioners/shell/provisioner.rb:20:in `block (2 levels) in provision'
        from D:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-1.2.2/plugins/provi
sioners/shell/provisioner.rb:14:in `tap'
        from D:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-1.2.2/plugins/provi
sioners/shell/provisioner.rb:14:in `block in provision'
        from D:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-1.2.2/plugins/provi
sioners/shell/provisioner.rb:78:in `with_script_file'
        from D:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-1.2.2/plugins/provi
sioners/shell/provisioner.rb:12:in `provision'
        from D:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-1.2.2/lib/vagrant/a
ction/builtin/provision.rb:65:in `run_provisioner'
        from D:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-1.2.2/lib/vagrant/a
ction/builtin/provision.rb:53:in `block in call'
        from D:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-1.2.2/lib/vagrant/a
ction/builtin/provision.rb:49:in `each'
        from D:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-1.2.2/lib/vagrant/a
ction/builtin/provision.rb:49:in `call'
        from D:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-1.2.2/lib/vagrant/a
ction/warden.rb:34:in `call'
        from D:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-1.2.2/plugins/provi
ders/virtualbox/action/check_accessible.rb:18:in `call'
        from D:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-1.2.2/lib/vagrant/a
ction/warden.rb:34:in `call'
        from D:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-1.2.2/lib/vagrant/a
ction/runner.rb:61:in `block in run'
        from D:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-1.2.2/lib/vagrant/u
til/busy.rb:19:in `busy'
        from D:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-1.2.2/lib/vagrant/a
ction/runner.rb:61:in `run'
        from D:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-1.2.2/lib/vagrant/a
ction/builtin/call.rb:51:in `call'
        from D:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-1.2.2/lib/vagrant/a
ction/warden.rb:34:in `call'
        from D:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-1.2.2/lib/vagrant/a
ction/runner.rb:61:in `block in run'
        from D:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-1.2.2/lib/vagrant/u
til/busy.rb:19:in `busy'
        from D:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-1.2.2/lib/vagrant/a
ction/runner.rb:61:in `run'
        from D:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-1.2.2/lib/vagrant/a
ction/builtin/call.rb:51:in `call'
        from D:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-1.2.2/lib/vagrant/a
ction/warden.rb:34:in `call'
        from D:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-1.2.2/lib/vagrant/a
ction/builtin/config_validate.rb:25:in `call'
        from D:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-1.2.2/lib/vagrant/a
ction/warden.rb:34:in `call'
        from D:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-1.2.2/plugins/provi
ders/virtualbox/action/check_virtualbox.rb:17:in `call'
        from D:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-1.2.2/lib/vagrant/a
ction/warden.rb:34:in `call'
        from D:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-1.2.2/lib/vagrant/a
ction/builder.rb:116:in `call'
        from D:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-1.2.2/lib/vagrant/a
ction/runner.rb:61:in `block in run'
        from D:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-1.2.2/lib/vagrant/u
til/busy.rb:19:in `busy'
        from D:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-1.2.2/lib/vagrant/a
ction/runner.rb:61:in `run'
        from D:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-1.2.2/lib/vagrant/m
achine.rb:147:in `action'
        from D:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-1.2.2/plugins/comma
nds/provision/command.rb:26:in `block in execute'
        from D:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-1.2.2/lib/vagrant/p
lugin/v2/command.rb:182:in `block in with_target_vms'
        from D:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-1.2.2/lib/vagrant/p
lugin/v2/command.rb:180:in `each'
        from D:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-1.2.2/lib/vagrant/p
lugin/v2/command.rb:180:in `with_target_vms'
        from D:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-1.2.2/plugins/comma
nds/provision/command.rb:25:in `execute'
        from D:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-1.2.2/lib/vagrant/c
li.rb:46:in `execute'
        from D:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-1.2.2/lib/vagrant/e
nvironment.rb:467:in `cli'
        from D:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-1.2.2/bin/vagrant:8
4:in `<top (required)>'
        from D:/HashiCorp/Vagrant/bin//../embedded/../embedded/gems/bin/vagrant:
23:in `load'
        from D:/HashiCorp/Vagrant/bin//../embedded/../embedded/gems/bin/vagrant:
23:in `<main>'

following advice here I already changed (using sublimetext2) windows line ending to unix. but still fails any ideas

like image 985
alonisser Avatar asked Jul 10 '13 16:07

alonisser


1 Answers

Some possibilities:

You might be using a shared folder in VirtualBox that doesn't support symlinks (unless that's been fixed). There's supposedly a VBoxManage command to fix this now, something like

VBoxManage setextradata VM_NAME VBoxInternal2/SharedFoldersEnableSymlinksCreate/SHARE_NAME 1

or this into the Vagrant file (assuming SHARE_NAME is v-root in this one):

config.vm.customize ["setextradata", :id, "VBoxInternal2/SharedFoldersEnableSymlinksCreate/v-root", "1"]

For more possibilities see: https://www.virtualbox.org/ticket/10085#comment:12 or a long forum on the topic at https://github.com/mitchellh/vagrant/issues/713

Another possibility is that you might be running the script so early in the boot process that the root (or possibly just the /tmp) filesystem hasn't been remounted in read/write mode, say, if the script is being run from one of the /etc/rc.2/S(num)(name) scripts and the (num) is too low.

like image 141
Alex North-Keys Avatar answered Sep 28 '22 14:09

Alex North-Keys