added demos to the repo
[groupbasedpolicy.git] / demos / gbp-devstack / Vagrantfile
diff --git a/demos/gbp-devstack/Vagrantfile b/demos/gbp-devstack/Vagrantfile
new file mode 100644 (file)
index 0000000..b2b6551
--- /dev/null
@@ -0,0 +1,70 @@
+# Vagrantfile API/syntax version. Don't touch unless you know what you're doing!
+VAGRANTFILE_API_VERSION = "2"
+
+Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
+
+  config.vm.provision "shell", path: "puppet/scripts/bootstrap.sh"
+  config.ssh.forward_agent = true
+  config.ssh.forward_x11 = true
+  num_compute_nodes = (ENV['DEVSTACK_NUM_COMPUTE_NODES'] || 1).to_i
+
+  # ip configuration
+  control_ip = "192.168.50.20"
+  compute_ip_base = "192.168.50."
+  neutron_ex_ip = "192.168.111.11"
+  compute_ips = num_compute_nodes.times.collect { |n| compute_ip_base + "#{n+21}" }
+
+  config.vm.provision "puppet" do |puppet|
+      puppet.hiera_config_path = "puppet/hiera.yaml"
+      puppet.working_directory = "/vagrant/puppet"
+      puppet.manifests_path = "puppet/manifests"
+      puppet.manifest_file  = "base.pp"
+  end
+
+  # Devstack Controller6
+  config.vm.define "devstack-control", primary: true do |control|
+    control.vm.box = "ubuntu/trusty64"
+    control.vm.hostname = "devstack-control"
+    control.vm.network "private_network", ip: "#{control_ip}"
+    control.vm.network "private_network", ip: "#{neutron_ex_ip}", virtualbox__intnet: "mylocalnet" 
+    control.vm.provider :virtualbox do |vb|
+      vb.memory = 4096
+    end
+    control.vm.provider "vmware_fusion" do |vf|
+      vf.vmx["memsize"] = "4096"
+    end
+    control.vm.provision "puppet" do |puppet|
+      puppet.hiera_config_path = "puppet/hiera.yaml"
+      puppet.working_directory = "/vagrant/puppet"
+      puppet.manifests_path = "puppet/manifests"
+      puppet.manifest_file  = "devstack-control.pp"
+    end
+  end
+
+  # Devstack Compute Nodes
+  num_compute_nodes.times do |n|
+    config.vm.define "devstack-compute-#{n+1}", autostart: true do |compute|
+      compute_ip = compute_ips[n]
+      compute_index = n+1
+      compute.vm.box = "ubuntu/trusty64"
+      compute.vm.provider "vmware_fusion" do |v, override|
+      end
+      compute.vm.hostname = "devstack-compute-#{compute_index}"
+      compute.vm.network "private_network", ip: "#{compute_ip}"
+      compute.vm.network "private_network", ip: "192.168.111.12", virtualbox__intnet: "mylocalnet"
+      compute.vm.provider :virtualbox do |vb|
+        vb.memory = 4096
+      end
+      compute.vm.provider "vmware_fusion" do |vf|
+        vf.vmx["memsize"] = "4096"
+      end
+      compute.vm.provision "puppet" do |puppet|
+        puppet.hiera_config_path = "puppet/hiera.yaml"
+        puppet.working_directory = "/vagrant/puppet"
+        puppet.manifests_path = "puppet/manifests"
+        puppet.manifest_file  = "devstack-compute.pp"
+      end
+    end
+  end
+
+end