wip ansible inventory

This commit is contained in:
Mehdi BEN ABDALLAH
2019-06-26 20:53:15 +02:00
parent 8ac3a99661
commit e505bac08a
6 changed files with 90 additions and 16 deletions

49
Vagrantfile vendored
View File

@@ -4,6 +4,19 @@ require 'open-uri'
Vagrant.require_version ">= 2.2.4"
unless Vagrant.has_plugin?("vagrant-scp")
raise 'vagrant-scp is not installed! Please run vagrant plugin install vagrant-scp'
end
hosts = {
masters: [
"master-node"
],
workers: (1..2).map { |i| "worker-node-#{i}" }
}
generated_ansible_inventory_file="./inventory/generated"
Vagrant.configure("2") do |config|
config.vm.box = "debian/stretch64"
config.vm.box_version = "= 9.9.1"
@@ -13,26 +26,32 @@ Vagrant.configure("2") do |config|
# greet from every configured VM, revealing its hostname
config.vm.provision "shell", inline: "echo Hello from \$HOSTNAME"
config.vm.define "master-node" do |node|
node.vm.hostname = "master-node"
node.vm.provider :virtualbox do |v|
v.customize ["modifyvm", :id, "--natdnshostresolver1", "on"]
v.customize ["modifyvm", :id, "--memory", 512]
v.customize ["modifyvm", :id, "--name", "master-node"]
end
end
(1..2).each do |i|
config.vm.define "worker-node-#{i}" do |node|
node.vm.hostname = "worker-node-#{i}"
(hosts[:masters] + hosts[:workers]).each do |node_name|
config.vm.define node_name do |node|
node.vm.hostname = node_name
node.vm.provider :virtualbox do |v|
v.customize ["modifyvm", :id, "--natdnshostresolver1", "on"]
v.customize ["modifyvm", :id, "--memory", 512]
v.customize ["modifyvm", :id, "--name", "worker-node-#{i}"]
v.customize ["modifyvm", :id, "--name", node_name]
end
end
end
config.trigger.after :up do |trigger|
File.open(generated_ansible_inventory_file, "w") do |w|
w.puts "[masters]"
hosts[:masters].each { |host| w.puts host }
w.puts "[workers]"
hosts[:workers].each { |host| w.puts host }
end
end
"""
config.trigger.after :destroy do |trigger|
File.delete(generated_ansible_inventory_file) if File.exist?(generated_ansible_inventory_file)
end
"""
end