summaryrefslogtreecommitdiffstats
path: root/src/pybind/mgr/ssh/Vagrantfile
blob: 0a2a63891ca13b12608ff66778403c85d2c8147f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
# 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 => '5G'
        libvirt.storage :file, :size => '5G'
      end
    end
  end

  config.vm.provision "shell" do |s|
    ssh_pub_key = File.readlines("#{Dir.home}/.ssh/id_rsa.pub").first.strip
    s.inline = "echo #{ssh_pub_key} >> /home/vagrant/.ssh/authorized_keys"
  end

  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 ceph python36
    sudo ln -s /usr/bin/python36 /usr/bin/python3
  SHELL
end