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
|
# -*- mode: ruby -*-
# vi: set ft=ruby :
Vagrant.configure(2) do |config|
# Pick the right distro and bootstrap, default is ubuntu1604
distro = ( ENV['DMM_VAGRANT_DISTRO'] || "ubuntu")
if distro == 'centos7'
config.vm.box = "puppetlabs/centos-7.2-64-nocm"
else
config.vm.box = "puppetlabs/ubuntu-16.04-64-nocm"
end
config.vm.box_check_update = false
# Create DMM client and server VM's
config.vm.define "dmm-stackx-server" do |server|
server.vm.provision :shell, :path => File.join(File.dirname(__FILE__),"../../../scripts/install_prereq.sh")
server.vm.provision :shell, :path => File.join(File.dirname(__FILE__),"build.sh"), :args => "/DMM vagrant"
server.vm.provision :shell, :path => File.join(File.dirname(__FILE__),"start_nstackMain.sh"), :args => "/DMM vagrant"
end
config.vm.define "dmm-stackx-client" do |client|
client.vm.provision :shell, :path => File.join(File.dirname(__FILE__),"../../../scripts/install_prereq.sh")
client.vm.provision :shell, :path => File.join(File.dirname(__FILE__),"build.sh"), :args => "/DMM vagrant"
client.vm.provision :shell, :path => File.join(File.dirname(__FILE__),"start_nstackMain.sh"), :args => "/DMM vagrant"
end
# vagrant-cachier caches apt/yum etc to speed subsequent
# vagrant up
# to enable, run
# vagrant plugin install vagrant-cachier
#
if Vagrant.has_plugin?("vagrant-cachier")
config.cache.scope = :box
end
# Define some physical ports for your VMs to be used by DPDK
nics = (ENV['DMM_VAGRANT_NICS'] || "2").to_i(10)
for i in 1..nics
config.vm.network "private_network", type: "dhcp"
# config.vm.network "private_network", ip: "172.28.128.200"
# config.vm.network "private_network", ip: "172.28.128.201"
end
# use http proxy if avaiable
if ENV['http_proxy'] && Vagrant.has_plugin?("vagrant-proxyconf")
config.proxy.http = ENV['http_proxy']
config.proxy.https = ENV['https_proxy']
config.proxy.no_proxy = "localhost,127.0.0.1"
end
vmcpu=(ENV['DMM_VAGRANT_VMCPU'] || 4)
vmram=(ENV['DMM_VAGRANT_VMRAM'] || 5120)
config.ssh.forward_agent = true
config.ssh.forward_x11 = true
config.vm.provider "virtualbox" do |vb|
vb.customize ["modifyvm", :id, "--ioapic", "on"]
vb.memory = "#{vmram}"
vb.cpus = "#{vmcpu}"
config.vm.synced_folder "../../../", "/DMM", type: "rsync"
end
end
|