The correct path should be hashed-container-startup-config-step_4.json
instead of hashed-docker-container-startup-config-step_4.json in
cleanup-dataplane.yml.
When this file was originally commited the path was
hashed-docker-container-startup-config-step_4.json but we have changed
it a few releases ago.
Change-Id: I901eedf64f7bd4281f94c156c33489355ff97aee
Fix string to byte convertion issues that were causing failure on the following tests:
TestMetadataAgent.test_agent_resync_on_non_existing_bridge
TestMetadataAgent.test_metadata_agent_healthcheck
TestMetadataAgent.test_agent_registration_at_chassis_create_event
TestMetadataAgent.test_updating_metadata_doesnt_update_controller_stats
networking_ovn.tests.functional.test_metadata_agent.TestMetadataAgent.test_agent_registration_at_chassis_create_event
---------------------------------------------------------------------------------------------------------------------
Captured traceback:
~~~~~~~~~~~~~~~~~~~
b'Traceback (most recent call last):'
b' File "/opt/stack/networking-ovn/networking_ovn/tests/functional/test_metadata_agent.py", line 75, in setUp'
b' self.agent = self._start_metadata_agent()'
b' File "/opt/stack/networking-ovn/networking_ovn/tests/functional/test_metadata_agent.py", line 98, in _start_metadata_agent'
b' agt.start()'
b' File "/opt/stack/networking-ovn/networking_ovn/agent/metadata/agent.py", line 190, in start'
b' self.sync()'
b' File "/opt/stack/networking-ovn/networking_ovn/agent/metadata/agent.py", line 58, in wrapped'
b' return f(*args, **kwargs)'
b' File "/opt/stack/networking-ovn/networking_ovn/agent/metadata/agent.py", line 241, in sync'
b' unused_namespaces = [ns for ns in system_namespaces if'
b' File "/opt/stack/networking-ovn/networking_ovn/agent/metadata/agent.py", line 242, in <listcomp>'
b' ns.startswith(NS_PREFIX) and'
b'TypeError: startswith first arg must be bytes or a tuple of bytes, not str'
b''
Change-Id: Iaf807ab4bdbb41dc80702283d9689ccdd499fa31
Signed-off-by: Flavio Fernandes <flaviof@redhat.com>
Co-Authored-By: Terry Wilson <twilson@redhat.com>
Closes-Bug: #1843944
In functional test
"test_updating_metadata_doesnt_update_controller_stats", do an active
wait to retrieve the Agent stats until "ChassisMetadataAgentEvent" is
generated and a new stat is added to the global instance "AgentStats".
Change-Id: I6ed2573b71dc91a60d860537512bfcef7a212e17
Closes-Bug: #1841913
We have irregular-files already, enhance them so that some jobs do not
run if we import locale files since those are unused in the test runs.
Change-Id: Iae5b4b402434f3c500f1f757c68fc3ddb4e2d29d
Although notify_nova_on_port_status_changes defaults to true, it
could be set to false, making the nova_notifier attribute unsafe to
use without checking. In fact, networking-ovn functional tests
inherit from the neutron base *unit* test which disables this
option.
This patch checks both the config option and that the attribute
exists, since the config could be changed after the plugin is
already initialized without the nova_notifier attribute being set.
Partial-Bug: 1843269
Change-Id: Ia89283c1f6569340a891b40c92405941cbda5800
This patch is modifying the DevStack scripts to use the new OVN
repository for our jobs targeting the master branch (or >= 2.12, when
it's released).
If the OVN_BRANCH is set to stable branches the code will fallback to
using the "compile_ovs" function like before (since those branches does
not exist in the new OVN repository, only master and >= 2.12 when
released).
Change-Id: I8b99a3481b4460ae32f2258dcf4190db9a8fed89
Signed-off-by: Lucas Alvares Gomes <lucasagomes@gmail.com>
Setting binding profile for Trunk subports takes
time - for 125 subports rally CreateAndListTrunks
scenario [0] takes about 150 seconds. We need to
bump up the perfomance because large number of
subports is widly used in Kuryr deployments.
To achieve that I changed setting the binding
profile to be saved directly to the neutron DB.
Instead calling port_update I update only related
fields in OVN NorthBound DB rows. That gave performance
improvement in trunk port creation:
from 101 sec to 19.7 for 95%ile
from 99 sec to 14.9 for 50%ile
The same thing has been done for Trunk deletion.
[0] https://github.com/openstack/rally-openstack/blob/master/rally_openstack/scenarios/neutron/trunk.py#L37
Closes-Bug: #1834637
Change-Id: I020ba64618b2eb76c627632b0575896e88d1fcf8
Just like jobs that use networking-ovn-base as a parent,
networking-ovn-rally-task artifacts should contain the
databases created by OVN and OVS.
Change-Id: I96fb39e6fd7c885598527e57a3fb299e61367bf6
Co-Authored-By: Daniel Alvarez Sanchez <dalvarez@redhat.com>
Signed-off-by: Flavio Fernandes <flaviof@redhat.com>
There were four code paths doing the same thing, created
a helper to lookup a loadbalancer given a pool id.
Change-Id: I6d4a4b396eaa0d4be2a2c7afeccdb336020a40b3
We have implicit branch matchers, so there's no need to add a check
for not-ocata etc, a job is only run for the branch it's on - like
master now.
Remove it to not confuse Zuul when multiple branches matches and the job
definition is different.
Remove jobs networking-ovn-tripleo-c7-s007-oooq-containers and
tripleo-ci-centos-7-scenario007-multinode-oooq-container, they are not run
on master at all, the jobs are on the branches and defined there.
Change-Id: If6e0b79ee4631ffa3295280c5ad04ad8a4399469
OVN doesn't support members with different IP version
that loadalancer VIP. We should block such operations.
Change-Id: Id193385866cfb5f2490e3e322fc79a1fae81fd72
Closes-Bug: #1843553
While setting the event handler lock in OvnNbIdlForLb
we found that on each Octavia API call exception
was raised that the IDL has not aquired OVNDB lock [0].
It is because when we set the event lock name it is
required to be acquired on each transaction, even on
the one passed by Octavia API, which shouldn't be
blocking one [1].
The second issue was cached NB DB connection within the same
process [2]. We overcome this by using other idl
implementation that utilize modified
networking_ovn.ovsdb.impl_idl_ovn.Backend.
So to address this issue I initialize second IDL that
watches only for events and has the lock name set. First
instance of OvnNbIdlForLb is used only for handling
Octavia API requests. Second has the lock name set and
is cached by OvnProviderHelper class attribute, that makes
the event mechanism work.
While long-living agent driver would be released
the second OvnNbIdlForLb object could be used in OVN agent
driver process in order to handle events there and then
we could stop using second IDL in the OvnProviderHelper.
[0] https://github.com/openstack/ovsdbapp/blob/master/ovsdbapp/backend/ovs_idl/transaction.py#L102
[1] https://github.com/openvswitch/ovs/blob/master/python/ovs/db/idl.py#L445
[2] 68d462d355/ovsdbapp/backend/ovs_idl/__init__.py (L51)
Change-Id: I6534ac7777cf2a1216c65110704c675d5160b051
Story: 2006196
A new configuration option called "ovn_emit_need_to_frag" has been added
and defaults to False. Reason being, it requires a specific kernel
version for it to work (upstream >= 5.2). It's also possible to find out
if OVN supports that operation by running the following command as root:
$ ovs-appctl -t ovs-vswitchd dpif/show-dp-features br-int
(check for "Check pkt length action: Yes").
WARNING: Enabling this option without kernel support will result in a
real performance degradation.
At earlier versions of this patch we thought about having networking-ovn
to discover if this option is supported or not (by issuing that
ovs-appctl command above) but, since networking-ovn doesn't run in the
network nodes we thought that an upper level tool (such as puppet-ovn or
TripleO) could do a better job at checking for it and configuring things
accordingly.
Closes-Bug: #1838405
Change-Id: I089f95b40803a6cd5e01990acacd599ced3bbd91
Signed-off-by: Lucas Alvares Gomes <lucasagomes@gmail.com>
If a host crashes and ovn-controller doesn't clean up the
Port_Binding chassis column, the Logical_Switch_Port is never set
to DOWN, so we do not detect the up->down transition and update the
port status with the driver. This patch watches for Port_Binding
chassis column changes and if the port is up goes ahead and updates
the driver.
Change-Id: I8a5e6ad2e98b79a140977ce003609ed5b21e3499
Closes-Bug: #1840876
While we adjust the jobs to build OVN from the new repo,
this patch is switching jobs that build OVS/OVN from master to
use the recently created branch-2.12.
In addition, make rally non-voting until
[1] is merged, the gate is broken there as well. So since there
are two separate issues breaking the gate, they can't depend on
each other to merge so fix it here. (It appears to be past
working hours for rally-core)
This patch must be reverted when [0] and [1] get merged.
[0] https://review.opendev.org/#/c/673236/
[1] https://review.opendev.org/#/c/681001/
Signed-off-by: Daniel Alvarez <dalvarez@redhat.com>
Change-Id: I63d12861e1ff5d444d116188a2a122eca5c45af0
The patch changes location of where testrun logs are stored. From now
on, each test has its own directory where the testrun logs are placed.
OVN NB and SB database files and ovsdb-server logs of those databases
can be found in the directory as well. The ovsdb-server processes now
run in debug mode by default.
Change-Id: I8ddf255c813c4777f49fcd252a18fbd491280b80
If port ovn_const.OVN_PORT_NAME_EXT_ID_KEY external_id is not
set we should return empty string for processing instead
None.
Change-Id: I815928e1a67e34c3aa577ee081541b67b2c43ddb
Closes-Bug: 1842901
No longer build the OVS kernel modules when installing from
source. This was added when OVS didn't support conntrack,
which hasn't been the case for a while.
Change-Id: I446697c9073a43cdc609bba47357a3bd960ef56d
Added "connectivity" parameter to mech driver "vif_details" description.
The OVN mech driver has "l2" connectivity. That means this is a layer 2
networking back-end.
It supports, for example, ports with MAC address but without an IP
address assigned.
Change-Id: I1b9908b20819abb3ff155bd588b51c9909fabeeb
Related-Bug: #1821058
The previously choosen PDF file name conflicts in some repos with the
project logos (badge). Thus change https://review.opendev.org/679777
renames the desired PDF name to be doc-PROJECT.pdf to allow using the
badge in PDF files.
Follow this rename.
Change-Id: I02f03a091c63abf100f8528a1d631b4565d4cc2d
The badge file after converted to PDF version conflicts
with the filename of the generated PDF doc....
As a workaround, the project badge is only used in HTML doc.
Change-Id: Ic0d9ce1a02e609f50dd250401ed04ccf4da23114
Story: 2006099
Task: 35125
Prior to this patch, the "unknown" address was being set the logical
switch ports solely based on whether the port security was enabled or
disabled. That's not how it's intended to work.
With this patch the "unknown" address is only set to the normal logical
switch ports, those which types are "router", "localnet" or "localport"
won't be affected.
The maintenance task was updated to correct this behavior for existing
ports (the maintenance was suppose to be removed in the T cycle, this
patch bumps it to U cycle instead due to this change).
Closes-Bug: #1838535
Related-Bug: #1815270
Change-Id: I3c01bd7d1685c8a7e13a55e545e98baf19e9a0f9
Signed-off-by: Lucas Alvares Gomes <lucasagomes@gmail.com>
Removed E125 (continuation line does not distinguish itself
from next logical line) from the ignore list and fixed all
the indentation issues. Recently done in neutron tree.
Change-Id: I135f6422700791c45c0d6758873689b37aaec401