Installing Open vSwitch on Scientific Linux 6.8

To enable using Open vSwitch (OVS) on DTNs to control data transfer traffic (e.g., by shaping or steering) these instructions describe how to install OVS on SL6.8.

Most, if not all, of the commands require root permissions and these directions have been tested using the 'root' user ID.

These directions have also been tested from a remote host using Ansible with the playbook attached to this page.

The latest OVS version that seems compatible with SL6.8 is OVS 2.5.2 (at the time of this writing).

These directions are taken primarily from https://github.com/openvswitch/ovs/blob/branch-2.5/INSTALL.RHEL.md and https://www.aglt2.org/wiki/bin/view/AGLT2/OpenvSwitch/InstallOpenvSwitch

Preparation

Install (or verify installation of) the required packages.
 yum -y install gcc make python-devel openssl-devel kernel-devel graphviz kernel-debug-devel autoconf automake rpm-build redhat-rpm-config libtool

Install the software collections package associated with the SL6 distribution.
yum -y install http://ftp.scientificlinux.org/linux/scientific/6/external_products/softwarecollections/yum-conf-softwarecollections-2.0-1.el6.noarch.rpm

Build the OVS RPM

Install Python 2.7 and the python-six library.
yum -y install python27 python-six
pip install six

Enable Python 2.7. (To always enable Python 2.7 for the root user who will be installing OVS, this line can be added to the ~/.bashrc fine \x97 this is necessary, for example, when using Ansible since a playbook may involve many separate SSH sessions.)
source /opt/rh/python27/enable

Create directories for building the OVS RPM.
mkdir -p ~/rpmbuild/SPECS
mkdir ~/rpmbuild/SOURCES

Get the OVS tarball (in this case for OVS 2.5.2 which can be found at http://openvswitch.org/releases/openvswitch-2.5.2.tar.gz) and put it in ~/rpmbuild/SOURCES
cd ~/rpmbuild/SOURCES; lftpget http://openvswitch.org/releases/openvswitch-2.5.2.tar.gz

Unpack the tarball
cd ~/rpmbuild/SOURCES; tar -zxvf openvswitch-2.5.2.tar.gz

Copy the RHEL OVS spec file to the SPECS directory
cp ~/rpmbuild/SOURCES/openvswitch-2.5.2/rhel/openvswitch.spec ~/rpmbuild/SPECS

Edit the .spec file in the SPECS directory to include the correct requirement for python27. The "Requires" line in the .spec file should read 'Requires: logrotate, python27'
sed -i -e 's/python >= 2.7/python27/' ~/rpmbuild/SPECS/openvswitch.spec

Build the RPM (Note: The '--without check' argument prevents a full test suite execution \x97 if full testing is desired the argument may be omitted)
cd ~/rpmbuild/SPECS; rpmbuild -ba --without check openvswitch.spec

Install the OVS RPM

yum -y install ~/rpmbuild/RPMS/x86_64/openvswitch-2.5.2-1.x86_64.rpm

Start OVS

service openvswitch start

If desired, check that OVS is running
ovs-vsctl show

This should show the version of OVS that is active (e.g., 'ovs version: "2.5.2"')

-- BenMackCrane - 01 Jun 2017
Topic attachments
I Attachment Action Size Date Who CommentSorted ascending
ovs-install-sl6.ymlyml ovs-install-sl6.yml manage 3 K 05 Jun 2017 - 21:43 BenMackCrane Ansible playbook for installing OVS 2.5.2 on SL6.8
Topic revision: r7 - 10 Sep 2020, PhilippeLaurens
This site is powered by FoswikiCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding Foswiki? Send feedback