67 Commits

Author SHA1 Message Date
Zuul
804cc660e7 Merge "Make explicit the network backend used in the CI jobs" 2021-06-28 18:55:11 +00:00
Rodolfo Alonso Hernandez
d7ca286e6c Make explicit the network backend used in the CI jobs
All Neutron CI jobs (except for unit, functional and fullstack jobs),
have explicitly defined the network backend used:
- linuxbridge
- ovs
- ovn

That was discussed and approved during the Neutron CI meetings [1].

[1]https://meetings.opendev.org/meetings/neutron_ci/2021/neutron_ci.2021-06-15-15.00.log.html

Change-Id: I036924f13b77dd5957ad5e60b9f536562deb9f05
2021-06-25 08:53:04 +00:00
Zuul
3f7b1300df Merge "Add "nova:live_migration_events" flag to subnode in multinode CI job" 2021-06-22 19:03:14 +00:00
Zuul
b14d2c2561 Merge "[OVN] Re-enable dstat for the OVN jobs" 2021-06-15 16:53:47 +00:00
Rodolfo Alonso Hernandez
48af145d95 Add "nova:live_migration_events" flag to subnode in multinode CI job
Added "nova:live_migration_events" flag to subnode neutron.conf file in
"neutron-tempest-multinode-full-py3" CI job. That flag was missing in
the patch implementing this feature [1].

[1]https://review.opendev.org/c/openstack/neutron/+/766277

Change-Id: Idc938a1dc9de3ad77f558df4f4fb4ae5c3de3d21
Related-Bug: #1901707
2021-06-10 12:48:44 +00:00
Oleg Bondarev
730117ddb0 Switch neutron multinode jobs to ML2/OVS
After switch of the default Neutron backend to ML2/OVN
in devstack we need to set ML2/OVS for proper multinode
jobs explicitly.

This patch configures ML2/OVS as a backend in the
'neutron-tempest-slow-py3', 'neutron-tempest-multinode-full-py3',
'neutron-tempest-dvr-ha-multinode-full' jobs.

Change-Id: I4d59a42db3e50cb1cb156a46cac708425f641b25
2021-06-09 12:29:50 +00:00
Slawek Kaplonski
4de350a54a Switch neutron-rally-task job to ML2/OVS and skip "test_models_sync"
After switch of the default Neutron backend to the ML2/OVN
in the Devstack we had 2 rally jobs running actually with the
same Neutron backend.

This patch configures explicitly ML2/OVS as a backend in the
'neutron-rally-task' job so it is like it was before the change in
the Devstack repo.

In order to fix the CI, this patch also skips "test_models_sync" test
cases. Once [1] is fixed and released, we'll be able to create SQL
tables specifying the "_constraints_included" flag. When creating a
table, this flag should be set to "False" in order to be able to set
the "index" and "unique" parameters for each column in the table
definition, as we do now.

"test_update_router_admin_state" is excluded from
"neutron-ovn-tempest-slow" until LP#1890445 is fixed.

Set "test_restart_wsgi_on_sighup_multiple_workers" as unstable.

CI job "neutron-ovn-tempest-slow" has been set to non-voting until
LP#1930402 is fixed.

Related-Bug: #1929518
Related-Bug: #1890445
Related-Bug: #1930402
Related-Bug: #1930367

[1]https://github.com/sqlalchemy/alembic/issues/848

Change-Id: I38ed7931169434fecbbefa3762f51a522ef3c509
2021-06-02 17:19:54 +00:00
Lucas Alvares Gomes
c540f789af [OVN] Re-enable dstat for the OVN jobs
dstat has been replaced with pcp-dstat in DevStack.

Depends-On: https://review.opendev.org/c/openstack/devstack/+/791749
Change-Id: I680e534ecf7eb78e451a9a37959aab09b9091141
Signed-off-by: Lucas Alvares Gomes <lucasagomes@gmail.com>
2021-05-17 13:19:57 +00:00
Zuul
aa28685406 Merge "[OVN] Re-enable test_port_security_macspoofing_port for slow jobs" 2021-05-14 12:47:26 +00:00
Zuul
ba7cda8de3 Merge "[CI] Enable debugging iptables rule in the L3 agent" 2021-04-16 00:51:08 +00:00
Lucas Alvares Gomes
07cf942015 [OVN] Re-enable test_port_security_macspoofing_port for slow jobs
This patch re-enables the test_port_security_macspoofing_port test on
the OVN slow jobs.

Change-Id: I5587992f54abc212e5a4662b0894c5847f784cdb
Signed-off-by: Lucas Alvares Gomes <lucasagomes@gmail.com>
2021-04-08 10:00:59 +01:00
Slawek Kaplonski
ae07a9d9f6 [CI] Enable debugging iptables rule in the L3 agent
It should helps us understand why in some (rare) cases rule to redirect
packets send 169.254.169.254:80 to port 9697 isn't installed in the
qrouter namespace.

Change-Id: I644ea3d6767db36bfe7f4122ec2c2afe9888dd07
Related-Bug: #1920778
2021-03-24 10:59:58 +01:00
Lucas Alvares Gomes
2478dab841 [OVN] Set OVN_BUILD_FROM_SOURCE=True for ovs-master jobs
The OVN_BUILD_FROM_SOURCE was introduced by a patch in DevStack [0]
which allows for stacking OVN using packages instead of compiling it
from source (by default that flag is False). Now the jobs compiling OVN
(master ones) should include this flag.

Also since the logs are on different paths depending on how OVN is
installed, we are telling zuul to collect it properly for the compiled
version (this inconsistency is something that perhaps we should fix in
DevStack itself).

[0] https://review.opendev.org/c/openstack/devstack/+/763402

Change-Id: I46654762921aeec7603800005681239cdf202632
Signed-off-by: Lucas Alvares Gomes <lucasagomes@gmail.com>
2021-03-22 14:05:07 +00:00
Luigi Toscano
2bb4f5defd jobs: remove devstack-gate references
Not needed by native Zuul v3 jobs.

Change-Id: Ia1e7d35f0c81cc5df792f4227d8e091080af65f1
2021-03-08 11:56:42 +01:00
Jakub Libosvar
929a6a7007 ovn: Collect OVN logs
OVN logs have moved from /var/log/openvswitch that is collected by the
base job to /var/log/ovn

Co-Authored-By: Lucas Alvares Gomes <lucasagomes@gmail.com>

Change-Id: I1e9fe661f55e99ca509dfbc3c1334b358ddb7212
2021-02-25 11:31:39 +00:00
Slawek Kaplonski
adb3e943b1 Limit execution of the neutron CI jobs on some irrelevant file
This patch tries to make execution of the CI jobs in the Neutron
queue to be more smart. There is no need to e.g. run
linuxbridge scenario jobs job when only changed files in patch
are in e.g. the openvswitch agent module, or vice versa.

Change-Id: Ie33514da28991fa5952a1d8c289402ecb9ffee49
2021-02-22 09:43:21 +01:00
Zuul
fa5725f06c Merge "Make neutron-tempest-dvr-ha-multinode-full to be 2 nodes job" 2021-02-19 12:34:08 +00:00
Ghanshyam Mann
e22cc6e8cc Switch to new rolevar for run-temepst role
Tempest replaced the below rolevar for run-tempest role
- tempest_test_blacklist is replaced by tempest_test_exclude_list
- tempest_black_regex is replaced by tempest_exclude_regex

old name are still supported for compatiblity but we recommend
to switch to new one.

Depends-On: https://review.opendev.org/c/openstack/tempest/+/774835
Change-Id: I609c1714a4f630207562a4725456d3d7f87d698e
2021-02-17 08:38:47 +00:00
Slawek Kaplonski
1772e9543e Make neutron-tempest-dvr-ha-multinode-full to be 2 nodes job
It was run on 3 nodes but I think there is no real need for that.
Running that on 2 nodes should be enough.

Change-Id: I12406c1f654ba9ad8eb60ffc965293ecbd5b7be5
2021-02-04 12:21:03 +01:00
Zuul
4184bae651 Merge "Switch tempest jobs to neutron specific ones" 2021-01-20 23:34:58 +00:00
Zuul
57d406c6dc Merge "Add resource_provider_bandwidths for computes" 2021-01-19 11:49:21 +00:00
elajkat
7826661d65 Add resource_provider_bandwidths for computes
neutron-tempest-dvr-ha-multinode-full job's computes seems to lack
resource_provider_bandwidths values set, let's see if it solves the
issuse with test_migrate_with_qos_min_bw_allocation and
test_resize_with_qos_min_bw_allocation.

Change-Id: Ie02f9d40716af1b3b4efc3e9340acab7f9af113e
2021-01-18 13:09:06 +01:00
Slawek Kaplonski
d1ab4e26ea Switch tempest jobs to neutron specific ones
In neutron CI queues we were running tempest-slow-py3 and
tempest-ipv6-only jobs which are defined in tempest repository and runs
all tests, e.g related to Swift or Cinder.
This patch defines new jobs: "neutron-tempest-slow-py3" and
"neutron-tempest-ipv6-only" which inherits from the tempest jobs but
disables Cinder and Swift services.
Additionally "neutron-tempest-ipv6-only" job now runs only
"integrated-networking" tox_envlist.

Change-Id: Icd376c144e1993ca84890c76743fda4196662d9b
2021-01-13 15:46:32 +01:00
Rodolfo Alonso Hernandez
f8a22c7d4a [OVS] Fix live-migration connection disruption
The goal of this patch is to avoid the connection disruption during
the live-migration using OVS. Since [1], when a port is migrated,
both the source and the destination hosts are added to the profile
binding information. Initially, the source host binding is activated
and the destination is deactivated.

When the port is created in the destination host (created by Nova),
the port was not configured because the binding was not activated.
The binding (that means, all the OpenFlow rules) was done when Nova
sent the port activation. That happend when the VM was already
running in the destination host. If the OVS agent was loaded, the
port was bound seconds later to the port activation.

Instead, this patch enables the OpenFlow rule creation in the
destination host when the port is created.

Another problem are the "neutron-vif-plugged" events sent by Neutron
to Nova to inform about the port binding. Nova is expecting one single
event informing about the destination port binding. At this moment,
Nova considers the port is bound and ready to transmit data.

Several triggers were firing expectedly this event:
- When the port binding was updated, the port is set to down and then
  up again, forcing this event.
- When the port binding was updated, first the binding is deleted and
  then updated with the new information. That triggers in the source
  host to set the port down and the up again, sending the event.

This patch removes those events, sending the "neutron-vif-plugged"
event only when the port is bound to the destination host (and as
commented before, this is happening now regardless of the binding
activation status).

This feature depends on [2]. If this Nova patch is not in place, Nova
will never plug the port in the destination host and Neutron won't be
able to send the vif-plugged event to Nova to finish the
live-migration process.

Because from Neutron cannot query Nova to know if this patch is in
place, a new temporary configuration option has been created to enable
this feature. The default value will be "False"; that means Neutron
will behave as before.

[1]https://bugs.launchpad.net/neutron/+bug/1580880
[2]https://review.opendev.org/c/openstack/nova/+/767368

Closes-Bug: #1901707

Change-Id: Iee323943ac66e566e5a5e92de1861832e86fc7fc
2021-01-13 11:13:41 +00:00
Slawek Kaplonski
747ac57524 Disable not used services in the tempest and rally jobs
We don't need to run Swift, Cinder and etcd services in the
Neutron jobs so this patch disables those services on all
such jobs defined in the Neutron repository.
It will skip some tests which aren't really related to Neutron
and will safe some resources on test nodes.

This patch also enables br-ex-tcpdump and br-int-flows services
in the jobs where it was missing.
It may be useful during debugging some failures of those jobs
in the future.

Depends-On: https://review.opendev.org/762622

Change-Id: I0db516b184cf621e4539d11726fe1bd47b53ba05
2020-11-19 22:03:39 +00:00
Slawek Kaplonski
9d38c06980 Disable dstat service temporary in ovn scenario jobs
Multinode OVN jobs are failing very often due to bug [1] so
lets disable dstat service in those jobs for now as workaround
of the problem.

[1] https://bugs.launchpad.net/ubuntu/+source/dstat/+bug/1866619

Change-Id: Id9bb16d9e3e649e1538bc33bd1b7e8eab7e74048
Closes-Bug: #1898863
2020-10-14 15:16:30 +02:00
Zuul
8a773dea40 Merge "Use the 'all' tox env instead of 'all-plugin'" 2020-10-11 15:27:49 +00:00
Slawek Kaplonski
a8ceb09f98 Use ebtables-legacy also in ovn multinode jobs
For other jobs which inherits from neutron-tempest-base it
was changed some time ago.
But ovn multinode jobs don't inherits from that base job
so this patch fixes it for those jobs as well by adding same
configure_ebtables.yaml playbook to pre-run in the
neutron-ovn-multinode-base job.

Change-Id: Icb4fd80133ee10ad6c40e160013b4ab91d2c5a6b
Closes-Bug: #1898211
2020-10-02 17:10:00 +02:00
Lukas Piwowarski
7da5854f72 Use the 'all' tox env instead of 'all-plugin'
As the 'all-plugin' tox env is deprecated it is recommended to use
'all' tox env instead.

[1] https://review.opendev.org/#/c/543974/

Change-Id: Iceccc81ca7c888c1035fd64dc07b9a922e05869f
Related-Bug: #1862240
2020-10-01 09:30:25 +02:00
Bernard Cafarelli
e77f631257 Migrate tempest jobs to Focal
Update nodetype for neutron-tempest-dvr-ha-multinode-full job
Stop compiling OVS modules in OVN jobs

Etherpad tracker:
https://etherpad.opendev.org/p/neutron-victoria-switch_to_focal

Depends-On: https://review.opendev.org/734700/
Depends-On: https://review.opendev.org/748367/

Change-Id: I18498ad7f8e4e4dc6d91a98bd917798420e57aeb
Story: #2007865
Task: #40199
2020-09-28 11:39:54 +00:00
Zuul
a453b61c76 Merge "ovn: Enable DVR for multinode jobs" 2020-09-18 15:18:37 +00:00
Lucas Alvares Gomes
2a12737d18 [OVN] Zuul: Copy OVSDB logs and DBs
Prior to this patch the OVSDB NB/SB logs and databases weren't been
uploaded as part of the job's run. These files are important for
troubleshooting gate problems.

Change-Id: Ie2c9596d8b24e0e433a1ac0d27115369fc4cf8ef
Signed-off-by: Lucas Alvares Gomes <lucasagomes@gmail.com>
2020-09-16 12:07:35 +01:00
Zuul
e53df06675 Merge "[OVN] Use the OVN DevStack module" 2020-09-02 21:43:03 +00:00
Lucas Alvares Gomes
68ec29abf0 [OVN] Use the OVN DevStack module
The DevStack module for OVN has now been moved to the DevStack repository,
this patch is deletes it from the Neutron repository.

Depends-On: https://review.opendev.org/#/c/748140/
Change-Id: I2c30b8130525380234d767a7cb46f9bcca2a0d6b
Signed-off-by: Lucas Alvares Gomes <lucasagomes@gmail.com>
2020-08-26 10:09:28 +01:00
Brian Haley
055036ba2b Improve terminology in the Neutron tree
There is no real reason we should be using some of the
terms we do, they're outdated, and we're behind other
open-source projects in this respect. Let's switch to
using more inclusive terms in all possible places.

Change-Id: I99913107e803384b34cbd5ca588451b1cf64d594
2020-08-19 16:47:53 -04:00
Flavio Fernandes
d74f409c82 [ovn]: port forwarding -- core changes
This is a subset of the changes for implementing the floating IP
port forwarding feature in neutron, using OVN as the backend.

This changeset covers the core implementation for portforwarding/drivers/ovn,
mech_driver, ovn-router as well as a subset of tests.

Port forwarding support in ovn_db_sync is not included here to facilitate review.
That, as well as all other supporting changes, are under the ovn/port_forwarding topic:
https://review.opendev.org/#/q/topic:ovn/port_forwarding+(status:open+OR+status:merged)

Depends-On: https://review.opendev.org/#/c/726478/
Partially-implements: ovn/port_forwarding
Partial-Bug: #1877447

Change-Id: I019fe11ac1ddcf2304f3f144c62d52667fc11dce
2020-08-11 14:54:05 -04:00
Slawek Kaplonski
63322d12e4 Add "neutron" devstack plugin to all tempest jobs
This plugin can enable specific neutron plugins, like e.g. QoS so
it should be enabled in all jobs which inherits from the
tempest-integrated-networking job.

Change-Id: I2655130df1210f7f175b79aec2bade28c0e1e977
2020-08-03 09:45:58 +02:00
Maciej Józefczyk
9df1ca82c5 [OVN] Add segments to ML2_SUPPORTED_API_EXTENSIONS
We recently added segmented network features to OVN,
that means we could add this extension here to the list.

Change-Id: Iab1fa9d810b3cc2e0384144cf33fc6732d55bec1
2020-07-22 07:15:29 +00:00
Zuul
d28654a0c7 Merge "Remove tempest-integrated-networking job from neutron queue" 2020-07-14 15:27:03 +00:00
Zuul
69cac6c640 Merge "Stop disabling peakmem_tracker" 2020-07-10 14:18:47 +00:00
Zuul
4c9c4f7753 Merge "Update cirros image to cirros-0.5.1-x86_64 globally" 2020-07-09 13:30:07 +00:00
Jens Harbott
57f89ae777 Stop disabling peakmem_tracker
Devstack no longer has the peakmem_tracker service, so no need to keep
disabling it.

Change-Id: I3e3c9bd36dd18e65fb238c325d015b30436b56f5
2020-07-09 12:14:27 +02:00
Slawek Kaplonski
34b6833caa Remove tempest-integrated-networking job from neutron queue
As we agreed during virtual PTG we want to change
tempest-multinode-full-py3 that it will run only integrated-networking
tests. And then promote it to be voting and gating job.

This new multinode job can replace singlenode tempest-integrated-networking
job so this patch removes this one from the queues too.

Change-Id: Ic61b636625824bbd6b7624a057db308a484ee463
2020-07-08 16:03:43 +02:00
Maciej Józefczyk
db6ebd22e1 Update cirros image to cirros-0.5.1-x86_64 globally
New cirros with recent fixes for metadata service
has been released. Lets update the image version on gate.

Also stop using different images for OVN. Lets use default
settings from devstack.

First we need to merge [2].

[1] e40bcd2964
[2] https://review.opendev.org/#/c/711492/

Change-Id: Idc614f9f25188bd1a1e1d5424274acf04ba99328
2020-07-07 22:06:39 +00:00
Maciej Jozefczyk
fb2806f808 [OVN] Unify OVN/OVS compilation
There were duplicated methods doing almost the same in terms
of OVS/OVN compilation.

This change:
 * move of OVS related compilation code to devstack/lib/ovs
 * delete of OVS related compilation code from devstack/lib/ovn_agent
 * source unified functions in devstack/lib/ovn_agent from
   devstack/lib/ovs
 * Unify NEUTRON_PATH variable to NEUTRON_DIR

Closes-Bug: #1877377

Change-Id: Ia012a8e116a276a6674f86366c803e0e2d8ff704
2020-07-07 22:05:59 +00:00
Zuul
22b1e2ae4d Merge "Stop installing Octavia in OVN jobs" 2020-06-24 14:50:55 +00:00
Maciej Józefczyk
b64d934964 Stop installing Octavia in OVN jobs
We have separate project now - OVN Octavia provider - and its gate
is responsible for testing OVN integration with Octavia.

Change-Id: I317b7ad54a2f5c5c99bf0bff9eba4d91a1a86491
2020-06-22 13:44:38 +00:00
Slawek Kaplonski
0f4db58773 Enable bridge debugging services on the tempest and grenade jobs
This patch moves functions to enable br-ex-tcpdump and br-int-flows
services from the ovn devstack plugin to the main neutron devstack
plugin and enables it on all tempest and grenade jobs which are using
neutron-openvswitch-agent as a L2 backend.

Change-Id: Idfea869c08811914124d076da18cec17a12eee49
2020-06-21 10:47:24 +00:00
Maciej Józefczyk
a32464464d [OVN] Blacklist test_port_security_macspoofing_port test
The test_port_security_macspoofing_port should be blacklisted
back, because of the change [1] that switched OVN_BRANCH/OVS_BRANCH
configuration to the latest stable releases and the
fix [2] that solved [3] is not yet present in latest release.

In addition. We will have discussion during next PTG around if we
should/could run only jobs with OVN release or we can enable also
master jobs. Then we need to explicitely define from which branch
given job runs to prevent such situations like this one in future.

[1] https://review.opendev.org/#/c/726168/
[2] https://patchwork.ozlabs.org/project/openvswitch/patch/20200319122641.473776-1-numans@ovn.org/
[3] https://bugs.launchpad.net/tempest/+bug/1728886

Related-Bug: #1728886

Change-Id: Ic8952e9ffb031ff4becb6ee2f6f5325a55e19dfe
2020-05-28 10:47:35 +00:00
Jakub Libosvar
8ddf794b8d ovn: Enable DVR for multinode jobs
DVR is disabled by default in Neutron. It makes sense to enable it for
the multinode jobs.

Change-Id: Id5d645970e934e31defdf434d0d0ef18671a2901
2020-05-21 13:55:57 +02:00