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