Use cors.set_defaults instead.
The deprecation warning was:
neutron/pecan_wsgi/app.py:101: DeprecationWarning: Method
'instancemethod.set_latent()' has moved to
'instancemethod.set_defaults()': CORS.set_latent has been deprecated
in favor of oslo_middleware.cors.set_defaults
Change-Id: I925c2d15cec2bf9c818bedc533c981ec185502f4
In OVS version 2.5.1 there are several bug fixes to issues that Neutron
encounters. This fix allows devstack to install a newer version of OVS,
by default version 2.5.1.
Specifically, for bug 1640283, we need the following commit from OVS:
8c0b419a0b9ac0141d6973dcc80306dfc6a83d31 ofproto/trace: Fix "unchanged"
output for Final flow
The version is overridable by NEUTRON_OVERRIDE_OVS_BRANCH variable.
Change-Id: Icc9d9811e6fc1935966241ed499c5e597a675877
Related-Bug: 1602567
Closes-Bug: 1640283
This refactors the DB base plugin update_subnet method into
precommit and postcommit methods so a core plugin can avoid
executing the postcommit methods while it has an open
transaction. Backwards compatibility is preserved for plugins
which do not need this.
This is important because the update_subnet method in the
base plugin performs operations that shouldn't be inside
of an uncommited transaction, such as updating ports,
generating AMQP notifications, and generating AFTER_UPDATE
callback events. Until this patch, ML2 was performing the
entire base plugin update_subnet operation in a transaction.
This is also necessary for the facade and push-notification
switch because ongoing db sessions will not be used for
core methods and notification generation.
Related-Bug: #1540844
Partially-Implements: blueprint push-notifications
Partially-Implements: blueprint enginefacade-switch
Change-Id: Ib825a9e0c0c6693a4e708ae6ce362775c70d843d
The code parsing the output of ip route assumes that the output is the
destination network, and then key/value pairs. This is not necessarily
the case, as the output may contain flags.
This change modifies the parsing of ip route's output to look
specifically for the keys of interest, and read their values
exclusively.
Change-Id: I34b6c0afb05550c970b1cacda8ec472294215403
Closes-Bug: 1640008
Adds an HA test case using the linux bridge interface and
a test to recreate the router to ensure all cleanup was
done appropriately on teardown.
Related-Bug: #1629159
Change-Id: I80b70b848ea64d5f996055edc4bfb0ec1f4ae548
Deleting router namespaces happens before deleting router ha interface.
So it will fail when deleting router ha interface. The change
is to remove router ha interface before deleting router namespace.
Change-Id: I3d936701c9dac7671f12e1966449662988a0f26a
Closes-Bug: #1629159
Related-Bug: #1488730
This adds a basic rally scenario to create a trunk
with a bunch of subports so we can keep an eye on the
performance of the trunk API.
Change-Id: I12aaf6121b677e9696131601b3539a7091e2858c
Use reader and writer for db operations with servicetype.
Partially-Implements blueprint: enginefacade-switch
Change-Id: I7cf29890d4d498c241a7c6e99edfbfc258b8cb60
Connecting any network to a router causes l3-agent to send out
gratuitous ARP packets that do not require a response. On Ubuntu 14.04
sometimes this command returns 1, which causes it to falsely report
arping command failure. This is now added to the extra OK codes.
Change-Id: I6299e936d4e4e7fd7497d23224e7abf605a99c15
Closes-bug: #1578842
We rely on keepalived to send gratuitous ARPs when floating IP is added.
Older versions of keepalived up to 1.2.20 (exclusive) contain bug [1] where
keepalived does not send GARP on receiving SIGHUP. Unfortunately, newer
versions containing the fix are not packaged yet for some distributions
like RHEL or CentOS or Ubuntu Xenial, so this patch adds a workaround for
such distributions until new packages are available.
The patch also sets net.ipv4.ip_nonlocal_bind kernel parameter to 0 for
Snat and HA router namespaces in order to avoid sending gratuitous ARPs
for IP addresses that are not bound to the interface anymore - possibly
because of failover or removal. Note that kernel < 3.19 contain a bug
where this knob is missing. In case it attempts to set the parameter and
it's missing on the system, it doesn't set the knob in root
namespace like it's done for fip namespaces, but only issues a warning
message.
[1] https://bugzilla.redhat.com/show_bug.cgi?id=1391553
Change-Id: Ieab53624dc34dc687a0e8eebd84778f7fc95dd77
Closes-bug: 1639315
OVO object create() raises exception NeutronDbObjectDuplicateEntry
on seeing duplicate entries which should be handled by retrying the
transaction.
Partially-Implements: blueprint adopt-oslo-versioned-objects-for-db
Closes-Bug: #1627811
Change-Id: I2b311326c2caa7500aa9318d0b5bf753cf0eb543