kiloeyes/tools/vagrant/ubuntu/Vagrantfile

61 lines
1.6 KiB
Ruby

# -*- mode: ruby -*-
# vi: set ft=ruby :
require 'yaml'
nodes = YAML.load_file("onvm/conf/nodes.conf.yml")
ids = YAML.load_file("onvm/conf/ids.conf.yml")
Vagrant.configure("2") do |config|
config.vm.box = "tknerr/managed-server-dummy"
config.ssh.username = ids['username']
config.ssh.password = ids['password']
config.vm.synced_folder ".", "/vagrant", disabled: true
config.vm.synced_folder "onvm", "/onvm", disabled: false, create: true
sync_cfg = nodes['synchfolders']
lnodes = nodes['ctlnodes']
if lnodes
lnodes.each do |key|
config.vm.define "#{key}" do |node|
nodekey = nodes['logical2physical'][key]
if sync_cfg[key]
node.vm.synced_folder sync_cfg[key]['source'],
sync_cfg[key]['target'], disabled: false, create: true
end
node.vm.provider :managed do |managed|
managed.server = nodes[nodekey]['eth0']
end
node.vm.provision "#{key}-install", type: "shell" do |s|
s.path = "onvm/scripts/install-" + key + ".sh"
s.args = ids['sys_password'] + ' ' + nodes[nodekey]['eth0']
end
end
end
end
# agent node setup
lnodes = nodes['agentes']
if lnodes
lnodes.each do |key|
config.vm.define "#{key}" do |node|
node.vm.provider :managed do |managed|
managed.server = nodes[key]['eth0']
end
node.vm.provision "#{key}-install", type: "shell" do |s|
s.path = "onvm/scripts/install-agent.sh"
s.args = ids['sys_password'] + " " + nodes[key]['eth0']
end
end
end
end
end