machines = YAML.safe_load File.read(__dir__ + "/vagrant-machines.yml"), symbolize_names: true Vagrant.configure("2") do |config| machines.each do |machine_name, machine_config| config.vm.define machine_name do |machine| machine.vm.box = machine_config[:vagrant_box] machine.vm.hostname = machine_config[:hostname] machine.vm.network "private_network", ip: machine_config[:external_ip] config.vm.synced_folder ".", "/vagrant", disabled: true machine.vm.provider "virtualbox" do |vb| vb.memory = 2048 vb.customize [ "modifyvm", :id, "--uartmode1", "disconnected" ] end end end config.vm.provision "ansible" do |ansible| ansible.playbook = "dev.playbook.yml" ansible.compatibility_mode = "2.0" ansible.host_vars = machines ansible.groups = { "lockss": machines.keys } end end