Bump versions by x.y.(z+1)
[ovsdb.git] / 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: "resources/puppet/scripts/bootstrap.sh"
7
8   config.vm.provision "puppet" do |puppet|
9       puppet.hiera_config_path = "resources/puppet/hiera.yaml"
10       puppet.working_directory = "/vagrant/resources/puppet"
11       puppet.manifests_path = "resources/puppet/manifests"
12       puppet.manifest_file  = "base.pp"
13   end
14
15   num_compute_nodes = (ENV['DEVSTACK_NUM_COMPUTE_NODES'] || 1).to_i
16
17   # ip configuration
18   control_ip = "192.168.50.20"
19   compute_ip_base = "192.168.50."
20   compute_ips = num_compute_nodes.times.collect { |n| compute_ip_base + "#{n+21}" }
21
22   config.vm.define "mininet" do |mininet|
23     mininet.vm.box = "trusty64"
24     mininet.vm.box_url = "http://opscode-vm-bento.s3.amazonaws.com/vagrant/virtualbox/opscode_ubuntu-14.04_chef-provisionerless.box"
25     mininet.vm.provider "vmware_fusion" do |v, override|
26       override.vm.box_url = "http://opscode-vm-bento.s3.amazonaws.com/vagrant/vmware/opscode_ubuntu-14.04_chef-provisionerless.box"
27     end
28     mininet.vm.hostname = "mininet"
29     mininet.vm.network "private_network", ip: "192.168.50.15"
30     mininet.vm.provider :virtualbox do |vb|
31       vb.memory = 2048
32     end
33     mininet.vm.provider "vmware_fusion" do |vf|
34       vf.vmx["memsize"] = "2048"
35     end
36     mininet.vm.provider :libvirt do |lv|
37       lv.memory = 2048
38     end
39     mininet.vm.provision "puppet" do |puppet|
40       puppet.hiera_config_path = "resources/puppet/hiera.yaml"
41       puppet.working_directory = "/vagrant/resources/puppet"
42       puppet.manifests_path = "resources/puppet/manifests"
43       puppet.manifest_file  = "mininet.pp"
44     end
45   end
46
47   config.vm.define "devstack-control" do |control|
48     control.vm.box = "trusty64"
49     control.vm.box_url = "http://opscode-vm-bento.s3.amazonaws.com/vagrant/virtualbox/opscode_ubuntu-14.04_chef-provisionerless.box"
50     control.vm.provider "vmware_fusion" do |v, override|
51       override.vm.box_url = "http://opscode-vm-bento.s3.amazonaws.com/vagrant/vmware/opscode_ubuntu-14.04_chef-provisionerless.box"
52     end
53     control.vm.hostname = "devstack-control"
54     control.vm.network "private_network", ip: "#{control_ip}"
55     control.vm.network "forwarded_port", guest: 8080, host: 8081
56     control.vm.provider :virtualbox do |vb|
57       vb.memory = 4096
58     end
59     control.vm.provider "vmware_fusion" do |vf|
60       vf.vmx["memsize"] = "4096"
61     end
62     control.vm.provider :libvirt do |lv|
63       lv.memory = 4096
64     end
65     control.vm.provision "puppet" do |puppet|
66       puppet.hiera_config_path = "resources/puppet/hiera.yaml"
67       puppet.working_directory = "/vagrant/resources/puppet"
68       puppet.manifests_path = "resources/puppet/manifests"
69       puppet.manifest_file  = "devstack-control.pp"
70     end
71   end
72
73   # Devstack Compute Nodes
74   num_compute_nodes.times do |n|
75     config.vm.define "devstack-compute-#{n+1}" do |compute|
76       compute_ip = compute_ips[n]
77       compute_index = n+1
78       compute.vm.box = "trusty64"
79       compute.vm.box_url = "http://opscode-vm-bento.s3.amazonaws.com/vagrant/virtualbox/opscode_ubuntu-14.04_chef-provisionerless.box"
80       compute.vm.provider "vmware_fusion" do |v, override|
81         override.vm.box_url = "http://opscode-vm-bento.s3.amazonaws.com/vagrant/vmware/opscode_ubuntu-14.04_chef-provisionerless.box"
82       end
83       compute.vm.hostname = "devstack-compute-#{compute_index}"
84       compute.vm.network "private_network", ip: "#{compute_ip}"
85       compute.vm.provider :virtualbox do |vb|
86         vb.memory = 4096
87       end
88       compute.vm.provider "vmware_fusion" do |vf|
89         vf.vmx["memsize"] = "4096"
90       end
91       compute.vm.provider :libvirt do |lv|
92         lv.memory = 4096
93       end
94       compute.vm.provision "puppet" do |puppet|
95         puppet.hiera_config_path = "resources/puppet/hiera.yaml"
96         puppet.working_directory = "/vagrant/resources/puppet"
97         puppet.manifests_path = "resources/puppet/manifests"
98         puppet.manifest_file  = "devstack-compute.pp"
99       end
100     end
101   end
102 end