$num_workers=3 Vagrant.require_version ">= 1.8.6" Vagrant.configure("2") do |config| config.vm.box = "bento/ubuntu-16.04" config.vm.provider :virtualbox do |vb| vb.customize ["modifyvm", :id, "--memory", 4096] vb.customize ["modifyvm", :id, "--cpus", 4] vb.customize "post-boot",["controlvm", :id, "setlinkstate1", "on"] end config.vm.define "master" do |config| config.vm.hostname = "master" config.vm.provision "shell", path: "master_setup.sh", privileged: false config.vm.network :private_network, ip: "192.168.1.10" end (1 .. $num_workers).each do |i| config.vm.define vm_name = "worker%d" % [i] do |config| config.vm.hostname = vm_name config.vm.provision "shell", path: "worker_setup.sh", privileged: false config.vm.network :private_network, ip: "192.168.1.#{i+20}" end end end