36 lines
1.0 KiB
Ruby
36 lines
1.0 KiB
Ruby
nodes = {
|
|
'db' => [3, 10],
|
|
'haproxy' => [1, 20],
|
|
'web' => [2,30],
|
|
'worker' => [1,40],
|
|
}
|
|
|
|
network = "192.168.20"
|
|
|
|
Vagrant.configure("2") do |config|
|
|
|
|
nodes.each do |prefix, (count, ip_start)|
|
|
count.times do |i|
|
|
hostname = prefix + i.to_s
|
|
#puts "hostnames: " + hostname
|
|
#puts "ip: #{ip_start+i}"
|
|
|
|
config.vm.define hostname do |box|
|
|
box.vm.box = "centos64"
|
|
box.vm.hostname = "#{hostname}"
|
|
puts "ip for #{hostname} #{network}.#{ip_start+i}"
|
|
box.vm.network :private_network, ip: "#{network}.#{ip_start+i}"
|
|
|
|
# set memory
|
|
box.vm.provider :virtualbox do |vbox|
|
|
vbox.customize ["modifyvm", :id, "--memory", 512]
|
|
vbox.customize ["modifyvm", :id, "--cpus", 1]
|
|
if prefix == "db"
|
|
vbox.customize ["modifyvm", :id, "--memory", 1024]
|
|
end
|
|
end
|
|
end
|
|
end
|
|
end
|
|
end
|