1 # Vagrantfile API/syntax version. Don't touch unless you know what you're doing!
2 VAGRANTFILE_API_VERSION = "2"
4 Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
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
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}" }
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"
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|
34 control.vm.provider "vmware_fusion" do |vf|
35 vf.vmx["memsize"] = "4096"
37 control.vm.provision "puppet" do |puppet|
38 puppet.hiera_config_path = "puppet/hiera.yaml"
39 puppet.working_directory = "/vagrant/puppet"
40 puppet.manifests_path = "puppet/manifests"
41 puppet.manifest_file = "devstack-control.pp"
45 # Devstack Compute Nodes
46 num_compute_nodes.times do |n|
47 config.vm.define "devstack-compute-#{n+1}", autostart: true do |compute|
48 compute_ip = compute_ips[n]
50 compute.vm.box = "ubuntu/trusty64"
51 compute.vm.provider "vmware_fusion" do |v, override|
53 compute.vm.hostname = "devstack-compute-#{compute_index}"
54 compute.vm.network "private_network", ip: "#{compute_ip}"
55 compute.vm.network "private_network", ip: "192.168.111.12", virtualbox__intnet: "mylocalnet"
56 compute.vm.provider :virtualbox do |vb|
60 compute.vm.provider "vmware_fusion" do |vf|
61 vf.vmx["memsize"] = "4096"
63 compute.vm.provision "puppet" do |puppet|
64 puppet.hiera_config_path = "puppet/hiera.yaml"
65 puppet.working_directory = "/vagrant/puppet"
66 puppet.manifests_path = "puppet/manifests"
67 puppet.manifest_file = "devstack-compute.pp"