ovn: Use newer OVS

OVS tag v2.13.0 is not compatible with current used kernel on upstream
Bionic Ubuntu kernel 4.15.0. This patch sticks to commit hash to unblock
the gate. We can either change to newer 2.13 tag once released or better
stop compiling OVS and use one packaged by Ubuntu.

Run functional/fullstack tests with selected OVN and OVS versions

Previously for functional tests OVS version was hardcoded - v2.12.0,
and OVN was installed from OVS repository.

After we merged OVN driver to Neutron tree we run both
Neutron/OVS and Neutron/OVN functional tests in one job.

This patch adds possibility to specify from which tag/branch OVS and OVN
should be checkout.

Change-Id: I83688031951b97bfe64f3aaa761ad7afc1d5ea55
Closes-Bug: #1883601
Closes-Bug: #1878160
This commit is contained in:
Jakub Libosvar 2020-06-16 10:07:49 +02:00 committed by Maciej Józefczyk
parent 7d8f400791
commit d086058895
5 changed files with 21 additions and 12 deletions

View File

@ -19,8 +19,8 @@
# There are some ovs functions OVN depends on that must be sourced from
# the ovs neutron plugins. After doing this, the OVN overrides must be
# re-sourced.
source $TOP_DIR/lib/neutron_plugins/ovs_base
source $TOP_DIR/lib/neutron_plugins/openvswitch_agent
source ${TOP_DIR}/lib/neutron_plugins/ovs_base
source ${TOP_DIR}/lib/neutron_plugins/openvswitch_agent
# Defaults
@ -412,9 +412,6 @@ function compile_ovn {
local prefix=$2
local localstatedir=$3
# First, compile OVS
_compile_ovs $build_modules
if [ -n "$prefix" ]; then
prefix="--prefix=$prefix"
fi
@ -476,10 +473,9 @@ function install_ovn {
remove_ovs_packages
sudo rm -f $OVS_RUNDIR/*
compile_ovs $OVN_BUILD_MODULES
if use_new_ovn_repository; then
compile_ovn $OVN_BUILD_MODULES
else
compile_ovs $OVN_BUILD_MODULES
fi
sudo mkdir -p $OVS_RUNDIR

View File

@ -10,10 +10,15 @@
PROJECT_NAME={{ project_name }}
NEUTRON_PATH={{ neutron_dir }}
DEVSTACK_PATH={{ devstack_dir }}
TOP_DIR={{ devstack_dir }}
VENV={{ tests_venv }}
STACK_USER=stack
OVS_BRANCH={{ OVS_BRANCH }}
OVN_BRANCH={{ OVN_BRANCH }}
source $DEVSTACK_PATH/functions
source $NEUTRON_PATH/devstack/lib/ovs
source $NEUTRON_PATH/devstack/lib/ovn_agent
source $NEUTRON_PATH/tools/configure_for_func_testing.sh
configure_host_for_func_testing

View File

@ -63,6 +63,8 @@ INSTALL_MYSQL_ONLY=${INSTALL_MYSQL_ONLY:-False}
# The gate should automatically install dependencies.
INSTALL_BASE_DEPENDENCIES=${INSTALL_BASE_DEPENDENCIES:-$IS_GATE}
BUILD_OVS_FROM_SOURCE=${BUILD_OVS_FROM_SOURCE:-True}
OVN_BRANCH=${OVN_BRANCH:-master}
OVS_BRANCH=${OVS_BRANCH:-master}
if [ ! -f "$DEVSTACK_PATH/stack.sh" ]; then
@ -81,7 +83,7 @@ function _init {
TOP_DIR=$DEVSTACK_PATH
if [ -f $DEVSTACK_PATH/local.conf ]; then
source $DEVSTACK_PATH/local.conf 2> /dev/null
source $DEVSTACK_PATH/local.conf 2> /dev/null || true
fi
source $DEVSTACK_PATH/stackrc
@ -109,9 +111,10 @@ function _install_base_deps {
install_package $PACKAGES
source $NEUTRON_PATH/devstack/lib/ovs
remove_ovs_packages
OVS_BRANCH="v2.12.0"
source $NEUTRON_PATH/devstack/lib/ovn_agent
echo_summary "OVN_BRANCH: ${OVN_BRANCH} OVS_BRANCH: ${OVS_BRANCH}"
compile_ovs False /usr /var
compile_ovn False /usr /var
else
PACKAGES=$(get_packages general,neutron,q-agt,q-l3,openvswitch)
PACKAGES=$(echo $PACKAGES | perl -pe 's|python-(?!dev)[^ ]*||g')

View File

@ -18,6 +18,9 @@
- ^neutron/locale/.*$
- ^releasenotes/.*$
vars:
OVN_BRANCH: v20.03.0
# TODO(jlibosva): v2.13.0 is incompatible with kernel 4.15.0, sticking to commit hash until new v2.13 tag is created.
OVS_BRANCH: 51e9479da62edb04a5be47a7655de75c299b9fa1
devstack_services:
# Ignore any default set by devstack. Emit a "disable_all_services".
base: false

View File

@ -299,7 +299,8 @@
vars:
devstack_localrc:
OVN_BRANCH: v20.03.0
OVS_BRANCH: v2.13.0
# TODO(jlibosva): v2.13.0 is incompatible with kernel 4.15.0, sticking to commit hash until new v2.13 tag is created
OVS_BRANCH: 51e9479da62edb04a5be47a7655de75c299b9fa1
- job:
name: neutron-ovn-tempest-ovs-release
@ -308,7 +309,8 @@
vars:
devstack_localrc:
OVN_BRANCH: v20.03.0
OVS_BRANCH: v2.13.0
# TODO(jlibosva): v2.13.0 is incompatible with kernel 4.15.0, sticking to commit hash until new v2.13 tag is created
OVS_BRANCH: 51e9479da62edb04a5be47a7655de75c299b9fa1
- job:
name: neutron-ovn-tempest-ovs-master-fedora