I want to follow along with Dustin Spinhirne Intro to OVN Tutorials. To do that, I need a recent kernel, and a recent OVS/OVN build based upon that kernel.
One of my earlier blog posts supplies the custom kernel build. This blog post supplies the steps for building the debian packages necessary for installing OVS and OVN. The steps are a bit different from those mentioned by Dustin Spinhirne. In addition, where he builds his for ESXi hosts, my posts are based upon building within a Vagrant controlled VirtualBox environment.
The steps are simple:
# -*- mode: ruby -*-
# vi: set ft=ruby :
Vagrant.configure("2") do |config|
config.vm.box = "stretch486"
config.vm.box_url = "file://~/vagrant/boxes/stretch486.box"
config.vm.hostname = "ovsbld"
config.vm.synced_folder "../packages", "/vagrant_packages", disabled: false
config.vm.provision "shell" do |s|
s.name = "building ..."
s.inline = <<-SHELL
sudo dpkg -i /vagrant_packages/linux-headers-4.8.6-rpb_1.0_amd64.deb
# make sure things are updated
sudo apt-get update
sudo apt-get -y upgrade
echo "install necessary packages..."
sudo apt-get -y install build-essential fakeroot dh-autoreconf procps
sudo apt-get -y install python-twisted-conch python-zopeinterface python-six
sudo apt-get -y install graphviz openssl libssl-dev python-all unzip
sudo apt-get -y install module-assistant
echo "obtain and expand the most recent version of code ..."
wget -q --no-check-certificate http://openvswitch.org/releases/openvswitch-2.6.1.tar.gz
tar zxvf openvswitch-2.6.1.tar.gz
echo "start the build process ... "
cd openvswitch-2.6.1
dpkg-checkbuilddeps
DEB_BUILD_OPTIONS='parallel=4 nocheck' fakeroot debian/rules binary
echo "build datapath ..."
cd ..
sudo dpkg -i openvswitch-datapath-source_2.6.1-1_all.deb
sudo m-a prepare
sudo m-a -t build openvswitch-datapath
echo "move results to the shared drive ..."
mv *.deb /vagrant_packages/
echo "move modules to shared drive ..."
sudo chown vagrant.vagrant /usr/src/openvswitch*
sudo mv /usr/src/openvswitch-datapath-module-*.deb /vagrant_packages/
echo "done."
SHELL
end
config.vm.provider "virtualbox" do |v|
v.name = "ovsbld"
v.cpus = 4
v.memory = "2048"
end
end
These are the results of a recent build:
2207072 Nov 5 15:11 openvswitch-datapath-module-4.8.6-rpb_2.6.1-1_amd64.deb
1407812 Nov 5 15:10 openvswitch-dev_2.6.1-1_amd64.deb
59074 Nov 5 15:10 openvswitch-vtep_2.6.1-1_amd64.deb
51900 Nov 5 15:10 openvswitch-test_2.6.1-1_all.deb
90646 Nov 5 15:10 python-openvswitch_2.6.1-1_all.deb
3521758 Nov 5 15:10 openvswitch-datapath-dkms_2.6.1-1_all.deb
3466488 Nov 5 15:10 openvswitch-dbg_2.6.1-1_amd64.deb
51752 Nov 5 15:10 openvswitch-testcontroller_2.6.1-1_amd64.deb
35996 Nov 5 15:10 openvswitch-pki_2.6.1-1_all.deb
42678 Nov 5 15:10 openvswitch-ipsec_2.6.1-1_amd64.deb
39904 Nov 5 15:10 ovn-docker_2.6.1-1_amd64.deb
79392 Nov 5 15:10 ovn-central_2.6.1-1_amd64.deb
77234 Nov 5 15:10 ovn-host_2.6.1-1_amd64.deb
48028 Nov 5 15:10 ovn-controller-vtep_2.6.1-1_amd64.deb
148276 Nov 5 15:10 ovn-common_2.6.1-1_amd64.deb
263024 Nov 5 15:10 openvswitch-switch_2.6.1-1_amd64.deb
1206882 Nov 5 15:10 openvswitch-common_2.6.1-1_amd64.deb
5328518 Nov 5 15:10 openvswitch-datapath-source_2.6.1-1_all.deb


