Skip to content

Commit

Permalink
ovs container build: Make kernel module configurable
Browse files Browse the repository at this point in the history
--with-linux can be made configurable while building containers
for leveraging kernel modules installed on host.
KERNEL_VERSION=host should be used in env variable for the same.

Signed-off-by: Aliasgar Ginwala <[email protected]>
Signed-off-by: Ben Pfaff <[email protected]>
  • Loading branch information
noah8713 authored and blp committed Dec 20, 2019
1 parent daa867f commit 2947774
Show file tree
Hide file tree
Showing 3 changed files with 27 additions and 7 deletions.
2 changes: 1 addition & 1 deletion utilities/docker/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
# make push

REPO = ${DOCKER_REPO}
tag = ${OVS_VERSION}_${KERNEL_VERSION}
tag = ${OVS_VERSION}_${DISTRO}_${KERNEL_VERSION}

build: ;docker build -t ${REPO}:${tag} --build-arg DISTRO=${DISTRO} \
--build-arg OVS_BRANCH=${OVS_BRANCH} \
Expand Down
21 changes: 17 additions & 4 deletions utilities/docker/debian/build-kernel-modules.sh
Original file line number Diff line number Diff line change
Expand Up @@ -17,12 +17,16 @@ OVS_BRANCH=$2
GITHUB_SRC=$3

# Install deps
linux="linux-image-$KERNEL_VERSION linux-headers-$KERNEL_VERSION"
build_deps="apt-utils libelf-dev build-essential libssl-dev python3 \
wget gdb autoconf libtool git automake bzip2 debhelper dh-autoreconf openssl"

apt-get update
apt-get install -y ${linux} ${build_deps}
if [ $KERNEL_VERSION != "host" ]; then
linux="linux-image-$KERNEL_VERSION linux-headers-$KERNEL_VERSION"
apt-get install -y ${linux}
fi

apt-get install -y ${build_deps}

# get the source
mkdir /build; cd /build
Expand All @@ -31,8 +35,17 @@ cd ovs

# build and install
./boot.sh
./configure --localstatedir="/var" --sysconfdir="/etc" --prefix="/usr" \
--with-linux=/lib/modules/$KERNEL_VERSION/build --enable-ssl

config="./configure --localstatedir="/var" --sysconfdir="/etc" --prefix="/usr"
--enable-ssl"

if [ $KERNEL_VERSION = "host" ]; then
eval $config
else
withlinux=" --with-linux=/lib/modules/$KERNEL_VERSION/build"
eval $config$withlinux
fi

make -j8; make install; make modules_install

# remove deps to make the container light weight.
Expand Down
11 changes: 9 additions & 2 deletions utilities/docker/start-ovs
Original file line number Diff line number Diff line change
Expand Up @@ -38,5 +38,12 @@ case $1 in
-vfile:info --mlockall --no-chdir \
--log-file=/var/log/openvswitch/ovs-vswitchd.log
;;
*) echo "$0 [ovsdb-server|ovs-vswitchd]"
esac
"ovs-vswitchd-host") /usr/share/openvswitch/scripts/ovs-ctl \
--no-ovsdb-server start
/usr/share/openvswitch/scripts/ovs-ctl stop
ovs-vswitchd --pidfile -vconsole:emer \
-vsyslog:err -vfile:info --mlockall --no-chdir \
--log-file=/var/log/openvswitch/ovs-vswitchd.log
;;
*) echo "$0 [ovsdb-server|ovs-vswitchd|ovs-vswitchd-host]"
esac

0 comments on commit 2947774

Please sign in to comment.