Update provision.py and Vagrantfile to support VMWare.

This adds support for using VMWare Fusion as the Vagrant provider,
which has better performance than Virtualbox at the price of being
nonfree (in all senses of the term).

We haven't done solid benchmarking as to how much faster it is than
the Virtualbox provider.
This commit is contained in:
Tim Abbott 2016-09-07 19:30:48 -07:00
parent c81b93249b
commit c9f9fb265e
4 changed files with 22 additions and 10 deletions

6
Vagrantfile vendored
View File

@ -70,6 +70,12 @@ Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
vb.cpus = 2
end
config.vm.provider "vmware_fusion" do |vb, override|
override.vm.box = "puphpet/ubuntu1404-x64"
vb.vmx["memsize"] = "2048"
vb.vmx["numvcpus"] = "2"
end
$provision_script = <<SCRIPT
set -x
set -e

View File

@ -31,13 +31,11 @@ such as Mac via Virtualbox (but everything will be 2-3x slower).
LXC installation instructions][vagrant-lxc] to get Vagrant with LXC
for your platform.
* If your host is OS X or older Linux, [download VirtualBox][vbox-dl],
[download Vagrant][vagrant-dl], and install them both.
* If you're on OS X and have VMWare, it should be possible to patch
Vagrantfile to use the VMWare vagrant provider which should perform
much better than Virtualbox. Patches to do this by default if
VMWare is available are welcome!
* If your host is OS X or older Linux, [download Vagrant][vagrant-dl]
and [VirtualBox][vbox-dl]. Or, instead of Virtualbox you can use
[VMWare Fusion][vmware-fusion-dl] with the [VMWare vagrant
provider][vagrant-vmware-fusion-dl] for a nonfree option with better
performance.
* On Windows: You can use Vagrant and Virtualbox/VMWare on Windows
with Cygwin, similar to the Mac setup. Be sure to create your git
@ -48,6 +46,8 @@ such as Mac via Virtualbox (but everything will be 2-3x slower).
[vagrant-dl]: https://www.vagrantup.com/downloads.html
[vagrant-lxc]: https://github.com/fgrehm/vagrant-lxc
[vbox-dl]: https://www.virtualbox.org/wiki/Downloads
[vmware-fusion-dl]: http://www.vmware.com/products/fusion.html
[vagrant-vmware-fusion-dl]: https://www.vagrantup.com/vmware/
[avoiding-sudo]: https://github.com/fgrehm/vagrant-lxc#avoiding-sudo-passwords
Once that's done, simply change to your zulip directory and run

View File

@ -61,8 +61,11 @@ Jump to:
#### OS X
1. Install [VirtualBox][vbox-dl]
2. Install [Vagrant][vagrant-dl]
1. Install [Vagrant][vagrant-dl]
2. Install [VirtualBox][vbox-dl] or (for better performance;
Virtualbox is quite slow) [VMWare Fusion][vmware-fusion-dl] with the
[VMWare Fusion Vagrant plugin][vagrant-vmware-fusion-dl].
Now you are ready for [Step 2: Get Zulip Code.](#step-2-get-zulip-code)
@ -143,6 +146,8 @@ Now you are ready for [Step 2: Get Zulip Code.](#step-2-get-zulip-code)
[vagrant-dl]: https://www.vagrantup.com/downloads.html
[vagrant-lxc]: https://github.com/fgrehm/vagrant-lxc
[vbox-dl]: https://www.virtualbox.org/wiki/Downloads
[vmware-fusion-dl]: http://www.vmware.com/products/fusion.html
[vagrant-vmware-fusion-dl]: https://www.vagrantup.com/vmware/
[avoiding-sudo]: https://github.com/fgrehm/vagrant-lxc#avoiding-sudo-passwords
#### Windows 10

View File

@ -59,7 +59,8 @@ else:
# Ideally we wouldn't need to install a dependency here, before we
# know the codename.
subprocess.check_call(["sudo", "apt-get", "install", "-y", "lsb-release"])
subprocess.check_call(["sudo", "apt-get", "update"])
subprocess.check_call(["sudo", "apt-get", "install", "-y", "lsb-release", "software-properties-common"])
vendor = subprocess_text_output(["lsb_release", "-is"])
codename = subprocess_text_output(["lsb_release", "-cs"])
if not (vendor in SUPPORTED_PLATFORMS and codename in SUPPORTED_PLATFORMS[vendor]):