# -*- mode: ruby -*- # vi: set ft=ruby : # LINUX_BASE_BOX = "bento/ubuntu-16.04" Vagrant.configure(2) do |config| config.vm.define "linux", autostart: true, primary: true do |vmCfg| vmCfg.vm.box = LINUX_BASE_BOX vmCfg.vm.hostname = "linux" vmCfg = configureProviders vmCfg, cpus: suggestedCPUCores() vmCfg = configureLinuxProvisioners(vmCfg) vmCfg.vm.synced_folder '.', '/opt/gopath/src/github.com/hashicorp/consul' vmCfg.vm.network "forwarded_port", guest: 8500, host: 8500, auto_correct: true end end def configureLinuxProvisioners(vmCfg) vmCfg.vm.provision "shell", privileged: true, inline: 'rm -f /home/vagrant/linux.iso' vmCfg.vm.provision "shell", privileged: true, path: './scripts/vagrant-linux-priv-go.sh' return vmCfg end def configureProviders(vmCfg, cpus: "2", memory: "2048") vmCfg.vm.provider "virtualbox" do |v| v.memory = memory v.cpus = cpus end ["vmware_fusion", "vmware_workstation"].each do |p| vmCfg.vm.provider p do |v| v.enable_vmrun_ip_lookup = false v.vmx["memsize"] = memory v.vmx["numvcpus"] = cpus end end vmCfg.vm.provider "virtualbox" do |v| v.memory = memory v.cpus = cpus end return vmCfg end def suggestedCPUCores() case RbConfig::CONFIG['host_os'] when /darwin/ Integer(`sysctl -n hw.ncpu`) / 2 when /linux/ Integer(`cat /proc/cpuinfo | grep processor | wc -l`) / 2 else 2 end end