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

# All Vagrant configuration is done below. The "2" in Vagrant.configure
# configures the configuration version (we support older styles for
# backwards compatibility). Please don't change it unless you know what
# you're doing.
Vagrant.configure(2) do |config|
  config.vm.box = "ubuntu/vivid64"
  config.ssh.forward_agent = true
  config.omnibus.chef_version = :latest

  config.vm.provider :virtualbox do |vbox|
    vbox.customize ["modifyvm", :id, "--memory", 1024]
    vbox.customize ["modifyvm", :id, "--cpus", 2]
  end

  config.vm.define "mesos-master" do |mesos_master|
    private_ip = "192.168.88.10"
    mesos_master.vm.network "private_network", ip: private_ip
    mesos_master.vm.hostname = "mesos-master.#{Etc.getlogin}"

    mesos_master.vm.provision :hosts do |provisioner|
      provisioner.add_host private_ip , [ mesos_master.vm.hostname ]
    end
  end

  config.vm.define "mesos-slave-1" do |mesos_slave|
    private_ip =  "192.168.88.30"
    mesos_slave.vm.network "private_network", ip: private_ip
    mesos_slave.vm.hostname = "mesos-slave-1.#{Etc.getlogin}"

    mesos_slave.vm.provision :hosts do |provisioner|
      provisioner.add_host private_ip , [ mesos_slave.vm.hostname ]
    end
  end

  config.vm.define "mesos-slave-2" do |mesos_slave|
    private_ip =  "192.168.88.40"
    mesos_slave.vm.network "private_network", ip: private_ip
    mesos_slave.vm.hostname = "mesos-slave-2.#{Etc.getlogin}"

    mesos_slave.vm.provision :hosts do |provisioner|
      provisioner.add_host private_ip , [ mesos_slave.vm.hostname ]
    end
  end
end
