summaryrefslogtreecommitdiffstats
path: root/src/pybind/mgr/ssh/Vagrantfile
diff options
context:
space:
mode:
Diffstat (limited to 'src/pybind/mgr/ssh/Vagrantfile')
-rw-r--r--src/pybind/mgr/ssh/Vagrantfile39
1 files changed, 39 insertions, 0 deletions
diff --git a/src/pybind/mgr/ssh/Vagrantfile b/src/pybind/mgr/ssh/Vagrantfile
new file mode 100644
index 00000000..0a2a6389
--- /dev/null
+++ b/src/pybind/mgr/ssh/Vagrantfile
@@ -0,0 +1,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