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

Vagrant.configure("2") do |config|

  config.ssh.username = "root"
  config.vm.box = "fedora/RELEASE-cloud-base"
  config.vm.synced_folder "./", "/vagrant", type: "nfs"

  config.vm.define "controller" , primary: true do |controller|
    controller.vm.provider :virtualbox do |vb|
          vb.customize ["modifyvm", :id, "--memory", "950"]
    end
    controller.vm.provision "ansible_local" do |ansible|
      # Disable default limit to connect to all the machines
      ansible.limit = "all"
      ansible.install_mode = "pip_args_only"
      ansible.pip_args = "-r /vagrant/tests/dogtag/pytest-ansible/requirements.txt"
      ansible.become = true
      ansible.playbook = "/vagrant/tests/dogtag/pytest-ansible/installation/main.yml"
      ansible.inventory_path = "/vagrant/inventory"
      ansible.verbose = "vv"
      ansible.raw_arguments  = "-M /vagrant/tests/dogtag/pytest-ansible/common-modules/"
    end

    controller.vm.provision "shell", inline: "export ANSIBLE_LIBRARY=/vagrant/tests/dogtag/pytest-ansible/common-modules/"
    controller.vm.provision "shell", inline: "pip install -e /vagrant/tests/dogtag/pytest-ansible/"
    controller.vm.network :private_network, ip: "CONTROLLER_IP"
  end

  config.vm.define "master"  do |master|
    master.vm.network :private_network, ip: "MASTER_IP"
    master.vm.provision "shell", inline: "dnf copr enable -y COPR_REPO"
    master.vm.provision "shell", inline: "find /vagrant -name '*.rpm' -and -not -name '*debuginfo*' | xargs sudo dnf -y install"
    master.vm.provider :virtualbox do |vb|
      vb.customize ["modifyvm", :id, "--memory", "2750"]
    end
  end

#  config.vm.define "clone0"  do |clone0|
#  clone0.vm.network :private_network, ip: "CLONE_IP"
#  end
end
