Browse Source

Fix ussuri gates

This is a combination of 3 commits.
This is the 1st commit message:

Temporarily disable grenade-multinode jobs

We need to backport multiple gate fixes, disable the relevant jobs.
Backports should re-enable the matching jobs

This is the commit message #2:

Add ensure-tox in functional job

neutron functional jobs run tests using the tox env.
Even tempest jobs need tox to be present to run the tempest
tests in venv. But functional job derived from devstack-minimal
jobs does not make sure tox is present or not. devstack jobs does not
mak sure that as those are not only used for tox run but also for
other integration testing.

Current neutorn functional job failure-
- https://zuul.opendev.org/t/openstack/build/59865004855c404ab18f06fc0ec1d005

let's call ensure-tox role in job to make sure tox is present.

Closes-Bug: 1884256
(cherry picked from commit bda80e8e2a94ff3297ec750589cd879896f12c70)

This is the commit message #3:

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.

Closes-Bug: #1883601
Closes-Bug: #1878160
(cherry picked from commit d086058895)

Change-Id: I8c59e209f3a4573c3f94da6c2acd7d6f57e30b31
changes/86/736286/5
Bernard Cafarelli 3 weeks ago
parent
commit
080123851c
No known key found for this signature in database GPG Key ID: 9531F08245465A52
7 changed files with 30 additions and 16 deletions
  1. +3
    -7
      devstack/lib/ovn_agent
  2. +1
    -0
      playbooks/configure_functional_job.yaml
  3. +5
    -0
      roles/configure_functional_tests/tasks/main.yaml
  4. +6
    -3
      tools/configure_for_func_testing.sh
  5. +3
    -0
      zuul.d/base.yaml
  6. +8
    -4
      zuul.d/project.yaml
  7. +4
    -2
      zuul.d/tempest-singlenode.yaml

+ 3
- 7
devstack/lib/ovn_agent 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
@@ -389,9 +389,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
@@ -453,10 +450,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


+ 1
- 0
playbooks/configure_functional_job.yaml View File

@@ -1,4 +1,5 @@
- hosts: all
roles:
- ensure-tox
- setup_logdir
- configure_functional_tests

+ 5
- 0
roles/configure_functional_tests/tasks/main.yaml 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


+ 6
- 3
tools/configure_for_func_testing.sh 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')


+ 3
- 0
zuul.d/base.yaml 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


+ 8
- 4
zuul.d/project.yaml View File

@@ -18,8 +18,10 @@
- neutron-fullstack
- neutron-fullstack-with-uwsgi
- neutron-rally-task
- neutron-grenade-multinode
- neutron-grenade-dvr-multinode
# TODO(bcafarel): temporarily disable these jobs so we can get multiple
# gate fixes properly backported
#- neutron-grenade-multinode
#- neutron-grenade-dvr-multinode
- neutron-tempest-linuxbridge
- neutron-tempest-with-uwsgi
- tempest-integrated-networking:
@@ -94,8 +96,10 @@
- tempest-integrated-networking
- neutron-tempest-linuxbridge
- neutron-tempest-iptables_hybrid
- neutron-grenade-multinode
- neutron-grenade-dvr-multinode
# TODO(bcafarel): temporarily disable these jobs so we can get multiple
# gate fixes properly backported
#- neutron-grenade-multinode
#- neutron-grenade-dvr-multinode
- tempest-slow-py3:
irrelevant-files: *irrelevant-files
- tempest-ipv6-only:


+ 4
- 2
zuul.d/tempest-singlenode.yaml View File

@@ -293,7 +293,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
@@ -302,7 +303,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


Loading…
Cancel
Save