In case when L3 agent is hosting routers which have got subnets
with Prefix Delegation enabled, agent couldn't properly handle
IpAddressAlreadyExists exception raised when pd module tries to
configure link local IPv6 addresses.
Now this is fixed and L3 agent can restart without problems in such
case.
Change-Id: Icc995f7b2b465921e41342711d17539f16ead0ce
Closes-Bug: #1892362
As seen in Ubuntu Focal test patches like [1], lower-constraints fails
on greenlet compilation. 0.4.13 added python 3.7 support with additional
fixes coming in .14 so bumping to this version.
[1] https://review.opendev.org/#/c/734304/
Change-Id: I0739458ac31307d651376a33a835336285d2c7dd
This is a subset of the changes for implementing the floating IP
port forwarding feature in neutron, using OVN as the backend.
This changeset updates ovn_db_sync utility and its tests to
ensure that floating ip port forwarding can be repaired.
Depends-On: https://review.opendev.org/#/c/741303/
Change-Id: I7a158173252e73e081914f242133634c41de7999
Partially-implements: ovn/port_forwarding
Partial-Bug: #1877447
This change updates sample OVN local.conf file in order
to enable neutron-segments service.
Related-Bug: #1871608
Closes-Bug: #1891243
Change-Id: Iac6227093b0e851716a76e38145508d6724c650a
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
There's a fix in pecan 1.4 to handle accept headers that have
extra parameters included.
Closes-Bug: #1829042
Change-Id: Id7d78d77da8dfd1620936e437d862c1d60e8eb25
This patch adds the verification of whether admin context when
verifying the valid security groups of port.
Change-Id: I2674bdc448d9a091b9fe8c68f0866fd19141c6be
Closes-Bug: #1890539
This is a follow up for https://review.opendev.org/#/c/738145/
During backporting review, it became clear that unit test had a
flaw. It assumed that order of items in dictionary that make up
the exception message did not change. That is not true, based
on the python version used.
This follow up also includes a review feedback that did not make
into the original change: rename function that raises exception
to have "raise" in its name (raise_port_forwarding_update_failed).
Change-Id: I6fcd64e205e584017e6c9022f82a5497ea1cc576
Closes-Bug: #1878299
As spotted in Focal testing patch [0], pep8 test fails with many
C0321 false-positives, reported in pylint as current version does not
support python 3.8 [1]
Use a newer version of pylint and astroid, fixing or disabling some of
the new checks: no-else-*, unnecessary-comprehension, import-outside-toplevel
[0] https://review.opendev.org/#/c/738163/
[1] https://github.com/PyCQA/pylint/issues/2737
Change-Id: Ie646b7093aa8634fd950c136a0eba9adcf56591c
This patch is a workaround for bug in OVS [1]. The OVS is restarted
after setting protocols for the integration bridge. This will cause
a data plane disruption. We can remove the workaround once
the bug [1] is fixed.
Closes-bug: #1890596
[1] https://bugzilla.redhat.com/show_bug.cgi?id=1782834
Change-Id: Ia635f705fa03036a9e9c1c14eab59038ec39bda3
Signed-off-by: Jakub Libosvar <libosvar@redhat.com>
Since [1], pyroute2 0.5.13 is supported.
In this new version, "link_lookup" do not raise a NetlinkError
exception if the device does not exist; instead returns an empty
list.
This patch handles both implementations.
[1]https://review.opendev.org/#/c/743277/
Change-Id: I77ef374ecb776966ea13499755777e2d763d884b
Closes-Bug: #1890353
On Ubuntu 20.04 there is by default ebtables-nft used. The problem with
that is that nftables don't supports syntax for source and destination
ipv4 address in arp tables right now.
So to workaround/fix this problem at least in our gate jobs we have to
switch to ebtables-legacy for now.
And that's exactly what this patch is doing.
Change-Id: I0aca119f1feca1d8f31a0104dde40d5d52c1b25c
Closes-Bug: #1889779
This new version contains [1]. The aim of this patch is to remove
any eventlet patch in the root daemon, trying to avoid the recurrent
evenlet timeout we detect in the CI jobs (mainly functional and
fullstack ones).
[1]https://review.opendev.org/#/c/740970/
Change-Id: Ide2081e8de032752c3aae940ed7d2a8380dd4b3d
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
This patch adds the support to allow role based access control
on quota of resources.
Change-Id: I6544d4a0794944abb3e1c2ff89134bf313cf35e8
Closes-Bug: #1671448
In case when such subnet is added directly to the router, there was
validation and subnet which is expected to get RA messages from the
external router couldn't be added to the Neutron router.
But in case when port was first created manually and then plugged to the
router, there wasn't such validation. This patch fixes it by adding same
validation to adding router interface by port.
Change-Id: I054296c790b697198550acbeae29546758b422c2
Closes-Bug: #1889619
This is a subset of the changes for implementing the floating IP
port forwarding feature in neutron, using OVN as the backend.
This changeset introduces functional tests for the IDL functions
added to the NB API for supporting port forwarding.
Depends-On: https://review.opendev.org/#/c/741000/
Change-Id: I01f54ea4a21eb635f0bf87a15694929ed1f3a643
Partially-implements: ovn/port_forwarding
Partial-Bug: #1877447
Since [1], it's possible to specify the shared library to be used
when creating a Pyroute2 namespace context.
As commented in [2], "privsep" library makes use of eventlet to
implement multitasking. If the method executed returns the GIL,
nothing guarantees that the "eventlet" executor will return it
again to this task. This could lead to timeouts during the
execution of those methods.
From https://docs.python.org/3.6/library/ctypes.html#ctypes.PyDLL:
"Instances of this class behave like CDLL instances, except that
the Python GIL is not released during the function call, and
after the function execution the Python error flag is checked."
[1]https://github.com/svinota/pyroute2/issues/702
[2]https://review.opendev.org/#/c/717017/
Change-Id: I6c9f9adba8b4433cc96704bb69dd4e0d4b154ebd
Related-Bug: #1870352
In the functional tests module which is testing WSGI Server, there
is used function to assert that file created by the WSGI service is
created and has got correct size.
This function wasn't logging anything so in case of test failure
there was no way to check why it really failed.
This patch adds some log messages to the check so it will be clear
if file wasn't created at all or if size was not as expected.
Change-Id: Ib610b8513b4ea888a540873b26c3f205ac575b17
Related-Bug: #1886956