Skip to content

Instantly share code, notes, and snippets.

@echo-devnull
Last active January 13, 2021 05:58
Show Gist options
  • Save echo-devnull/5b39e3356a240a9b0fc2063d6d16ffab to your computer and use it in GitHub Desktop.
Save echo-devnull/5b39e3356a240a9b0fc2063d6d16ffab to your computer and use it in GitHub Desktop.
Vagrantfile
# -*- mode: ruby -*-
# vi: set ft=ruby :
# Vagrantfile API/syntax version. Don't touch unless you know what you're doing!
VAGRANTFILE_API_VERSION = "2"
Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
config.vm.box = "centos/7"
config.ssh.insert_key = false
# Every Vagrant virtual environment requires a box to build off of.
config.vm.define "monitor01" do |vm01|
vm01.vm.hostname = "monitor01"
vm01.vm.network "private_network", ip: "192.168.121.101", virtualbox__intnet: "priv"
vm01.vm.network "public_network", bridge: 'wlp0s20f3'
vm01.vm.network :forwarded_port, host: 4567, guest: 80
vm01.vm.provider "virtualbox" do |v|
v.customize ["modifyvm", :id, "--memory", "1024"]
v.customize ["modifyvm", :id, "--natdnshostresolver1", "on"]
v.customize ["modifyvm", :id, "--natdnsproxy1", "on"]
# v.gui = true
end
end
config.vm.define "mds01" do |vm02|
vm02.vm.hostname = "mds01"
vm02.vm.network "private_network", ip: "192.168.121.102", virtualbox__intnet: "priv"
vm02.vm.network "public_network", bridge: 'wlp0s20f3'
vm02.vm.provider "virtualbox" do |v|
v.customize ["modifyvm", :id, "--memory", "1024"]
v.customize ["modifyvm", :id, "--natdnshostresolver1", "on"]
v.customize ["modifyvm", :id, "--natdnsproxy1", "on"]
end
end
config.vm.define "manager01" do |vm03|
vm03.vm.hostname = "manager01"
vm03.vm.network "private_network", ip: "192.168.121.103", virtualbox__intnet: "priv"
vm03.vm.network "public_network", bridge: 'wlp0s20f3'
vm03.vm.provider "virtualbox" do |v|
v.customize ["modifyvm", :id, "--memory", "1024"]
v.customize ["modifyvm", :id, "--natdnshostresolver1", "on"]
v.customize ["modifyvm", :id, "--natdnsproxy1", "on"]
end
end
config.vm.define "osd01" do |vm04|
vm04.vm.hostname = "osd01"
vm04.vm.network "private_network", ip: "192.168.121.104", virtualbox__intnet: "priv"
vm04.vm.network "public_network", bridge: 'wlp0s20f3'
vm04.vm.provider "virtualbox" do |v|
v.customize ["modifyvm", :id, "--memory", "512"]
v.customize ["modifyvm", :id, "--natdnshostresolver1", "on"]
v.customize ["modifyvm", :id, "--natdnsproxy1", "on"]
end
end
config.vm.define "osd02" do |vm05|
vm05.vm.hostname = "osd02"
vm05.vm.network "private_network", ip: "192.168.121.105", virtualbox__intnet: "priv"
vm05.vm.network "public_network", bridge: 'wlp0s20f3'
vm05.vm.provider "virtualbox" do |v|
v.customize ["modifyvm", :id, "--memory", "512"]
v.customize ["modifyvm", :id, "--natdnshostresolver1", "on"]
v.customize ["modifyvm", :id, "--natdnsproxy1", "on"]
end
end
config.vm.define "osd03" do |vm06|
vm06.vm.hostname = "osd03"
vm06.vm.network "private_network", ip: "192.168.121.106", virtualbox__intnet: "priv"
vm06.vm.network "public_network", bridge: 'wlp0s20f3'
vm06.vm.provider "virtualbox" do |v|
v.customize ["modifyvm", :id, "--memory", "512"]
v.customize ["modifyvm", :id, "--natdnshostresolver1", "on"]
v.customize ["modifyvm", :id, "--natdnsproxy1", "on"]
end
vm06.vm.provision "ansible" do |ansible|
ansible.playbook = "site.yml"
ansible.groups = {
"monitor" => ["monitor01"],
"mds" => ["mds01"],
"osd" => ["osd01", "osd02", "osd03"],
"manager" => ["manager01"],
"cluster:children" => ["monitor", "mds", "osd", "manager"]
}
ansible.limit = 'all'
ansible.verbose = 'vv'
ansible.extra_vars = {ansible_ssh_user: 'vagrant', sudo: 'true', sudo_user: 'root'}
end
end
# Disable automatic box update checking. If you disable this, then
# boxes will only be checked for updates when the user runs
# `vagrant box outdated`. This is not recommended.
config.vm.box_check_update = false
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment