When Vagrant boots, one of the last things it does is mount
/vagrant/. This can be a problem if you're launching an upstart service that depends on the existence of
/vagrant/ (a web server, for example).
One solution is to emit an upstart event in a Vagrantfile provisioning script. Then update your upstart config to start on that event. For example, in your upstart file do something like this:
description "my super upstart service"
start on vagrant-ready
... more upstart config ...
Then, in your
config.vm.provision :shell, :inline => "sudo initctl emit vagrant-ready"
And that's it!