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:
parent
7d8f400791
commit
d086058895
@ -19,8 +19,8 @@
|
|||||||
# There are some ovs functions OVN depends on that must be sourced from
|
# 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
|
# the ovs neutron plugins. After doing this, the OVN overrides must be
|
||||||
# re-sourced.
|
# re-sourced.
|
||||||
source $TOP_DIR/lib/neutron_plugins/ovs_base
|
source ${TOP_DIR}/lib/neutron_plugins/ovs_base
|
||||||
source $TOP_DIR/lib/neutron_plugins/openvswitch_agent
|
source ${TOP_DIR}/lib/neutron_plugins/openvswitch_agent
|
||||||
|
|
||||||
|
|
||||||
# Defaults
|
# Defaults
|
||||||
@ -412,9 +412,6 @@ function compile_ovn {
|
|||||||
local prefix=$2
|
local prefix=$2
|
||||||
local localstatedir=$3
|
local localstatedir=$3
|
||||||
|
|
||||||
# First, compile OVS
|
|
||||||
_compile_ovs $build_modules
|
|
||||||
|
|
||||||
if [ -n "$prefix" ]; then
|
if [ -n "$prefix" ]; then
|
||||||
prefix="--prefix=$prefix"
|
prefix="--prefix=$prefix"
|
||||||
fi
|
fi
|
||||||
@ -476,10 +473,9 @@ function install_ovn {
|
|||||||
remove_ovs_packages
|
remove_ovs_packages
|
||||||
sudo rm -f $OVS_RUNDIR/*
|
sudo rm -f $OVS_RUNDIR/*
|
||||||
|
|
||||||
|
compile_ovs $OVN_BUILD_MODULES
|
||||||
if use_new_ovn_repository; then
|
if use_new_ovn_repository; then
|
||||||
compile_ovn $OVN_BUILD_MODULES
|
compile_ovn $OVN_BUILD_MODULES
|
||||||
else
|
|
||||||
compile_ovs $OVN_BUILD_MODULES
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
sudo mkdir -p $OVS_RUNDIR
|
sudo mkdir -p $OVS_RUNDIR
|
||||||
|
@ -10,10 +10,15 @@
|
|||||||
PROJECT_NAME={{ project_name }}
|
PROJECT_NAME={{ project_name }}
|
||||||
NEUTRON_PATH={{ neutron_dir }}
|
NEUTRON_PATH={{ neutron_dir }}
|
||||||
DEVSTACK_PATH={{ devstack_dir }}
|
DEVSTACK_PATH={{ devstack_dir }}
|
||||||
|
TOP_DIR={{ devstack_dir }}
|
||||||
VENV={{ tests_venv }}
|
VENV={{ tests_venv }}
|
||||||
|
STACK_USER=stack
|
||||||
|
OVS_BRANCH={{ OVS_BRANCH }}
|
||||||
|
OVN_BRANCH={{ OVN_BRANCH }}
|
||||||
|
|
||||||
source $DEVSTACK_PATH/functions
|
source $DEVSTACK_PATH/functions
|
||||||
source $NEUTRON_PATH/devstack/lib/ovs
|
source $NEUTRON_PATH/devstack/lib/ovs
|
||||||
|
source $NEUTRON_PATH/devstack/lib/ovn_agent
|
||||||
source $NEUTRON_PATH/tools/configure_for_func_testing.sh
|
source $NEUTRON_PATH/tools/configure_for_func_testing.sh
|
||||||
|
|
||||||
configure_host_for_func_testing
|
configure_host_for_func_testing
|
||||||
|
@ -63,6 +63,8 @@ INSTALL_MYSQL_ONLY=${INSTALL_MYSQL_ONLY:-False}
|
|||||||
# The gate should automatically install dependencies.
|
# The gate should automatically install dependencies.
|
||||||
INSTALL_BASE_DEPENDENCIES=${INSTALL_BASE_DEPENDENCIES:-$IS_GATE}
|
INSTALL_BASE_DEPENDENCIES=${INSTALL_BASE_DEPENDENCIES:-$IS_GATE}
|
||||||
BUILD_OVS_FROM_SOURCE=${BUILD_OVS_FROM_SOURCE:-True}
|
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
|
if [ ! -f "$DEVSTACK_PATH/stack.sh" ]; then
|
||||||
@ -81,7 +83,7 @@ function _init {
|
|||||||
TOP_DIR=$DEVSTACK_PATH
|
TOP_DIR=$DEVSTACK_PATH
|
||||||
|
|
||||||
if [ -f $DEVSTACK_PATH/local.conf ]; then
|
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
|
fi
|
||||||
|
|
||||||
source $DEVSTACK_PATH/stackrc
|
source $DEVSTACK_PATH/stackrc
|
||||||
@ -109,9 +111,10 @@ function _install_base_deps {
|
|||||||
install_package $PACKAGES
|
install_package $PACKAGES
|
||||||
|
|
||||||
source $NEUTRON_PATH/devstack/lib/ovs
|
source $NEUTRON_PATH/devstack/lib/ovs
|
||||||
remove_ovs_packages
|
source $NEUTRON_PATH/devstack/lib/ovn_agent
|
||||||
OVS_BRANCH="v2.12.0"
|
echo_summary "OVN_BRANCH: ${OVN_BRANCH} OVS_BRANCH: ${OVS_BRANCH}"
|
||||||
compile_ovs False /usr /var
|
compile_ovs False /usr /var
|
||||||
|
compile_ovn False /usr /var
|
||||||
else
|
else
|
||||||
PACKAGES=$(get_packages general,neutron,q-agt,q-l3,openvswitch)
|
PACKAGES=$(get_packages general,neutron,q-agt,q-l3,openvswitch)
|
||||||
PACKAGES=$(echo $PACKAGES | perl -pe 's|python-(?!dev)[^ ]*||g')
|
PACKAGES=$(echo $PACKAGES | perl -pe 's|python-(?!dev)[^ ]*||g')
|
||||||
|
@ -18,6 +18,9 @@
|
|||||||
- ^neutron/locale/.*$
|
- ^neutron/locale/.*$
|
||||||
- ^releasenotes/.*$
|
- ^releasenotes/.*$
|
||||||
vars:
|
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:
|
devstack_services:
|
||||||
# Ignore any default set by devstack. Emit a "disable_all_services".
|
# Ignore any default set by devstack. Emit a "disable_all_services".
|
||||||
base: false
|
base: false
|
||||||
|
@ -299,7 +299,8 @@
|
|||||||
vars:
|
vars:
|
||||||
devstack_localrc:
|
devstack_localrc:
|
||||||
OVN_BRANCH: v20.03.0
|
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:
|
- job:
|
||||||
name: neutron-ovn-tempest-ovs-release
|
name: neutron-ovn-tempest-ovs-release
|
||||||
@ -308,7 +309,8 @@
|
|||||||
vars:
|
vars:
|
||||||
devstack_localrc:
|
devstack_localrc:
|
||||||
OVN_BRANCH: v20.03.0
|
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:
|
- job:
|
||||||
name: neutron-ovn-tempest-ovs-master-fedora
|
name: neutron-ovn-tempest-ovs-master-fedora
|
||||||
|
Loading…
Reference in New Issue
Block a user