
build-root/vagrant/Vagrantfile was always mounting the vpp into /vpp Now rather than cloning it and building, we just use it as mounted. In order to let folks know what happened, a README.moved is copied into the ~/git/vpp so folks know what happened. In addition to make it easier for folks to do commits from withing the vagrant, we install git-review, and copy in the users .gitconfig and .gnupg directory. A couple of notes about this. VMWare goes much much faster in all cases. Virtualbox is a bit slower in the very first run (without ccache). One of the benefits of using the mounted /vpp though is that after your first vagrant up, you always have access to the .ccache, as it lives outside the vagrant, and so in steady state everything is faster. Change-Id: I2cd2c28181b3d7e664240dfe2249b5be3f1b9241 Signed-off-by: Ed Warnicke <eaw@cisco.com>
69 lines
2.1 KiB
Ruby
69 lines
2.1 KiB
Ruby
# -*- mode: ruby -*-
|
|
# vi: set ft=ruby :
|
|
|
|
Vagrant.configure(2) do |config|
|
|
|
|
# Pick the right distro and bootstrap, default is ubuntu1404
|
|
distro = ENV['VPP_VAGRANT_DISTRO']
|
|
if distro == 'centos7'
|
|
config.vm.box = "puppetlabs/centos-7.0-64-nocm"
|
|
config.vm.provision 'shell', path: 'bootstrap.centos7.sh'
|
|
else
|
|
config.vm.box = "puppetlabs/ubuntu-14.04-64-nocm"
|
|
config.vm.provision 'shell', path: 'bootstrap.ubuntu1404.sh'
|
|
end
|
|
|
|
# Add .gnupg dir in so folks can sign patches
|
|
# Note, as gnupg puts socket files in that dir, we have
|
|
# to be cautious and make sure we are dealing with a plain file
|
|
homedir = File.expand_path("~/")
|
|
Dir["#{homedir}/.gnupg/**/*"].each do |fname|
|
|
if File.file?(fname)
|
|
destname = fname.sub(Regexp.escape("#{homedir}/"),'')
|
|
config.vm.provision "file", source: fname, destination: destname
|
|
end
|
|
end
|
|
|
|
# Copy in the .gitconfig if it exists
|
|
if File.file?(File.expand_path("~/.gitconfig"))
|
|
config.vm.provision "file", source: "~/.gitconfig", destination: ".gitconfig"
|
|
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 = 0
|
|
if ENV.key?('VPP_VAGRANT_NICS')
|
|
nics = ENV['VPP_VAGRANT_NICS'].to_i(10)
|
|
end
|
|
for i in 1..nics
|
|
config.vm.network "private_network", type: "dhcp"
|
|
end
|
|
|
|
# use http proxy if avaiable
|
|
if ENV['http_proxy'] && Vagrant.has_plugin?("vagrant-proxyconf")
|
|
config.proxy.http = "$http_proxy"
|
|
config.proxy.https = "$https_proxy"
|
|
config.proxy.no_proxy = "localhost,127.0.0.1"
|
|
end
|
|
|
|
config.vm.synced_folder "../../", "/vpp", disabled: false
|
|
config.vm.provider "virtualbox" do |vb|
|
|
vb.memory = "4096"
|
|
end
|
|
config.vm.provider "vmware_fusion" do |fusion,override|
|
|
fusion.vmx["memsize"] = "4096"
|
|
end
|
|
config.vm.provider "vmware_workstation" do |vws,override|
|
|
vws.vmx["memsize"] = "8192"
|
|
vws.vmx["numvcpus"] = "4"
|
|
end
|
|
end
|