summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEd Warnicke <eaw@cisco.com>2016-03-22 16:10:07 -0500
committerGerrit Code Review <gerrit@fd.io>2016-03-25 20:37:28 +0000
commitc841eac7730c3e80fc14006481edb5d9221bf45c (patch)
treee164a948174e6c8542512672a13b22457835170d
parent1d49c98f7f8f97fff0d638e439af2246f34fc2b9 (diff)
Fix vagrant centos flavor to work with top level make file
Change-Id: I89044ed27130a036536ed33aba847034ed15ad7d Signed-off-by: Ed Warnicke <eaw@cisco.com>
-rw-r--r--build-root/vagrant/Vagrantfile2
-rw-r--r--build-root/vagrant/bootstrap.centos7.sh84
2 files changed, 31 insertions, 55 deletions
diff --git a/build-root/vagrant/Vagrantfile b/build-root/vagrant/Vagrantfile
index f4021659878..1f6a3b9c00d 100644
--- a/build-root/vagrant/Vagrantfile
+++ b/build-root/vagrant/Vagrantfile
@@ -6,7 +6,7 @@ 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.box = "puppetlabs/centos-7.2-64-nocm"
config.vm.provision 'shell', path: 'bootstrap.centos7.sh'
else
config.vm.box = "puppetlabs/ubuntu-14.04-64-nocm"
diff --git a/build-root/vagrant/bootstrap.centos7.sh b/build-root/vagrant/bootstrap.centos7.sh
index 72ee2460ea1..0f8158687d3 100644
--- a/build-root/vagrant/bootstrap.centos7.sh
+++ b/build-root/vagrant/bootstrap.centos7.sh
@@ -3,59 +3,35 @@
yum check-update
yum update -y
-# Install build tools
-yum groupinstall 'Development Tools' -y
-yum install openssl-devel -y
-yum install glibc-static -y
-
-# Install development tools
-yum install gdb -y
-yum install gdbserver -y
-
-# Install jdk and maven
-yum install -y java-1.8.0-openjdk-devel
-
-# Install EPEL
-yum install -y epel-release
-
-# Install components to build Ganglia modules
-yum install -y apr-devel
-yum install -y --enablerepo=epel libconfuse-devel
-yum install -y --enablerepo=epel ganglia-devel
-
-# PCIutils
-yum install -y pciutils
-
-# Load the uio kernel module
+# Install dependencies
+cd /vpp
+make install-dep
+
+# Build rpms
+make bootstrap
+make pkg-rpm
+
+# Install rpms
+
+(cd build-root/;sudo rpm -Uvh *.rpm)
+
+# Disable all ethernet interfaces other than the default route
+# interface so VPP will use those interfaces. The VPP auto-blacklist
+# algorithm prevents the use of any physical interface contained in the
+# routing table (i.e. "route --inet --inet6") preventing the theft of
+# the management ethernet interface by VPP from the kernel.
+for intf in $(ls /sys/class/net) ; do
+ if [ -d /sys/class/net/$intf/device ] &&
+ [ "$(route --inet --inet6 | grep default | grep $intf)" == "" ] ; then
+ ifconfig $intf down
+ fi
+done
+
+# Install uio-pci-generic
modprobe uio_pci_generic
-echo uio_pci_generic >> /etc/modules-load.d/uio_pci_generic.conf
-
-# Setup for hugepages using upstart so it persists across reboots
-sysctl -w vm.nr_hugepages=1024
-echo "vm.nr_hugepages=1024" >> /etc/sysctl.conf
-mkdir -p /mnt/huge
-echo "hugetlbfs /mnt/huge hugetlbfs defaults 0 0" >> /etc/fstab
-mount /mnt/huge
-
-# Setup the vpp code
-cd ~vagrant/
-sudo -u vagrant mkdir git
-cd git/
-
-# Check if git exists and remove it before attempting clone, else clone ineffective when "reload --provision"
-[ -d vpp ] && rm -rf vpp
-sudo -H -u vagrant git clone /vpp
-cd vpp
-
-# Initial vpp build
-if [ -d build-root ]; then
- # Bootstrap vpp
- cd build-root/
- sudo -H -u vagrant ./bootstrap.sh
-
- # Build vpp
- sudo -H -u vagrant make PLATFORM=vpp TAG=vpp_debug install-packages
- cd ~vagrant/
- cat /vagrant/README
-fi
+# Start vpp
+service vpp start
+
+# cat README
+cat /vagrant/README
\ size 64-64 \ interface pg0 \ data { \ UDP: 10.0.0.3 -> 172.16.1.2 \ UDP: 3000 -> 3001 \ length 128 checksum 0 incrementing 1 \ } \ } packet-generator new { \ name f2 \ limit 1000000 \ node ip4-input \ size 64-64 \ interface pg0 \ data { \ UDP: 10.0.0.3 -> 172.16.1.2 \ UDP: 3005 -> 3006 \ length 128 checksum 0 incrementing 1 \ } \ } nat44 add address 172.16.1.3 set int ip address pg0 10.0.0.1/24 set int ip address pg1 172.16.1.1/24 set int state pg0 up set int state pg1 up set ip neighbor static pg0 10.0.0.3 abcd.abcd.abcd set ip neighbor static pg0 10.0.0.4 abcd.abcd.abcd set ip neighbor static pg1 172.16.1.2 cdef.abcd.abcd set int nat44 in pg0 out pg1