4 ms·
In the change log, I’m happy to see “improved the resilience of some Virtualbox commands.” At Airbnb, we used to use Vagrant with Virtualbox and the Chef provis
by jitl 9y ago
In the change log, I’m happy to see “improved the resilience of some Virtualbox commands.” At Airbnb, we used to use Vagrant with Virtualbox and the Chef provisioner to create our dev environments, but we migrated totally away from Vagrant after struggling with Virtualbox bugs, and strangeness with Vagrant’s internal state and locking.
Seems like this issue is finally addressed: https://github.com/mitchellh/vagrant/issues/8468 https://github.com/mitchellh/vagrant/issues/8468
Vagrant is a fantastic tool because of its flexibility, but that flexibility comes at cost: there are sometimes bugs and performance issues where the different Vagrant components don’t quite mesh perfectly.
- growtofill 9y agoWhat did you end up using instead of Vagrant?
- jitl 9y agoWe re-implemented Vagrant's Chef provisioning feature on top of OpenSSH with ControlMaster. This cut about 3 mystery seconds mystery time from our provision process. Instead of targeting local Virtualbox VMs, we use AWS boxes created by the internal tool we use to manage our production fleet.
- deleted 9y ago[deleted]
- scrollaway 9y agoVagrant's really falls short of its promise of "the exact same dev environment for everyone" in my experience, especially because of VirtualBox issues such as, for example, relative symlinks breaking if done in a shared folder on a mismatched guest/host OS. It's been such a source of frustration that there is no better shared folder alternative. VirtualBox is the only usable cross-platform backend, and vbox shared folders are the only way to have two-way syncing between guest and host. I don't understand why it's so poorly supported :/
- rasjani 9y agoVbox shared folders isn't the only way. You can use any tech that you can with "real" devices too if both guest and host has a support. For example, when I started with vagrant, after few days of just getting bored with slow thoughput of vbox shared folders, I added nfs sharing. But cifs works as well.
- jitl 9y agoShared filesystems of any sort are too slow for most application development purposes, especially if you've got a process like NPM on one of the sides trying to read and write 2.5gb of Javascript files. We saw a 30% speedup in one of our apps by switching from NFS to two-way syncing between "native" filesystems using Unison. See mitchellh's blog post on the subject: http://mitchellh.com/comparing-filesystem-performance-in-virtual-machines http://mitchellh.com/comparing-filesystem-performance-in-vir...
- gaius 9y agotrying to read and write 2.5gb of Javascript files The technical term for this is "doing it wrong"
- hallman76 9y agoWe ran into sym link problems with node/npm, but these were completely resolved by keeping the node_modules folder in the VM, not sym linked out to the host: mkdir /home/vagrant/node_modules ln -s /home/vagrant/node_modules /vagrant/node_modules