3 Vagrant.require_version ">= 1.8.6"
4 Vagrant.configure("2") do |config|
6 config.vm.box = "bento/ubuntu-16.04"
7 config.vm.synced_folder "../..", "/src"
8 config.vm.provision "shell", path: "host_setup.sh", privileged: false
9 config.vm.provider :virtualbox do |vb|
10 vb.customize ["modifyvm", :id, "--memory", 4096]
11 vb.customize ["modifyvm", :id, "--cpus", 4]
12 vb.customize ["modifyvm", :id, "--nicpromisc3", "allow-all"]
13 vb.customize ["setextradata", :id, "VBoxInternal/CPUM/SSE4.1", "1"]
14 vb.customize ["setextradata", :id, "VBoxInternal/CPUM/SSE4.2", "1"]
15 vb.customize "post-boot",["controlvm", :id, "setlinkstate1", "on"]
18 config.vm.define "master" do |config|
19 config.vm.hostname = "master"
20 config.vm.provision "shell", path: "master_setup.sh", privileged: false
21 config.vm.network :private_network, ip: "192.168.1.10"
22 config.vm.network :private_network, ip: "192.168.2.10"
25 (1 .. $num_workers).each do |i|
26 config.vm.define vm_name = "worker%d" % [i] do |config|
27 config.vm.hostname = vm_name
28 config.vm.provision "shell", path: "worker_setup.sh", privileged: false
29 config.vm.network :private_network, ip: "192.168.1.#{i+20}"
30 config.vm.network :private_network, ip: "192.168.2.#{i+20}"