b2b65518ba7c9777eb8f6c1c62019bbf52c9f2bc
[groupbasedpolicy.git] / demos / gbp-devstack / Vagrantfile
1 # Vagrantfile API/syntax version. Don't touch unless you know what you're doing!
2 VAGRANTFILE_API_VERSION = "2"
3
4 Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
5
6   config.vm.provision "shell", path: "puppet/scripts/bootstrap.sh"
7   config.ssh.forward_agent = true
8   config.ssh.forward_x11 = true
9   num_compute_nodes = (ENV['DEVSTACK_NUM_COMPUTE_NODES'] || 1).to_i
10
11   # ip configuration
12   control_ip = "192.168.50.20"
13   compute_ip_base = "192.168.50."
14   neutron_ex_ip = "192.168.111.11"
15   compute_ips = num_compute_nodes.times.collect { |n| compute_ip_base + "#{n+21}" }
16
17   config.vm.provision "puppet" do |puppet|
18       puppet.hiera_config_path = "puppet/hiera.yaml"
19       puppet.working_directory = "/vagrant/puppet"
20       puppet.manifests_path = "puppet/manifests"
21       puppet.manifest_file  = "base.pp"
22   end
23
24   # Devstack Controller6
25   config.vm.define "devstack-control", primary: true do |control|
26     control.vm.box = "ubuntu/trusty64"
27     control.vm.hostname = "devstack-control"
28     control.vm.network "private_network", ip: "#{control_ip}"
29     control.vm.network "private_network", ip: "#{neutron_ex_ip}", virtualbox__intnet: "mylocalnet" 
30     control.vm.provider :virtualbox do |vb|
31       vb.memory = 4096
32     end
33     control.vm.provider "vmware_fusion" do |vf|
34       vf.vmx["memsize"] = "4096"
35     end
36     control.vm.provision "puppet" do |puppet|
37       puppet.hiera_config_path = "puppet/hiera.yaml"
38       puppet.working_directory = "/vagrant/puppet"
39       puppet.manifests_path = "puppet/manifests"
40       puppet.manifest_file  = "devstack-control.pp"
41     end
42   end
43
44   # Devstack Compute Nodes
45   num_compute_nodes.times do |n|
46     config.vm.define "devstack-compute-#{n+1}", autostart: true do |compute|
47       compute_ip = compute_ips[n]
48       compute_index = n+1
49       compute.vm.box = "ubuntu/trusty64"
50       compute.vm.provider "vmware_fusion" do |v, override|
51       end
52       compute.vm.hostname = "devstack-compute-#{compute_index}"
53       compute.vm.network "private_network", ip: "#{compute_ip}"
54       compute.vm.network "private_network", ip: "192.168.111.12", virtualbox__intnet: "mylocalnet"
55       compute.vm.provider :virtualbox do |vb|
56         vb.memory = 4096
57       end
58       compute.vm.provider "vmware_fusion" do |vf|
59         vf.vmx["memsize"] = "4096"
60       end
61       compute.vm.provision "puppet" do |puppet|
62         puppet.hiera_config_path = "puppet/hiera.yaml"
63         puppet.working_directory = "/vagrant/puppet"
64         puppet.manifests_path = "puppet/manifests"
65         puppet.manifest_file  = "devstack-compute.pp"
66       end
67     end
68   end
69
70 end