[ovs-discuss] Open vSwitch Red Hat Installation CentOS 6.3
blp at nicira.com
Mon Dec 3 21:01:13 UTC 2012
On Sat, Dec 01, 2012 at 02:03:43AM -0500, Brent Salisbury wrote:
> I know some folks have had issues with Red Hat installs recently (including
> myself) from a kernel-devel bug w/ a bad sym-link for one. I finally carved
> out some time to update a how-to on CentOS 6.3 w/ the 1.7.1 tarball.
> Here is the link in case it helps.
I worked this in the INSTALL.RHEL instructions. I posted a patch as:
Would you mind looking over the new instructions to make sure they're
Here's the full version of the new instructions in case that's easier
How to Install Open vSwitch on Red Hat Enterprise Linux
This document describes how to build and install Open vSwitch on a Red
Hat Enterprise Linux (RHEL) host. If you want to install Open vSwitch
on a generic Linux host, see INSTALL instead.
We have tested these instructions with RHEL 5.6 and RHEL 6.0.
Building Open vSwitch for RHEL
You may build from an Open vSwitch distribution tarball or from an
Open vSwitch Git tree.
Before you begin, note the RPM source directory on your version of
RHEL. On RHEL 5, the default RPM source directory is
/usr/src/redhat/SOURCES. On RHEL 6, it is $HOME/rpmbuild/SOURCES.
1. Install build prerequisites:
yum install gcc make python-devel openssl-devel kernel-devel \
2. Some versions of the RHEL 6 kernel-devel package contain a broken
"build" symlink. If you are using such a version, you must fix
the problem before continuing.
To find out whether you are affected, run:
ls -l build/
where <version> is the version number of the RHEL 6 kernel. (The
trailing slash in the final command is important. Be sure to include
it.) If the "ls" command produces a directory listing, your
kernel-devel package is OK. If it produces a "No such file or
directory" error, your kernel-devel package is buggy.
If your kernel-devel package is buggy, then you can fix it with:
ln -s /usr/src/kernels/<target> build
where <target> is the name of an existing directory under
/usr/src/kernels, whose name should be similar to <version> but may
contain some extra parts. Once you have done this, verify the fix with
the same procedure you used above to check for the problem.
3. If you are building from an Open vSwitch Git tree, then you will
need to first create a distribution tarball by running "./boot.sh;
./configure; make dist" in the Git tree.
4. Copy the distribution tarball into the RPM source directory.
5. Unpack the distribution tarball into a temporary directory and "cd"
into the root of the distribution tarball.
6. To build Open vSwitch userspace, run:
rpmbuild -bb rhel/openvswitch.spec
This produces two RPMs: "openvswitch" and "openvswitch-debuginfo".
If the build fails with "configure: error: source dir
/lib/modules/2.6.32-279.el6.x86_64/build doesn't exist" or similar,
then the kernel-devel package is missing or buggy. Go back to step
1 or 2 and fix the problem.
7a. On RHEL 5, to build the Open vSwitch kernel module, copy
rhel/kmodtool-openvswitch-el5.sh into the RPM source directory and
rpmbuild -bb --target=i686-unknown-linux \
You might have to specify a kernel version, e.g.:
rpmbuild -bb -D "kversion 2.6.18-238.12.1.el5" \
This produces a "kmod-openvswitch" RPM for each kernel variant,
which is usually: "kmod-openvswitch", "kmod-openvswitch-xen", and
7b. On RHEL 6, to build the Open vSwitch kernel module, run:
rpmbuild -bb rhel/openvswitch-kmod-rhel6.spec
You might have to specify a kernel version and/or variants, e.g.:
rpmbuild -bb \
-D "kversion 2.6.32-131.6.1.el6.x86_64" \
-D "kflavors default debug kdump" \
This produces an "kmod-openvswitch" RPM for each kernel variant,
in this example: "kmod-openvswitch", "kmod-openvswitch-debug", and
Red Hat Network Scripts Integration
Simple integration with Red Hat network scripts has been implemented.
Please read rhel/README.RHEL in the source tree or
/usr/share/doc/openvswitch/README.RHEL in the installed openvswitch
package for details.
Please report problems to bugs at openvswitch.org.
More information about the discuss