Migrate CI jobs to Ubuntu Focal
Jobs for master branch are moved to be run on Ubuntu Focal.
All jobs for Stein, Train and Ussuri will be still run on Ubuntu
Bionic.
We also need to switch to legacy ebtables implementation in the
linuxbridge job because ebtables-nft implementation don't
supports syntax for source and destination ipv4 address in arp
tables. Please check bug [1] for more details.
Additionally scenario tests for port forwarding are now marked as
unstable as we have some problem with port forwarding on Ubuntu Focal.
See [2] for details.
Also test test_floating_ip_update is now marked as unstable as it is
failing pretty often on Ubuntu Focal. See [3] for details.
This patch also changes ovn hash used to be installed on the nodes
in the ovn scenario job with Ussuri release as this job is still run
on Ubuntu Bionic and we need to bump this hash there.
This patch additionally switches neutron-tempest-plugin-bgpvpn-bagpipe
jobs for master and ussuri to be non-voting due to bug [4].
This patch also switches neutron-tempest-plugin-designate-scenario
to be non-voting due to the bug [5]
[1] https://bugs.launchpad.net/neutron/+bug/1889779
[2] https://bugs.launchpad.net/neutron/+bug/1896735
[3] https://bugs.launchpad.net/neutron/+bug/1897326
[4] https://bugs.launchpad.net/networking-bagpipe/+bug/1897408
[5] https://bugs.launchpad.net/neutron/+bug/1891309
Related-Bug: #1896735
Change-Id: I9252b6a8786c43524ba0ebaa59b480ef8e489ff1
diff --git a/neutron_tempest_plugin/scenario/test_floatingip.py b/neutron_tempest_plugin/scenario/test_floatingip.py
index 7c59d3a..d541642 100644
--- a/neutron_tempest_plugin/scenario/test_floatingip.py
+++ b/neutron_tempest_plugin/scenario/test_floatingip.py
@@ -392,6 +392,7 @@
same_network = None
+ @test.unstable_test("bug 1897326")
@decorators.idempotent_id('1bdd849b-03dd-4b8f-994f-457cf8a36f93')
def test_floating_ip_update(self):
"""Test updating FIP with another port.
diff --git a/neutron_tempest_plugin/scenario/test_port_forwardings.py b/neutron_tempest_plugin/scenario/test_port_forwardings.py
index da1db1b..3158ea0 100644
--- a/neutron_tempest_plugin/scenario/test_port_forwardings.py
+++ b/neutron_tempest_plugin/scenario/test_port_forwardings.py
@@ -14,6 +14,7 @@
# under the License.
from neutron_lib import constants
+from neutron_lib.utils import test
from oslo_log import log
from tempest.lib.common.utils import data_utils
from tempest.lib import decorators
@@ -108,6 +109,7 @@
"Timed out waiting for message from server {!r} ".format(
server['id'])))
+ @test.unstable_test("bug 1896735")
@decorators.idempotent_id('ab40fc48-ca8d-41a0-b2a3-f6679c847bfe')
def test_port_forwarding_to_2_servers(self):
udp_sg_rule = {'protocol': constants.PROTO_NAME_UDP,
@@ -123,6 +125,7 @@
# And now test UDP port forwarding using nc
self._test_udp_port_forwarding(servers)
+ @test.unstable_test("bug 1896735")
@decorators.idempotent_id('aa19d46c-a4a6-11ea-bb37-0242ac130002')
def test_port_forwarding_editing_and_deleting_tcp_rule(self):
server = self._prepare_resources(
diff --git a/playbooks/linuxbridge-scenario-pre-run.yaml b/playbooks/linuxbridge-scenario-pre-run.yaml
new file mode 100644
index 0000000..26586f6
--- /dev/null
+++ b/playbooks/linuxbridge-scenario-pre-run.yaml
@@ -0,0 +1,7 @@
+- hosts: all
+ tasks:
+ # TODO(slaweq): remove it when nftables will support syntax for src and
+ # destination IP addresses in arp tables:
+ - include_role:
+ name: legacy_ebtables
+ when: ansible_distribution_release | lower == 'focal'
diff --git a/zuul.d/master_jobs.yaml b/zuul.d/master_jobs.yaml
index 45862c8..2c4fc02 100644
--- a/zuul.d/master_jobs.yaml
+++ b/zuul.d/master_jobs.yaml
@@ -158,6 +158,9 @@
name: neutron-tempest-plugin-scenario-linuxbridge
parent: neutron-tempest-plugin-scenario
timeout: 10000
+ roles:
+ - zuul: openstack/neutron
+ pre-run: playbooks/linuxbridge-scenario-pre-run.yaml
vars:
network_api_extensions: *api_extensions
devstack_localrc:
@@ -202,10 +205,6 @@
ENABLE_CHASSIS_AS_GW: true
OVN_L3_CREATE_PUBLIC_NETWORK: true
OVN_DBS_LOG_LEVEL: dbg
- # TODO(mjozefcz): Stop compiling OVS modules when meter action in kernel
- # will be released in Ubuntu Bionic.
- # More info: https://mail.openvswitch.org/pipermail/ovs-discuss/2018-December/048009.html
- OVN_BUILD_MODULES: True
ENABLE_TLS: True
OVN_IGMP_SNOOPING_ENABLE: True
devstack_services:
diff --git a/zuul.d/project.yaml b/zuul.d/project.yaml
index db4d6e1..afab1d3 100644
--- a/zuul.d/project.yaml
+++ b/zuul.d/project.yaml
@@ -3,7 +3,11 @@
check:
jobs:
- neutron-tempest-plugin-api
- - neutron-tempest-plugin-designate-scenario
+ - neutron-tempest-plugin-designate-scenario:
+ # TODO(slaweq): switch it to be voting when bug
+ # https://bugs.launchpad.net/neutron/+bug/1891309
+ # will be fixed
+ voting: false
- neutron-tempest-plugin-scenario-linuxbridge
- neutron-tempest-plugin-scenario-openvswitch
- neutron-tempest-plugin-scenario-openvswitch-iptables_hybrid
@@ -44,7 +48,11 @@
check:
jobs:
- neutron-tempest-plugin-api-rocky
- - neutron-tempest-plugin-designate-scenario-rocky
+ - neutron-tempest-plugin-designate-scenario-rocky:
+ # TODO(slaweq): switch it to be voting when bug
+ # https://bugs.launchpad.net/neutron/+bug/1891309
+ # will be fixed
+ voting: false
- neutron-tempest-plugin-scenario-linuxbridge-rocky
- neutron-tempest-plugin-scenario-openvswitch-rocky
- neutron-tempest-plugin-scenario-openvswitch-iptables_hybrid-rocky
@@ -63,7 +71,11 @@
check:
jobs:
- neutron-tempest-plugin-api-stein
- - neutron-tempest-plugin-designate-scenario-stein
+ - neutron-tempest-plugin-designate-scenario-stein:
+ # TODO(slaweq): switch it to be voting when bug
+ # https://bugs.launchpad.net/neutron/+bug/1891309
+ # will be fixed
+ voting: false
- neutron-tempest-plugin-scenario-linuxbridge-stein
- neutron-tempest-plugin-scenario-openvswitch-stein
- neutron-tempest-plugin-scenario-openvswitch-iptables_hybrid-stein
@@ -82,7 +94,11 @@
check:
jobs:
- neutron-tempest-plugin-api-train
- - neutron-tempest-plugin-designate-scenario-train
+ - neutron-tempest-plugin-designate-scenario-train:
+ # TODO(slaweq): switch it to be voting when bug
+ # https://bugs.launchpad.net/neutron/+bug/1891309
+ # will be fixed
+ voting: false
- neutron-tempest-plugin-scenario-linuxbridge-train
- neutron-tempest-plugin-scenario-openvswitch-train
- neutron-tempest-plugin-scenario-openvswitch-iptables_hybrid-train
@@ -101,7 +117,11 @@
check:
jobs:
- neutron-tempest-plugin-api-ussuri
- - neutron-tempest-plugin-designate-scenario-ussuri
+ - neutron-tempest-plugin-designate-scenario-ussuri:
+ # TODO(slaweq): switch it to be voting when bug
+ # https://bugs.launchpad.net/neutron/+bug/1891309
+ # will be fixed
+ voting: false
- neutron-tempest-plugin-scenario-linuxbridge-ussuri
- neutron-tempest-plugin-scenario-openvswitch-ussuri
- neutron-tempest-plugin-scenario-openvswitch-iptables_hybrid-ussuri
@@ -131,9 +151,17 @@
- neutron-tempest-plugin-sfc
- neutron-tempest-plugin-sfc-train
- neutron-tempest-plugin-sfc-ussuri
- - neutron-tempest-plugin-bgpvpn-bagpipe
+ - neutron-tempest-plugin-bgpvpn-bagpipe:
+ # TODO(slaweq): switch it to be voting when bug
+ # https://bugs.launchpad.net/networking-bagpipe/+bug/1897408
+ # will be fixed
+ voting: false
- neutron-tempest-plugin-bgpvpn-bagpipe-train
- - neutron-tempest-plugin-bgpvpn-bagpipe-ussuri
+ - neutron-tempest-plugin-bgpvpn-bagpipe-ussuri:
+ # TODO(slaweq): switch it to be voting when bug
+ # https://bugs.launchpad.net/networking-bagpipe/+bug/1897408
+ # will be fixed
+ voting: false
- neutron-tempest-plugin-fwaas-train:
# TODO(slaweq): switch it to be voting when bug
# https://bugs.launchpad.net/neutron/+bug/1858645 will be fixed
@@ -150,5 +178,8 @@
gate:
jobs:
- neutron-tempest-plugin-sfc
- - neutron-tempest-plugin-bgpvpn-bagpipe
+ # TODO(slaweq): make bgpvpn-bagpipe job gating again when
+ # https://bugs.launchpad.net/networking-bagpipe/+bug/1897408
+ # will be fixed
+ #- neutron-tempest-plugin-bgpvpn-bagpipe
- neutron-tempest-plugin-dynamic-routing
diff --git a/zuul.d/stein_jobs.yaml b/zuul.d/stein_jobs.yaml
index 1c9e299..b132cfc 100644
--- a/zuul.d/stein_jobs.yaml
+++ b/zuul.d/stein_jobs.yaml
@@ -1,6 +1,7 @@
- job:
name: neutron-tempest-plugin-api-stein
parent: neutron-tempest-plugin-api
+ nodeset: openstack-single-node-bionic
override-checkout: stable/stein
vars:
branch_override: stable/stein
@@ -78,6 +79,7 @@
- job:
name: neutron-tempest-plugin-scenario-openvswitch-stein
parent: neutron-tempest-plugin-scenario-openvswitch
+ nodeset: openstack-single-node-bionic
override-checkout: stable/stein
vars:
branch_override: stable/stein
@@ -88,6 +90,7 @@
- job:
name: neutron-tempest-plugin-scenario-openvswitch-iptables_hybrid-stein
parent: neutron-tempest-plugin-scenario-openvswitch-iptables_hybrid
+ nodeset: openstack-single-node-bionic
override-checkout: stable/stein
vars:
branch_override: stable/stein
@@ -98,6 +101,7 @@
- job:
name: neutron-tempest-plugin-scenario-linuxbridge-stein
parent: neutron-tempest-plugin-scenario-linuxbridge
+ nodeset: openstack-single-node-bionic
override-checkout: stable/stein
vars:
branch_override: stable/stein
@@ -108,6 +112,7 @@
- job:
name: neutron-tempest-plugin-dvr-multinode-scenario-stein
parent: neutron-tempest-plugin-dvr-multinode-scenario
+ nodeset: openstack-two-node-bionic
override-checkout: stable/stein
vars:
network_api_extensions_common: *api_extensions
@@ -116,6 +121,7 @@
- job:
name: neutron-tempest-plugin-designate-scenario-stein
parent: neutron-tempest-plugin-designate-scenario
+ nodeset: openstack-single-node-bionic
override-checkout: stable/stein
required-projects:
- openstack/devstack-gate
diff --git a/zuul.d/train_jobs.yaml b/zuul.d/train_jobs.yaml
index 132873b..ab560e0 100644
--- a/zuul.d/train_jobs.yaml
+++ b/zuul.d/train_jobs.yaml
@@ -1,6 +1,7 @@
- job:
name: neutron-tempest-plugin-api-train
parent: neutron-tempest-plugin-api
+ nodeset: openstack-single-node-bionic
override-checkout: stable/train
vars:
branch_override: stable/train
@@ -83,6 +84,7 @@
- job:
name: neutron-tempest-plugin-scenario-openvswitch-train
parent: neutron-tempest-plugin-scenario-openvswitch
+ nodeset: openstack-single-node-bionic
override-checkout: stable/train
vars:
branch_override: stable/train
@@ -93,6 +95,7 @@
- job:
name: neutron-tempest-plugin-scenario-openvswitch-iptables_hybrid-train
parent: neutron-tempest-plugin-scenario-openvswitch-iptables_hybrid
+ nodeset: openstack-single-node-bionic
override-checkout: stable/train
vars:
branch_override: stable/train
@@ -103,6 +106,7 @@
- job:
name: neutron-tempest-plugin-scenario-linuxbridge-train
parent: neutron-tempest-plugin-scenario-linuxbridge
+ nodeset: openstack-single-node-bionic
override-checkout: stable/train
vars:
branch_override: stable/train
@@ -113,6 +117,7 @@
- job:
name: neutron-tempest-plugin-dvr-multinode-scenario-train
parent: neutron-tempest-plugin-dvr-multinode-scenario
+ nodeset: openstack-two-node-bionic
override-checkout: stable/train
vars:
network_api_extensions_common: *api_extensions
@@ -121,6 +126,7 @@
- job:
name: neutron-tempest-plugin-designate-scenario-train
parent: neutron-tempest-plugin-designate-scenario
+ nodeset: openstack-single-node-bionic
override-checkout: stable/train
vars:
branch_override: stable/train
@@ -129,6 +135,7 @@
- job:
name: neutron-tempest-plugin-sfc-train
parent: neutron-tempest-plugin-sfc
+ nodeset: openstack-single-node-bionic
override-checkout: stable/train
vars:
branch_override: stable/train
@@ -137,6 +144,7 @@
- job:
name: neutron-tempest-plugin-bgpvpn-bagpipe-train
parent: neutron-tempest-plugin-bgpvpn-bagpipe
+ nodeset: openstack-single-node-bionic
override-checkout: stable/train
vars:
branch_override: stable/train
@@ -145,6 +153,7 @@
- job:
name: neutron-tempest-plugin-fwaas-train
parent: neutron-tempest-plugin-fwaas-ussuri
+ nodeset: openstack-single-node-bionic
override-checkout: stable/train
vars:
branch_override: stable/train
diff --git a/zuul.d/ussuri_jobs.yaml b/zuul.d/ussuri_jobs.yaml
index a9e578e..e15cf55 100644
--- a/zuul.d/ussuri_jobs.yaml
+++ b/zuul.d/ussuri_jobs.yaml
@@ -1,6 +1,7 @@
- job:
name: neutron-tempest-plugin-api-ussuri
parent: neutron-tempest-plugin-api
+ nodeset: openstack-single-node-bionic
override-checkout: stable/ussuri
vars:
branch_override: stable/ussuri
@@ -87,6 +88,7 @@
- job:
name: neutron-tempest-plugin-scenario-openvswitch-ussuri
parent: neutron-tempest-plugin-scenario-openvswitch
+ nodeset: openstack-single-node-bionic
override-checkout: stable/ussuri
vars:
branch_override: stable/ussuri
@@ -97,6 +99,7 @@
- job:
name: neutron-tempest-plugin-scenario-openvswitch-iptables_hybrid-ussuri
parent: neutron-tempest-plugin-scenario-openvswitch-iptables_hybrid
+ nodeset: openstack-single-node-bionic
override-checkout: stable/ussuri
vars:
branch_override: stable/ussuri
@@ -107,6 +110,7 @@
- job:
name: neutron-tempest-plugin-scenario-linuxbridge-ussuri
parent: neutron-tempest-plugin-scenario-linuxbridge
+ nodeset: openstack-single-node-bionic
override-checkout: stable/ussuri
vars:
branch_override: stable/ussuri
@@ -117,16 +121,24 @@
- job:
name: neutron-tempest-plugin-scenario-ovn-ussuri
parent: neutron-tempest-plugin-scenario-ovn
+ nodeset: openstack-single-node-bionic
override-checkout: stable/ussuri
vars:
branch_override: stable/ussuri
network_api_extensions: *api_extensions
devstack_localrc:
NETWORK_API_EXTENSIONS: "{{ network_api_extensions | join(',') }}"
+ # TODO(mjozefcz): Stop compiling OVS modules when meter action in kernel
+ # will be released in Ubuntu Bionic.
+ # More info: https://mail.openvswitch.org/pipermail/ovs-discuss/2018-December/048009.html
+ OVN_BUILD_MODULES: True
+ # TODO(skaplons): v2.13.1 is incompatible with kernel 4.15.0-118, sticking to commit hash until new v2.13 tag is created
+ OVS_BRANCH: 0047ca3a0290f1ef954f2c76b31477cf4b9755f5
- job:
name: neutron-tempest-plugin-dvr-multinode-scenario-ussuri
parent: neutron-tempest-plugin-dvr-multinode-scenario
+ nodeset: openstack-two-node-bionic
override-checkout: stable/ussuri
vars:
network_api_extensions_common: *api_extensions
@@ -135,6 +147,7 @@
- job:
name: neutron-tempest-plugin-designate-scenario-ussuri
parent: neutron-tempest-plugin-designate-scenario
+ nodeset: openstack-single-node-bionic
override-checkout: stable/ussuri
vars:
branch_override: stable/ussuri
@@ -143,6 +156,7 @@
- job:
name: neutron-tempest-plugin-sfc-ussuri
parent: neutron-tempest-plugin-sfc
+ nodeset: openstack-single-node-bionic
override-checkout: stable/ussuri
vars:
branch_override: stable/ussuri
@@ -151,6 +165,7 @@
- job:
name: neutron-tempest-plugin-bgpvpn-bagpipe-ussuri
parent: neutron-tempest-plugin-bgpvpn-bagpipe
+ nodeset: openstack-single-node-bionic
override-checkout: stable/ussuri
vars:
branch_override: stable/ussuri
@@ -159,6 +174,7 @@
- job:
name: neutron-tempest-plugin-fwaas-ussuri
parent: neutron-tempest-plugin-base
+ nodeset: openstack-single-node-bionic
timeout: 10800
override-checkout: stable/ussuri
required-projects:
@@ -182,6 +198,7 @@
- job:
name: neutron-tempest-plugin-dynamic-routing-ussuri
parent: neutron-tempest-plugin-dynamic-routing
+ nodeset: openstack-single-node-bionic
override-checkout: stable/ussuri
vars:
branch_override: stable/ussuri
@@ -190,6 +207,7 @@
- job:
name: neutron-tempest-plugin-vpnaas-ussuri
parent: neutron-tempest-plugin-vpnaas
+ nodeset: openstack-single-node-bionic
override-checkout: stable/ussuri
vars:
branch_override: stable/ussuri