When a live migration happens, another flow is happening,
so we need to take this into consideration.
Change-Id: Ib27bbc95a0853f32354f743dcec2bdb4bb797097
Closes-Bug: #2082085
(cherry picked from commit 59ad44aca5fac502010914c547f40e7b0f201c29)
The methods are moved to a function to ports utility module as the
methods were not reading or modifying the instance state.
Change-Id: Iae9d1d1f2f5d5bab38c290a5d6e8f5cf8136e108
Signed-off-by: Jakub Libosvar <libosvar@redhat.com>
(cherry picked from commit d142f397027ad602145f9173d3a219958a9f7512)
The methods that do not modify object state or don't read from the state
are moved out to utils module so they can be re-used elsewhere too.
Change-Id: I4169ae38552b96092f6eae43e082bd6313d730a4
Signed-off-by: Jakub Libosvar <libosvar@redhat.com>
(cherry picked from commit fed8d0376d90c2db980b71afa3558491da0bb3c7)
The method was tied to an event instance but didn't actually
modify the state of the instance. It was replaced with a helper
function.
Change-Id: I25b6ba95f0fd2731737d014eae54d3d7e27a5513
Signed-off-by: Jakub Libosvar <libosvar@redhat.com>
(cherry picked from commit 7ce42598b4920f553625d0bfa2f11ebf5c34b736)
The method was tied to an instance of some events but didn't actually
modify state of the instance. It was replaced with a generic helper
function.
Change-Id: I0d24ead8e44cde1df62df77408801cbbc758c4a6
Signed-off-by: Jakub Libosvar <libosvar@redhat.com>
(cherry picked from commit acb53b40099b3a1c3d730ebbd898b0febe52070d)
The code was a copy and paste from the bgp_watcher
Change-Id: I054a13303b39567b5136497c8c1f1f8d9b848490
(cherry picked from commit 41ea5a37a59fb9ece9050e86e1f143826aa68b52)
The method should be a helper function as it does not modify any state
of the Event instance.
Change-Id: Id744b40d3203fa864bbdf6c541ca7c311c16f9ce
Signed-off-by: Jakub Libosvar <libosvar@redhat.com>
(cherry picked from commit eaa906e2e534f03ae9219d99aaa7a3876a9279fa)
It is not used anywhere
Change-Id: Iaf2fabe5ba4908c44cef5d10a60fa78de1f4f7fa
Signed-off-by: Jakub Libosvar <libosvar@redhat.com>
(cherry picked from commit 8ce98073725d534099329870b0535e92d218793f)
The function returned a tuple but the second returned object was always
ignored. The patch also deletes redunant unittest.
TrivialFix
Change-Id: I85b3b9a58c8d07aa6bbce240d22cceccbb8a7588
(cherry picked from commit c5eaef9c55073f5ff12b348f4b0b375bcd83590e)
Type List was wrongly used. Type Str should be used instead.
Closes-Bug: #2088057
Change-Id: I26e04725ce419f87b8cde78567e88fe479cee1ae
(cherry picked from commit 4f8fe6adbfca242c5d4ef7d4d66b9240785f945e)
When ovs commands fail, we re-try after adding `-O OpenFlow13`, but that
is only valid for `ovs-ofctl`.
To fix this issue, this patch implements a small refactor of the module
in order to separete calls to ovs-ofctl and ovs-vsctl.
Related-Bug: #2080258
Change-Id: Ib8ee872d4bd587ade325bc4f6da3e9d8804c28c0
(cherry picked from commit 7e348daca0b2108795c42a0b0e2faff8bd38e317)
ovn-controller can be configured with a system-id override file or
-n option to use any suffix for OVSDB options. Currently ovn-bgp-agent
just uses a constant "bgp" for this and there is no way to change it.
48db2a7a35
Let's allow this suffix to be set via a config option instead.
Change-Id: Ida30b46e16ddcdc2d82af980546876f72a845c1d
(cherry picked from commit e3cb1b4a472e0c2743690af62768a96a1c2b8c00)
(if called by the same worker..)
Change-Id: I3d0a354d999f7a69b7ae5ceaf9ab2f3d59739132
(cherry picked from commit c0459dc8c6607b8f1cb742a6fad23738bc8c5118)
There wire provider port function had two definitions for the same
parameter (mac and lladdr). This patch is merging them and ensuring
it gets used on the NB DB Driver so that the PERMANENT ip nei entries
get added for the router gateway ports (cr-lrp)
Closes-Bug: #2068699
Change-Id: I9649cd185b100c9941887e3440bad8d39881f92c
(cherry picked from commit a4e307e6f53794532284f02c91c0ff7a96fb242f)
In the case of the subnet advertisement method, we do not
announce the route to the tenant subnet via BGP. While the routes
in br-ex are good, they do not fully expose the subnet.
This change exposes the router interface that connects the
tenant subnet.
Closes-Bug: 2068730
Change-Id: Id7dd902e5e2010ba41052cc9316db8518349c755
(cherry picked from commit bc1dc8ec9ea2438fe89ad0d9535dfddd05c463d9)
Even if expose_tenant_networks is not enabled, cr-lrp IPs must
be exposed
Closes-Bug: #2068028
Change-Id: Ibcffbad5204bfbc1a42c157755ac9ae9d7b67766
(cherry picked from commit d24d6fbf9fbd8dab260fd6c720d42edd052f76a9)
Creates VRF/VXLAN per VNI, exposed through FRR with kernel routes
Vlan interfaces are added to the appropriate VNI, configured per bgpvpn
config options on the logical switch.
Related-bug: #2051105
Change-Id: I097c4629922d787827aba7761164f4004ed1305a
(cherry picked from commit b3ca890f471fc2694342edc1f22670913cece934)
There was a bad comparison of datapath types, we compared router
datapath is equal to loadbalancer datapaths instead of if it is included
there.
Closes-bug: #2064922
Change-Id: I4f92d75f512ca906ad884e9da21ee7048b1dc5d6
Signed-off-by: Jakub Libosvar <libosvar@redhat.com>
When options.requested-chassis is not in sync with
external_ids.neutron:host_id it would pick both hosts, causing duplicate
announcements from more than 1 host.
This has been fixed in change 910305, but was left unchanged for the
sync method, causing issues when the sync interval was re-evaluating all
lsp's on the node.
The code for determining the chassis of a port has been moved from the
base_watcher to driver_utils so the logic for the event is the same as the
logic when fetching the records from the northbound database.
Related-bug: #2049902
Change-Id: I545d6b41fd308eb56e5295657260718dc14868f7
(cherry picked from commit 1bacff1dff825d267c390752fa21592c2e6f6588)
Update the URL to the upper-constraints file to point to the redirect
rule on releases.openstack.org so that anyone working on this branch
will switch to the correct upper-constraints list automatically when
the requirements repository branches.
Until the requirements repository has as stable/2024.1 branch, tests will
continue to use the upper-constraints list on master.
Change-Id: I481fc4bce82210822f63a3f80732facccf2a7fb6
Added check in LSP events to see if the event would belong to a network
that is exposed remotely (e.g. tenant networks behind router)
Change-Id: Idcc7880fc877f0a876c65bb1877ec4f89c2af5aa
Besides changing the default driver to the NB driver, it also
adapt to the new section for the ovn configurations
Change-Id: I9a2d0bc9b80fdf0c9e92d06103c03dcf5b018f49
When deleting an OVN LB with an attached FIP, the FIP is not
withdrawn from the BGP interface where it was exposed.
This patch corrects the behavior in accordance with the events
received from the OVN NB DB, taking as main source the vips
field provided in events to detect if added/removed entries.
Closes-Bug: #2049535
Change-Id: If0bca4a39a857364582804b64140f9a36bfc422a
If SNAT on the router is enabled, then the subnet is reachable
from the outside, but all new sessions created from within the subnet
will be SNAT-ed. So those sessions will use the external IP of the router.
For example whitelisting specific tenant ips would not be possible.
With SNAT disabled, the neutron router will act as a normal gateway, and
sessions created from within a tenant vm will be sent from the real ip.
Closes-Bug: #2052292
Change-Id: Ib97065fb2fcca069195278fea804256370d21816
Since the requested-chassis superseeds the placement in external_ids
(which is managed by neutron), we should preferable use that instead of the
value set by neutron (which _could_ lag or be wrong in specific scenario's)
Also update logic for FIP handling to make migrations more efficient.
Closes-Bug: #2049902
Change-Id: I7f73a1ba7956f22e58fdde383775e88bf72cba14
This also requires to use redist kernel in FRR, so there is a change
here which allows to define the default redistribute options in the FRR
template.
Since now this method is now available, the separate KERNEL_LEAK template
can be removed, as the only difference was the redist kernel, instead of
redist connected.
Related-Bug: #2017886
Change-Id: I570d8c482f3d17d63d66699e402c84dc61787638