vpp/build-root/vagrant/Vagrantfile
Ed Warnicke eeee9e2b18 Switched vagrant for ~/git/vpp to /vpp
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>
2016-02-03 14:49:37 +00:00

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