forked from danggrianto/selenium-vm
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathVagrantfile
More file actions
98 lines (88 loc) · 3.26 KB
/
Vagrantfile
File metadata and controls
98 lines (88 loc) · 3.26 KB
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
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
chef_solo_cookbook_path = ["cookbooks", "site-cookbooks"]
CHEF_CLIENT_INSTALL = <<-EOF
#!/bin/sh
dpkg -l curl|grep -q ^ii || {
apt-get update
apt-get install -y curl
}
test -d /opt/chef || {
echo "Installing chef-client via omnibus"
curl -L -s https://www.opscode.com/chef/install.sh | bash
}
EOF
Vagrant::configure("2") do |config|
config.vm.box = "Ubuntu Precise 32"
config.vm.box_url = "http://files.vagrantup.com/precise32.box"
# Configure Selenium Grid
config.vm.define :'selenium-grid' do |selenium_grid|
selenium_grid.vm.network :private_network, ip: "192.168.10.10"
selenium_grid.vm.hostname = "selenium.local.vm"
selenium_grid.vm.provider :virtualbox do |vb|
vb.customize [
"modifyvm", :id,
"--name", "selenium-grid",
"--memory", "512",
"--cpus", 1,
]
end
selenium_grid.vm.provision :shell, :inline => CHEF_CLIENT_INSTALL
selenium_grid.vm.provision :chef_solo do |chef_solo|
chef_solo.cookbooks_path = chef_solo_cookbook_path
chef_solo.add_recipe 'selenium-grid'
end
end
# Configure Selenium Node
config.vm.define :'node1' do |grid_node|
grid_node.vm.network :private_network, ip: "192.168.10.11"
grid_node.vm.hostname = "node.selenium.vm"
grid_node.vm.provider :virtualbox do |vb|
vb.customize [
"modifyvm", :id,
"--name", "node1",
"--memory", "512",
"--cpus", 1,
]
end
grid_node.vm.provision :shell, :inline => CHEF_CLIENT_INSTALL
grid_node.vm.provision :chef_solo do |chef_solo|
chef_solo.cookbooks_path = chef_solo_cookbook_path
chef_solo.add_recipe 'selenium-grid::node'
end
end
# Configure Selenium Node
config.vm.define :'node2' do |grid_node|
grid_node.vm.network :private_network, ip: "192.168.10.12"
grid_node.vm.hostname = "node.selenium.vm"
grid_node.vm.provider :virtualbox do |vb|
vb.customize [
"modifyvm", :id,
"--name", "node2",
"--memory", "512",
"--cpus", 1,
]
end
grid_node.vm.provision :shell, :inline => CHEF_CLIENT_INSTALL
grid_node.vm.provision :chef_solo do |chef_solo|
chef_solo.cookbooks_path = chef_solo_cookbook_path
chef_solo.add_recipe 'selenium-grid::node'
end
end
# Configure Selenium Node
config.vm.define :'node3' do |grid_node|
grid_node.vm.network :private_network, ip: "192.168.10.13"
grid_node.vm.hostname = "node.selenium.vm"
grid_node.vm.provider :virtualbox do |vb|
vb.customize [
"modifyvm", :id,
"--name", "node3",
"--memory", "512",
"--cpus", 1,
]
end
grid_node.vm.provision :shell, :inline => CHEF_CLIENT_INSTALL
grid_node.vm.provision :chef_solo do |chef_solo|
chef_solo.cookbooks_path = chef_solo_cookbook_path
chef_solo.add_recipe 'selenium-grid::node'
end
end
end