# -*- mode: ruby -*-
# vi: set ft=ruby :

VAGRANTFILE_API_VERSION = "2"

Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|

  N = 1
  (1..N).each do |machine_id|

    config.vm.box = "centos/7"

    config.vm.define "machine#{machine_id}" do |machine|
      machine.vm.hostname = "machine#{machine_id}"
      machine.vm.network "private_network", ip: "192.168.77.#{20+machine_id}"
      machine.vm.network "forwarded_port", guest: 80, host: "80#{80+machine_id}"


      machine.vm.provider :virtualbox do |v|
        v.memory = 256
        v.cpus = 1
        v.customize ["modifyvm", :id, "--natdnshostresolver1", "on"]
        v.customize ["modifyvm", :id, "--ioapic", "on"]
      end

      # Only execute once the Ansible provisioner,
      # when all the machines are up and ready.
      if machine_id == N
        machine.vm.provision :ansible do |ansible|
          # Disable default limit to connect to all the machines
          ansible.limit = "all"
          ansible.playbook = "provision.yml"
          ansible.become = true
          #ansible.verbose = "v"
          ansible.raw_arguments = ['--diff']
        end
      end
    end
  end

end
