# vi: set ft=ruby :

NUM_DAEMONS = ENV["NUM_DAEMONS"] ? ENV["NUM_DAEMONS"].to_i : 1

Vagrant.configure("2") do |config|
  config.vm.synced_folder ".", "/vagrant", disabled: true
  config.vm.network "private_network", type: "dhcp"
  config.vm.box = "centos/7"

  (0..NUM_DAEMONS - 1).each do |i|
    config.vm.define "mon#{i}" do |mon|
      mon.vm.hostname = "mon#{i}"
    end
    config.vm.define "mgr#{i}" do |mgr|
      mgr.vm.hostname = "mgr#{i}"
    end
    config.vm.define "osd#{i}" do |osd|
      osd.vm.hostname = "osd#{i}"
      osd.vm.provider :libvirt do |libvirt|
        libvirt.storage :file, :size => '20G'
        libvirt.storage :file, :size => '20G'
      end
    end
  end

  config.vm.provision "file", source: "~/.ssh/id_rsa.pub", destination: "~/.ssh/id_rsa.pub"
  config.vm.provision "shell", inline: <<-SHELL
    cat /home/vagrant/.ssh/id_rsa.pub >> /home/vagrant/.ssh/authorized_keys
    sudo cp -r /home/vagrant/.ssh /root/.ssh
  SHELL

  config.vm.provision "shell", inline: <<-SHELL
    sudo yum install -y yum-utils
    sudo yum install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
    sudo rpm --import 'https://download.ceph.com/keys/release.asc'
    curl -L https://shaman.ceph.com/api/repos/ceph/master/latest/centos/7/repo/ | sudo tee /etc/yum.repos.d/shaman.repo
    sudo yum install -y python36 podman ceph
    sudo ln -s /usr/bin/python36 /usr/bin/python3 || true
  SHELL
end
