-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathVagrantfile
44 lines (35 loc) · 1.3 KB
/
Vagrantfile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
require 'yaml'
current_dir = File.dirname(File.expand_path(__FILE__))
configs = YAML.load_file("#{current_dir}/config.yml")
vagrant_config = configs['configs']
Vagrant.configure("2") do |config|
config.vbguest.auto_update = false
config.vm.box_check_update = false
config.vm.box = "Dougs71/CentOS-7.6.1810-Minimal"
config.vm.synced_folder ".", "/vagrant", type: "virtualbox"
config.ssh.insert_key = false
config.ssh.private_key_path = ['provision/vagrant']
config.vm.define "control" do |control|
control.vm.hostname = "control"
config.vm.provider "virtualbox" do |vb|
vb.name = "control"
vb.memory = "512"
vb.cpus = "1"
end
control.vm.network "private_network", ip: "10.69.0.1"
control.vm.provision "shell", path: "provision/control.sh", privileged: false
end
(1..vagrant_config['nodes']).each do |node_id|
config.vm.define "node#{node_id}" do |node|
node.vm.box = "Dougs71/CentOS-7.6.1810-Minimal"
node.vm.hostname = "node#{node_id}"
node.vm.network "private_network", ip: "10.69.0.#{1+node_id}"
node.vm.provider "virtualbox" do |vb|
vb.memory = "512"
vb.cpus = "1"
vb.name = "node#{node_id}"
end
end
end
config.vm.provision "shell", path: "provision/common.sh", privileged: false
end